Bug 23278: Reopen last panel upon "Save and continue" in notices
authorOwen Leonard <oleonard@myacpl.org>
Fri, 5 Jul 2019 17:28:06 +0000 (17:28 +0000)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Fri, 19 Jul 2019 13:07:36 +0000 (14:07 +0100)
This patch modifies the Notices edit process so that if the user chooses
the "Save and continue" option the page reloads with the same panel open
which they were previously editing in.

To test, apply the patch and go to Tools -> Notices and Slips.

 - Open a notice for editing.
 - Expand one of the sections.
 - Choose "Save and continue" from the button menu in the toolbar.
   - When the page reloads, the section you expanded should be open
     again.
 - Test each section and test with no sections expanded.

Signed-off-by: Maryse Simard <maryse.simard@inlibro.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

koha-tmpl/intranet-tmpl/prog/en/modules/tools/letter.tt
koha-tmpl/intranet-tmpl/prog/js/letter.js
tools/letter.pl

index 0869785..1f4c8f2 100644 (file)
         [% END %]
 
         <input type="hidden" id="redirect" name="redirect" value="" />
+        <input type="hidden" id="section" name="section" value="[% section | html %]" />
         <input type="hidden" name="searchfield" value="[% searchfield | html %]" />
     </form>
 [% END %]
index cdaf555..f4824ab 100644 (file)
@@ -136,7 +136,19 @@ $(document).ready(function() {
         }
     });
 
-    $( ".transport-types" ).accordion({ collapsible: true, active:false, animate: 200 });
+    $( ".transport-types" ).accordion({
+        collapsible: true,
+        active: parseInt( $("#section").val(), 10),
+        animate: 200,
+        activate: function() {
+            var active = $( ".transport-types" ).accordion( "option", "active" );
+            if( active === false ){
+                $("#section").val("");
+            } else {
+                $("#section").val( active );
+            }
+        }
+    });
 
     $(".insert").on("click",function(){
         var containerid = $(this).data("containerid");
index f1a234b..a673fa9 100755 (executable)
@@ -66,7 +66,9 @@ my $code        = $input->param('code');
 my $module      = $input->param('module') || '';
 my $content     = $input->param('content');
 my $op          = $input->param('op') || '';
-my $redirect      = $input->param('redirect');
+my $redirect    = $input->param('redirect');
+my $section     = $input->param('section');
+
 my $dbh = C4::Context->dbh;
 
 our ( $template, $borrowernumber, $cookie, $staffflags ) = get_template_and_user(
@@ -90,13 +92,14 @@ $template->param(
        script_name => $script_name,
   searchfield => $searchfield,
     branchcode => $branchcode,
+    section => $section,
        action => $script_name
 );
 
 if ( $op eq 'add_validate' or $op eq 'copy_validate' ) {
     add_validate();
     if( $redirect eq "just_save" ){
-        print $input->redirect("/cgi-bin/koha/tools/letter.pl?op=add_form&branchcode=$branchcode&module=$module&code=$code&redirect=done");
+        print $input->redirect("/cgi-bin/koha/tools/letter.pl?op=add_form&branchcode=$branchcode&module=$module&code=$code&redirect=done&section=$section");
         exit;
     } else {
         $op = q{}; # we return to the default screen for the next operation