customAction : add noRedirect parameter
authorBenjamin Renard <brenard@easter-eggs.com>
Wed, 8 Mar 2017 15:57:44 +0000 (16:57 +0100)
committerBenjamin Renard <brenard@easter-eggs.com>
Wed, 8 Mar 2017 15:57:44 +0000 (16:57 +0100)
doc/conf/LSobject/customActions.docbook
public_html/custom_action.php

index 9926475..66d5d3e 100644 (file)
@@ -17,6 +17,7 @@
     'disableOnSuccessMsg' => '[booléen]',
     'noConfirmation' => '[booléen]',
     'redirectToObjectList' => '[booléen]',
+    'noRedirect' => '[booléen]',
     'rights' => array(
       'LSprofile1',
       'LSprofile2',
 </varlistentry>
 
 <varlistentry>
+  <term>noRedirect</term>
+  <listitem>
+    <simpara>Booléen permetant de désactiver la redirection de l'utilisateur après
+    l'execution de l'action. Cela permet à la fonction de définir son propre fichier
+    de template de retour et donc d'afficher une page personnalisable.</simpara>
+  </listitem>
+</varlistentry>
+
+<varlistentry>
   <term>rights</term>
   <listitem>
     <simpara>Tableau contenant la liste des noms des &LSprofiles; ayant le droit
index 5ab3417..87084c7 100644 (file)
@@ -56,7 +56,7 @@ if(LSsession :: startLSsession()) {
                   if ($config['redirectToObjectList']) {
                     LSsession :: redirect('view.php?LSobject='.$LSobject.'&refresh');
                   }
-                  else {
+                  else if (!isset($config['noRedirect']) || !$config['noRedirect']) {
                     LSsession :: redirect('view.php?LSobject='.$LSobject.'&dn='.urlencode($dn));
                   }
                 }
@@ -81,8 +81,8 @@ if(LSsession :: startLSsession()) {
                 LStemplate :: assign('question',$question);
                 LStemplate :: assign('validation_url','custom_action.php?LSobject='.urlencode($LSobject).'&amp;dn='.urlencode($dn).'&amp;customAction='.urlencode($customAction).'&amp;valid');
                 LStemplate :: assign('validation_label',_('Validate'));
+                LSsession :: setTemplate('question.tpl');
               }
-              LSsession :: setTemplate('question.tpl');
             }
             else {
               LSerror :: addErrorCode('LSsession_13');