Bugzilla – Attachment 5062 Details for
Bug 6269
can't undefine a printer profile
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Fix
0001-Bug-6269-can-t-undefine-a-printer-profile.patch (text/plain), 5.25 KB, created by
Chris Nighswonger
on 2011-08-19 15:03:04 UTC
(
hide
)
Description:
Fix
Filename:
MIME Type:
Creator:
Chris Nighswonger
Created:
2011-08-19 15:03:04 UTC
Size:
5.25 KB
patch
obsolete
>From cb620d5682cb16f380182e4bb3e3fb862aa6fa38 Mon Sep 17 00:00:00 2001 >From: Chris Nighswonger <cnighswonger@foundations.edu> >Date: Wed, 17 Aug 2011 11:23:17 -0400 >Subject: [PATCH] Bug 6269 - can't undefine a printer profile >Content-Type: text/plain; charset="utf-8" > >This patch adds a 'No Profile/N/A' selection to the printer profile >drop-down menu along with code to handle the selection of it. This >selection is the default selection for new templates. > >Documentation should be updated to reflect this change. >--- > labels/label-edit-template.pl | 43 ++++++++++++++++++++++------------------ > 1 files changed, 24 insertions(+), 19 deletions(-) > >diff --git a/labels/label-edit-template.pl b/labels/label-edit-template.pl >index f0a6ab0..0307c9e 100755 >--- a/labels/label-edit-template.pl >+++ b/labels/label-edit-template.pl >@@ -50,9 +50,18 @@ my $units = get_unit_values(); > if ($op eq 'edit') { > $label_template = C4::Labels::Template->retrieve(template_id => $template_id); > $profile_list = get_all_profiles(field_list => 'profile_id,printer_name,paper_bin',filter => "template_id=$template_id OR template_id=''"); >+ push @$profile_list, {paper_bin => 'N/A', profile_id => 0, printer_name => 'No Profile'}; >+ foreach my $profile (@$profile_list) { >+ if ($profile->{'profile_id'} == 0) { >+ $profile->{'selected'} = 1; >+ } >+ else { >+ $profile->{'selected'} = 0; >+ } >+ } > } > elsif ($op eq 'save') { >- my @params = ( profile_id => $cgi->param('profile_id') || '', >+ my @params = ( profile_id => $cgi->param('profile_id'), > template_code => $cgi->param('template_code') || 'DEFAULT_TEMPLATE', > template_desc => $cgi->param('template_desc') || 'Default description', > page_width => $cgi->param('page_width') || 0, >@@ -69,10 +78,11 @@ elsif ($op eq 'save') { > row_gap => $cgi->param('row_gap') || 0, > units => $cgi->param('units') || 'POINT', > ); >- if ($template_id) { # if a label_id was passed in, this is an update to an existing layout >+ if ($template_id) { # if a template_id was passed in, this is an update to an existing template > $label_template = C4::Labels::Template->retrieve(template_id => $template_id); > if ($cgi->param('profile_id') && ($label_template->get_attr('template_id') != $cgi->param('profile_id'))) { >- if ($label_template->get_attr('profile_id') > 0) { # no need to get the old one if there was no profile associated >+ # Release the old profile if one is currently associated >+ if ($label_template->get_attr('profile_id') > 0) { > my $old_profile = C4::Labels::Profile->retrieve(profile_id => $label_template->get_attr('profile_id')); > $old_profile->set_attr(template_id => 0); > $old_profile->save(); >@@ -81,23 +91,18 @@ elsif ($op eq 'save') { > $new_profile->set_attr(template_id => $label_template->get_attr('template_id')); > $new_profile->save(); > } >+ elsif ($cgi->param('profile_id') == 0) { # Disassociate any printer profile from the template >+ if ($label_template->get_attr('profile_id') > 0) { >+ my $old_profile = C4::Labels::Profile->retrieve(profile_id => $label_template->get_attr('profile_id')); >+ $old_profile->set_attr(template_id => 0); >+ $old_profile->save(); >+ } >+ } > >-# if ($cgi->param('profile_id')) { >-# my $old_profile = ($label_template->get_attr('profile_id') ? C4::Labels::Profile->retrieve(profile_id => $label_template->get_attr('profile_id')) : undef); >-# 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')); >-# $new_profile->save(); >-# if ($old_profile) { >-# $old_profile->set_attr(template_id => 0); >-# $old_profile->save(); >-# } >-# } >-# } > $label_template->set_attr(@params); > $label_template->save(); > } >- else { # if no label_id, this is a new layout so insert it >+ else { # if no template_id, this is a new template so insert it > $label_template = C4::Labels::Template->new(@params); > my $template_id = $label_template->save(); > if ($cgi->param('profile_id')) { >@@ -111,10 +116,10 @@ elsif ($op eq 'save') { > } > else { # if we get here, this is a new layout > $label_template = C4::Labels::Template->new(); >-} >-if ($template_id) { >+ $profile_list = get_all_profiles(field_list => 'profile_id,printer_name,paper_bin',filter => "template_id=''"); >+ push @$profile_list, {paper_bin => 'N/A', profile_id => 0, printer_name => 'No Profile'}; > foreach my $profile (@$profile_list) { >- if ($profile->{'profile_id'} == $label_template->get_attr('profile_id')) { >+ if ($profile->{'profile_id'} == 0) { > $profile->{'selected'} = 1; > } > else { >-- >1.7.0.4 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 6269
:
5047
|
5062
|
5063
|
5064