Bug 23278: Reopen last panel upon "Save and continue" in notices

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>
This commit is contained in:
Owen Leonard 2019-07-05 17:28:06 +00:00 committed by Martin Renvoize
parent b76aa55104
commit 2c600bf439
No known key found for this signature in database
GPG Key ID: 422B469130441A0F
3 changed files with 19 additions and 3 deletions

View File

@ -409,6 +409,7 @@
[% 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 %]

View 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");

View File

@ -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