Hi,
I think I found a way to do what i want but I identify some issue (probably due
to my ugly code)
- my button SaveAndStuff launch this JS
$('#inline').attr('action','/bin/save/FormSMQ/MyCurrentPage');
// I save my CurrentPage
$('#inline').submit();
// I reopen my CurrentPage in view mode with param to launch my velocity
script
window.location =
"https://xxxxxxxxxx/bin/view/FormSMQ/MyCurrentPage?docName=LauchNextProcess";
//Open MyCurrentPage with parameters
In FormSMQ/MyCurrentPage I have this velocity script:
#if("$!request.docName"=='LauchNextProcess'')
## I add a value in a field (list) of MyClass object of currenpage
#set($MyListActions=$MonObj.getValue($ListActionsField))
#set($Discard=$MyListActions.add("$!MonPrefX${docName}"))
#set ($discard=$MonObj.set($ListActionsField,$!MyListActions))
## I save my CurrentPage to save my previous new value
#set ($discard=$doc.save("Nouvelle action => $!MonPrefX${docName}",false))
##Finally I redirect to another page
#$response.sendRedirect($xwiki.getURL("FormSMQ.CaFonctionneOuPas", 'edit',
"template=FormSMQ.ACTemplate&parent=FormSMQ.WebHome&title=FormSMQ.CaFonctionneOuPas&TypeFic=FormSMQ.ACClass"))
## Stop processing, since we already sent a redirect.
#stop
My problem is: when I use "$doc.save", all modifications of my page are lost
(except the new value added)!
If I don't use "$doc.save" all page modifications are saved but of course my
new value is not added :-(
It is a "bit" confused but if someone understand...
--------------------------------------------
En date de : Mar 6.10.15, Pascal BASTIEN <[email protected]> a écrit :
Objet: [xwiki-users] Fw : Re: Fw : Re: How to add a button with
confirmation to save my page?
À: "Marius Dumitru Florea" <[email protected]>
Cc: "XWiki Users" <[email protected]>
Date: Mardi 6 octobre 2015, 18h22
I manage to launch save process of my
page but I didn't manage to pass parameter in this process
:-(
On my page in edit mode, I add a button with this JS code:
function SaveCurrentPage(MyForm, MyParam) {
require(['jquery'], function ($) {
$('#inline').attr('action','/bin/save/FormSMQ/SMQ-M2-FAM-Mon+am%C3%A9lioration');
//$('#inline').attr('method','get');
$('#inline').submit();
});
};
this code save current page and go in the view mode BUT I
can NOT pass some parameters to my velocity code and update
myClass object :-(
In the other way when I submit to view mode with
$('#inline').attr('action','/bin/view/FormSMQ/SMQ-M2-FAM-Mon+am%C3%A9lioration');
My current page is NOT saved but I can pass some parameter
with hidden input (I can catch them with $request.aaaa in
velocity code)
--- En date de : Mar 6.10.15, Marius Dumitru Florea
<[email protected]>
a écrit :
> De: Marius Dumitru Florea <[email protected]>
> Objet: Re: [xwiki-users] Fw : Re: How to add a button
with confirmation to save my page?
> À: "XWiki Users" <[email protected]>
> Date: Mardi 6 octobre 2015, 12h23
> On Tue, Oct 6, 2015 at
> 1:01 PM, Pascal BASTIEN <[email protected]>
> wrote:
> > First thxs both but it is not
> what I want try to do.
> >
> > I want to keep default button "Save,
> save and contine and Cancel" like usual.
> > With velocity I added a button to update
> my class object on my page and redirect to another one.
My
> button working well in view mode but I want to use it
in
> edit mode, then I must save my page before my class
object
> update and redirection if not all page modifications
will be
> lost.
> >
> > My main
> problem if I rewrite my code in JS is that I can not
update
> my class object field attached on my page.
> >
> > (It's a shame it
> doesn't exist an $xwiki.LaunchSaveCurrentPage)
> >
> > Can I launch
> "save page" with javascript? My idea: i launch
> save my page in JS from edit mode to view mode with
param
> (do redirect on another page). With this way I can keep
my
> nice existant velocity code.
> > Do you
> know how if I can launch "save page" in JS
> then?
>
> > I see that a
> submit in JS go to preview mode, maybe I must modify
the
> action target of #inline before submit?
>
> The submit button name (e.g.
> name="action_save") is not included by
> default when you submit the form using
> JavaScript (because the form
> may have
> multiple submit buttons, like in your case, and the
> JavaScript code wouldn't know what button
> to indicate in the submit
> form unless you
> explicitly indicate it). You need to add the button
> name to the submit parameters when you make the
> AJAX save request.
>
> Hope
> this helps,
> Marius
>
_______________________________________________
users mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/users
_______________________________________________
users mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/users