From ded8c88e95b034dc3363012fe02bfbac77362420 Mon Sep 17 00:00:00 2001 From: Chris Nighswonger Date: Mon, 24 Aug 2009 11:01:09 -0400 Subject: [PATCH] [36/40] Bugfix for profile update on profile/template association change. --- labels/label-edit-template.pl | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/labels/label-edit-template.pl b/labels/label-edit-template.pl index 1860a60a6b..2b55eeaf4d 100755 --- a/labels/label-edit-template.pl +++ b/labels/label-edit-template.pl @@ -73,8 +73,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 +89,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; -- 2.39.5