X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=labels%2Flabel-edit-template.pl;h=038a164d3420306a612887bdcb94106b43a316f0;hb=dd08a539dcd9bc27e7c06547795a8e9cc692e86c;hp=1860a60a6bde439dfe1c118f2686d7604fb754fe;hpb=c468a724b444a0b632ee68383e6c9515fa146f64;p=koha.git diff --git a/labels/label-edit-template.pl b/labels/label-edit-template.pl index 1860a60a6b..038a164d34 100755 --- a/labels/label-edit-template.pl +++ b/labels/label-edit-template.pl @@ -21,9 +21,7 @@ use strict; use warnings; -use Sys::Syslog qw(syslog); use CGI; -use HTML::Template::Pro; use C4::Auth qw(get_template_and_user); use C4::Output qw(output_html_with_http_headers); @@ -73,8 +71,14 @@ elsif ($op eq 'save') { ); if ($template_id) { # if a label_id was passed in, this is an update to an existing layout $label_template = C4::Labels::Template->retrieve(template_id => $template_id); - my $profile = C4::Labels::Profile->retrieve(profile_id => $cgi->param('profile_id')); - $profile->set_attr(template_id => $label_template->get_attr('template_id')) if $label_template->get_attr('template_id') != $profile->get_attr('template_id'); + my $old_profile = C4::Labels::Profile->retrieve(profile_id => $label_template->get_attr('profile_id')); + my $new_profile = C4::Labels::Profile->retrieve(profile_id => $cgi->param('profile_id')); + if ($label_template->get_attr('template_id') != $new_profile->get_attr('template_id')) { + $new_profile->set_attr(template_id => $label_template->get_attr('template_id')); + $old_profile->set_attr(template_id => 0); + $new_profile->save(); + $old_profile->save(); + } $label_template->set_attr(@params); $label_template->save(); } @@ -83,6 +87,7 @@ elsif ($op eq 'save') { my $template_id = $label_template->save(); my $profile = C4::Labels::Profile->retrieve(profile_id => $cgi->param('profile_id')); $profile->set_attr(template_id => $template_id) if $template_id != $profile->get_attr('template_id'); + $profile->save(); } print $cgi->redirect("label-manage.pl?label_element=template"); exit;