[13/40] Work on profile editor interface.
This commit is contained in:
parent
d47afd597b
commit
0645c95a36
5 changed files with 225 additions and 165 deletions
|
@ -106,13 +106,15 @@ my $unit_values = [
|
|||
=cut
|
||||
|
||||
sub get_all_templates {
|
||||
my %params = @_;
|
||||
my @templates = ();
|
||||
my $query = "SELECT * FROM labels_templates;";
|
||||
my $query = "SELECT " . ($params{'field_list'} ? $params{'field_list'} : '*') . " FROM labels_templates";
|
||||
$query .= ($params{'filter'} ? " WHERE $params{'filter'};" : ';');
|
||||
my $sth = C4::Context->dbh->prepare($query);
|
||||
$sth->execute();
|
||||
if ($sth->err) {
|
||||
syslog("LOG_ERR", "C4::Labels::Lib::get_all_templates : Database returned the following error: %s", $sth->errstr);
|
||||
return 1;
|
||||
return -1;
|
||||
}
|
||||
ADD_TEMPLATES:
|
||||
while (my $template = $sth->fetchrow_hashref) {
|
||||
|
@ -138,7 +140,7 @@ sub get_all_layouts {
|
|||
$sth->execute();
|
||||
if ($sth->err) {
|
||||
syslog("LOG_ERR", "C4::Labels::Lib::get_all_layouts : Database returned the following error: %s", $sth->errstr);
|
||||
return 1;
|
||||
return -1;
|
||||
}
|
||||
ADD_LAYOUTS:
|
||||
while (my $layout = $sth->fetchrow_hashref) {
|
||||
|
@ -171,7 +173,7 @@ sub get_all_profiles {
|
|||
$sth->execute();
|
||||
if ($sth->err) {
|
||||
syslog("LOG_ERR", "C4::Labels::Lib::get_all_profiles : Database returned the following error: %s", $sth->errstr);
|
||||
return 1;
|
||||
return -1;
|
||||
}
|
||||
ADD_LAYOUTS:
|
||||
while (my $profile = $sth->fetchrow_hashref) {
|
||||
|
|
|
@ -35,7 +35,7 @@ sub _check_params {
|
|||
my $exit_code = 0;
|
||||
my @valid_profile_params = (
|
||||
'printer_name',
|
||||
'tmpl_id',
|
||||
'template_id',
|
||||
'paper_bin',
|
||||
'offset_horz',
|
||||
'offset_vert',
|
||||
|
@ -93,13 +93,13 @@ C4::Labels::Profile - A class for creating and manipulating profile objects in K
|
|||
sub new {
|
||||
my $invocant = shift;
|
||||
if (_check_params(@_) eq 1) {
|
||||
return 1;
|
||||
return -1;
|
||||
}
|
||||
my $type = ref($invocant) || $invocant;
|
||||
my $self = {
|
||||
printer_name => '',
|
||||
tmpl_id => '',
|
||||
paper_bin => '',
|
||||
printer_name => 'Default Printer',
|
||||
template_id => '',
|
||||
paper_bin => 'Tray 1',
|
||||
offset_horz => 0,
|
||||
offset_vert => 0,
|
||||
creep_horz => 0,
|
||||
|
@ -135,7 +135,7 @@ sub retrieve {
|
|||
$sth->execute($opts{profile_id});
|
||||
if ($sth->err) {
|
||||
syslog("LOG_ERR", "Database returned the following error: %s", $sth->errstr);
|
||||
return 1;
|
||||
return -1;
|
||||
}
|
||||
my $self = $sth->fetchrow_hashref;
|
||||
$self = _conv_points($self) if ($opts{convert} && $opts{convert} == 1);
|
||||
|
@ -143,26 +143,40 @@ sub retrieve {
|
|||
return $self;
|
||||
}
|
||||
|
||||
=head2 C4::Labels::Profile->delete(profile_id => profile_id) | $profile->delete()
|
||||
=head2 C4::Labels::Profile::delete(profile_id => profile_id) | $profile->delete()
|
||||
|
||||
Invoking the delete method attempts to delete the profile from the database. The method returns 0 upon success
|
||||
and 1 upon failure. Errors are logged to the syslog.
|
||||
|
||||
examples:
|
||||
my $exitstat = $profile->delete(); # to delete the record behind the $profile object
|
||||
my $exitstat = C4::Labels::Profile->delete(profile_id => 1); # to delete profile record 1
|
||||
my $exitstat = C4::Labels::Profile::delete(profile_id => 1); # to delete profile record 1
|
||||
|
||||
=cut
|
||||
|
||||
sub delete {
|
||||
my $self = shift;
|
||||
if (!$self->{'profile_id'}) { # If there is no profile profile_id then we cannot delete it
|
||||
syslog("LOG_ERR", "Cannot delete profile as it has not been saved.");
|
||||
return 1;
|
||||
my $self = {};
|
||||
my %opts = ();
|
||||
my $call_type = '';
|
||||
my $query_param = '';
|
||||
if (ref($_[0])) {
|
||||
$self = shift; # check to see if this is a method call
|
||||
$call_type = 'C4::Labels::Profile->delete';
|
||||
$query_param = $self->{'profile_id'};
|
||||
}
|
||||
else {
|
||||
%opts = @_;
|
||||
$call_type = 'C4::Labels::Profile::delete';
|
||||
$query_param = $opts{'profile_id'};
|
||||
}
|
||||
if ($query_param eq '') { # If there is no profile id then we cannot delete it
|
||||
syslog("LOG_ERR", "%s : Cannot delete layout as the profile id is invalid or non-existant.", $call_type);
|
||||
return -1;
|
||||
}
|
||||
my $query = "DELETE FROM printers_profile WHERE profile_id = ?";
|
||||
my $sth = C4::Context->dbh->prepare($query);
|
||||
$sth->execute($self->{'profile_id'});
|
||||
# $sth->{'TraceLevel'} = 3;
|
||||
$sth->execute($query_param);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -190,11 +204,11 @@ sub save {
|
|||
$query = substr($query, 0, (length($query)-2));
|
||||
push (@params, $self->{'profile_id'});
|
||||
$query .= " WHERE profile_id=?;";
|
||||
warn "DEBUG: Updating: $query\n" if $debug;
|
||||
my $sth = C4::Context->dbh->prepare($query);
|
||||
# $sth->{'TraceLevel'} = 3;
|
||||
$sth->execute(@params);
|
||||
if ($sth->err) {
|
||||
syslog("LOG_ERR", "C4::Labels::Profile : Database returned the following error: %s", $sth->errstr);
|
||||
syslog("LOG_ERR", "C4::Labels::Profile : Database returned the following error on attempted UPDATE: %s", $sth->errstr);
|
||||
return -1;
|
||||
}
|
||||
return $self->{'profile_id'};
|
||||
|
@ -213,11 +227,10 @@ sub save {
|
|||
}
|
||||
$query = substr($query, 0, (length($query)-1));
|
||||
$query .= ");";
|
||||
warn "DEBUG: Saving: $query\n" if $debug;
|
||||
my $sth = C4::Context->dbh->prepare($query);
|
||||
$sth->execute(@params);
|
||||
if ($sth->err) {
|
||||
syslog("LOG_ERR", "C4::Labels::Profile : Database returned the following error: %s", $sth->errstr);
|
||||
syslog("LOG_ERR", "C4::Labels::Profile : Database returned the following error on attempted INSERT: %s", $sth->errstr);
|
||||
return -1;
|
||||
}
|
||||
my $sth1 = C4::Context->dbh->prepare("SELECT MAX(profile_id) FROM printers_profile;");
|
||||
|
@ -239,7 +252,7 @@ sub save {
|
|||
sub get_attr {
|
||||
my $self = shift;
|
||||
if (_check_params(@_) eq 1) {
|
||||
return 1;
|
||||
return -1;
|
||||
}
|
||||
my ($attr) = @_;
|
||||
if (exists($self->{$attr})) {
|
||||
|
@ -247,7 +260,7 @@ sub get_attr {
|
|||
}
|
||||
else {
|
||||
syslog("LOG_ERR", "C4::Labels::Profile : %s is currently undefined.", $attr);
|
||||
return 1;
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -263,10 +276,12 @@ sub get_attr {
|
|||
sub set_attr {
|
||||
my $self = shift;
|
||||
if (_check_params(@_) eq 1) {
|
||||
return 1;
|
||||
return -1;
|
||||
}
|
||||
my ($attr, $value) = @_;
|
||||
$self->{$attr} = $value;
|
||||
my %attrs = @_;
|
||||
foreach my $attrib (keys(%attrs)) {
|
||||
$self->{$attrib} = $attrs{$attrib};
|
||||
};
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,74 +1,98 @@
|
|||
<!-- TMPL_INCLUDE NAME="doc-head-open.inc" --><title>Koha › Tools › Labels</title>
|
||||
<!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
|
||||
<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->i
|
||||
<title>Koha › Tools › Labels</title>
|
||||
<!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
|
||||
</head>
|
||||
<body>
|
||||
<!-- TMPL_INCLUDE NAME="header.inc" -->
|
||||
<!-- TMPL_INCLUDE NAME="cat-search.inc" -->
|
||||
|
||||
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a>› <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> › <a href="/cgi-bin/koha/labels/label-home.pl">Labels</a> › <a href="/cgi-bin/koha/labels/label-profiles.pl">Printer Profiles</a> › Edit Printer Profile</div>
|
||||
|
||||
<div id="doc3" class="yui-t2">
|
||||
|
||||
<div id="bd">
|
||||
<div id="yui-main">
|
||||
<div class="yui-b">
|
||||
<form name="input" action="/cgi-bin/koha/labels/label-edit-profile.pl" method="get">
|
||||
|
||||
<div class="yui-g">
|
||||
<h3>Edit Printer Profile</h3>
|
||||
<div class="yui-g first">
|
||||
<fieldset class="rows"><legend>Profile Settings</legend>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
<label>Printer Name:</label> <!-- TMPL_VAR NAME="printername" -->
|
||||
</li>
|
||||
<li>
|
||||
<label>Paper Bin:</label> <!-- TMPL_VAR NAME="paper_bin" -->
|
||||
</li>
|
||||
<li>
|
||||
<label>Template Name:</label> <!-- TMPL_VAR NAME="tmpl_code" -->
|
||||
</li>
|
||||
<li>
|
||||
<label><h4>Offset:</h4></label>
|
||||
</li>
|
||||
<li>
|
||||
<label for="offset_horz">Horizontal: </label><input type="text" size="4" name="offset_horz" id="offset_horz" value="<!-- TMPL_VAR NAME="offset_horz" -->" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="offset_vert">Vertical: </label><input type="text" size="4" name="offset_vert" id="offset_vert" value="<!-- TMPL_VAR NAME="offset_vert" -->" />
|
||||
</li>
|
||||
<li>
|
||||
<label><h4>Creep:</h4></label>
|
||||
</li>
|
||||
<li>
|
||||
<label for="creep_horz">Horizontal: </label><input type="text" size="4" name="creep_horz" id="creep_horz" value="<!-- TMPL_VAR NAME="creep_horz" -->" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="creep_vert">Vertical: </label><input type="text" size="4" name="creep_vert" id="creep_vert" value="<!-- TMPL_VAR NAME="creep_vert" -->" />
|
||||
</li>
|
||||
<li><label for="unit">Units: </label><select id="unit" name="unit">
|
||||
<!-- TMPL_LOOP NAME="units" -->
|
||||
<!-- TMPL_IF NAME="selected" -->
|
||||
<option value="<!-- TMPL_VAR NAME="unit" -->" selected="selected">
|
||||
<!-- TMPL_ELSE -->
|
||||
<option value="<!-- TMPL_VAR NAME="unit" -->">
|
||||
<!-- /TMPL_IF --><!-- TMPL_VAR NAME="desc" --></option>
|
||||
<!-- /TMPL_LOOP -->
|
||||
</select>
|
||||
</li>
|
||||
<input type="hidden" name="prof_id" value="<!-- TMPL_VAR NAME="prof_id" -->" />
|
||||
</ol>
|
||||
</fieldset>
|
||||
<fieldset class="action">
|
||||
<input type="submit" name ="op" value="Save" /> <input type="submit" name="op" value="Cancel" />
|
||||
</fieldset></div>
|
||||
</div>
|
||||
</div></form>
|
||||
|
||||
</div>
|
||||
<div class="yui-b">
|
||||
<!-- TMPL_INCLUDE NAME="labels-menu.inc" -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
|
||||
<!-- TMPL_INCLUDE NAME="header.inc" -->
|
||||
<!-- TMPL_INCLUDE NAME="cat-search.inc" -->
|
||||
<div id="breadcrumbs">
|
||||
<a href="/cgi-bin/koha/mainpage.pl">Home</a>›
|
||||
<a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a>›
|
||||
<a href="/cgi-bin/koha/labels/label-home.pl">Labels</a>›
|
||||
<a href="/cgi-bin/koha/labels/label-manage.pl?label_element=profile">Printer Profiles</a>›
|
||||
Edit Printer Profile
|
||||
</div>
|
||||
<div id="doc3" class="yui-t2">
|
||||
<div id="bd">
|
||||
<div id="yui-main">
|
||||
<div class="yui-b">
|
||||
<form name="input" action="/cgi-bin/koha/labels/label-edit-profile.pl" method="get">
|
||||
<div class="yui-g">
|
||||
<h3>Edit Printer Profile</h3>
|
||||
<div class="yui-g first">
|
||||
<fieldset class="rows"><legend>Profile Settings</legend>
|
||||
<ol>
|
||||
<li>
|
||||
<label for="printer_name">Printer Name:</label>
|
||||
<!-- TMPL_IF NAME="profile_id" -->
|
||||
<!-- TMPL_VAR NAME="printer_name" -->
|
||||
<!-- TMPL_ELSE -->
|
||||
<input type="text" size="20" name="printer_name" id="printer_name" />
|
||||
<!-- /TMPL_IF -->
|
||||
</li>
|
||||
<li>
|
||||
<label for="paper_bin">Paper Bin:</label>
|
||||
<!-- TMPL_IF NAME="profile_id" -->
|
||||
<!-- TMPL_VAR NAME="paper_bin" -->
|
||||
<!-- TMPL_ELSE -->
|
||||
<input type="text" size="20" name="paper_bin" id="paper_bin" />
|
||||
<!-- /TMPL_IF -->
|
||||
</li>
|
||||
<li>
|
||||
<label for="template_name">Template Name:</label>
|
||||
<!-- TMPL_IF NAME="label_template" -->
|
||||
<!-- TMPL_VAR NAME="label_template" -->
|
||||
<!-- TMPL_ELSE -->
|
||||
Profile Unassigned
|
||||
<!-- /TMPL_IF -->
|
||||
</li>
|
||||
</li>
|
||||
<li>
|
||||
<label><h4>Offset:</h4></label>
|
||||
</li>
|
||||
<li>
|
||||
<label for="offset_horz">Horizontal: </label><input type="text" size="4" name="offset_horz" id="offset_horz" value="<!-- TMPL_VAR NAME="offset_horz" -->" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="offset_vert">Vertical: </label><input type="text" size="4" name="offset_vert" id="offset_vert" value="<!-- TMPL_VAR NAME="offset_vert" -->" />
|
||||
</li>
|
||||
<li>
|
||||
<label><h4>Creep:</h4></label>
|
||||
</li>
|
||||
<li>
|
||||
<label for="creep_horz">Horizontal: </label><input type="text" size="4" name="creep_horz" id="creep_horz" value="<!-- TMPL_VAR NAME="creep_horz" -->" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="creep_vert">Vertical: </label><input type="text" size="4" name="creep_vert" id="creep_vert" value="<!-- TMPL_VAR NAME="creep_vert" -->" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="units">Units: </label>
|
||||
<select id="units" name="units">
|
||||
<!-- TMPL_LOOP NAME="units" -->
|
||||
<!-- TMPL_IF NAME="selected" -->
|
||||
<option value="<!-- TMPL_VAR NAME="type" -->" selected="selected">
|
||||
<!-- TMPL_ELSE -->
|
||||
<option value="<!-- TMPL_VAR NAME="type" -->">
|
||||
<!-- /TMPL_IF -->
|
||||
<!-- TMPL_VAR NAME="desc" -->
|
||||
</option>
|
||||
<!-- /TMPL_LOOP -->
|
||||
</select>
|
||||
</li>
|
||||
</ol>
|
||||
</fieldset>
|
||||
<fieldset class="action">
|
||||
<input type="submit" value="Submit" /><a class="cancel" href="/cgi-bin/koha/labels/label-manage.pl?label_element=profile">Cancel</a>
|
||||
<input type="hidden" name="op" value="save" />
|
||||
<input type="hidden" name="profile_id" value="<!-- TMPL_VAR NAME="profile_id" -->" />
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="yui-b">
|
||||
<!-- TMPL_INCLUDE NAME="labels-menu.inc" -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
function DeleteConfirm() {
|
||||
var element_id = selected_layout();
|
||||
if (element_id>-1) {
|
||||
var msg = "Are you sure you want to delete template " + element_id + "?"
|
||||
var msg = "Are you sure you want to delete <!-- TMPL_VAR NAME="label_element" --> " + element_id + "?"
|
||||
var answer = confirm(msg);
|
||||
if (answer) {
|
||||
window.location = "/cgi-bin/koha/labels/label-manage.pl?op=delete&label_element=<!-- TMPL_VAR NAME="label_element" -->&element_id=" + element_id;
|
||||
|
|
|
@ -1,88 +1,107 @@
|
|||
#!/usr/bin/perl
|
||||
#
|
||||
# Copyright 2006 Katipo Communications.
|
||||
# Parts Copyright 2009 Foundations Bible College.
|
||||
#
|
||||
# This file is part of Koha.
|
||||
#
|
||||
# Koha is free software; you can redistribute it and/or modify it under the
|
||||
# terms of the GNU General Public License as published by the Free Software
|
||||
# Foundation; either version 2 of the License, or (at your option) any later
|
||||
# version.
|
||||
#
|
||||
# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
||||
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
|
||||
# Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use Sys::Syslog qw(syslog);
|
||||
use CGI;
|
||||
use C4::Auth;
|
||||
use C4::Context;
|
||||
use C4::Output;
|
||||
use C4::Labels;
|
||||
use HTML::Template::Pro;
|
||||
use POSIX;
|
||||
use Data::Dumper;
|
||||
|
||||
my $DEBUG = 0;
|
||||
my $dbh = C4::Context->dbh;
|
||||
my $query = new CGI;
|
||||
|
||||
my $op = $query->param('op');
|
||||
my $prof_id = $query->param('prof_id');
|
||||
my $offset_horz = $query->param('offset_horz');
|
||||
my $offset_vert = $query->param('offset_vert');
|
||||
my $creep_horz = $query->param('creep_horz');
|
||||
my $creep_vert = $query->param('creep_vert');
|
||||
my $units = $query->param('unit');
|
||||
use C4::Auth;
|
||||
use C4::Output;
|
||||
use C4::Context;
|
||||
use C4::Debug;
|
||||
use C4::Labels::Lib 1.000000 qw(get_all_templates get_unit_values);
|
||||
use C4::Labels::Profile 1.000000;
|
||||
|
||||
my $cgi = new CGI;
|
||||
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
|
||||
{
|
||||
template_name => "labels/label-edit-profile.tmpl",
|
||||
query => $query,
|
||||
query => $cgi,
|
||||
type => "intranet",
|
||||
authnotrequired => 1,
|
||||
authnotrequired => 0,
|
||||
flagsrequired => { catalogue => 1 },
|
||||
debug => 1,
|
||||
}
|
||||
);
|
||||
my $op = $cgi->param('op') || $ARGV[0] || '';
|
||||
my $profile_id = $cgi->param('profile_id') || $cgi->param('element_id') || $ARGV[1] || '';
|
||||
my $profile = '';
|
||||
my $template_list = '';
|
||||
my @label_template = ();
|
||||
my $units = get_unit_values();
|
||||
|
||||
if ($op eq '' || undef) {
|
||||
my $prof = GetSinglePrinterProfile($prof_id);
|
||||
|
||||
my $tmpl = GetSingleLabelTemplate($prof->{'tmpl_id'});
|
||||
|
||||
if ( $DEBUG ) {
|
||||
use Data::Dumper;
|
||||
warn Dumper($prof);
|
||||
warn Dumper($tmpl);
|
||||
}
|
||||
|
||||
my @units = (
|
||||
{ unit => 'INCH', desc => 'Inches' },
|
||||
{ unit => 'CM', desc => 'Centimeters' },
|
||||
{ unit => 'MM', desc => 'Millimeters' },
|
||||
{ unit => 'POINT', desc => 'Postscript Points' },
|
||||
);
|
||||
|
||||
foreach my $unit (@units) {
|
||||
if ( $unit->{'unit'} eq $prof->{'unit'} ) {
|
||||
$unit->{'selected'} = 1;
|
||||
}
|
||||
}
|
||||
|
||||
$template->param(
|
||||
|
||||
units => \@units,
|
||||
|
||||
prof_id => $prof->{'prof_id'},
|
||||
printername => $prof->{'printername'},
|
||||
paper_bin => $prof->{'paper_bin'},
|
||||
tmpl_code => $tmpl->{'tmpl_code'},
|
||||
prof_code => $prof->{'prof_code'},
|
||||
offset_horz => $prof->{'offset_horz'},
|
||||
offset_vert => $prof->{'offset_vert'},
|
||||
creep_horz => $prof->{'creep_horz'},
|
||||
creep_vert => $prof->{'creep_vert'},
|
||||
);
|
||||
if ($op eq 'edit') {
|
||||
$profile = C4::Labels::Profile->retrieve(profile_id => $profile_id);
|
||||
$template_list = get_all_templates(field_list => 'template_id,template_code, profile_id');
|
||||
}
|
||||
|
||||
elsif ($op eq 'Save') {
|
||||
warn "Units are now $units";
|
||||
|
||||
SaveProfile( $prof_id, $offset_horz, $offset_vert, $creep_horz, $creep_vert, $units );
|
||||
print $query->redirect("./label-profiles.pl");
|
||||
elsif ($op eq 'save') {
|
||||
my @params = (
|
||||
printer_name => $cgi->param('printer_name'),
|
||||
paper_bin => $cgi->param('paper_bin'),
|
||||
offset_horz => $cgi->param('offset_horz'),
|
||||
offset_vert => $cgi->param('offset_vert'),
|
||||
creep_horz => $cgi->param('creep_horz'),
|
||||
creep_vert => $cgi->param('creep_vert'),
|
||||
units => $cgi->param('units'),
|
||||
);
|
||||
if ($profile_id) { # if a label_id was passed in, this is an update to an existing layout
|
||||
$profile = C4::Labels::Profile->retrieve(profile_id => $profile_id);
|
||||
$profile->set_attr(@params);
|
||||
$profile->save();
|
||||
}
|
||||
else { # if no label_id, this is a new layout so insert it
|
||||
$profile = C4::Labels::Profile->new(@params);
|
||||
$profile->save();
|
||||
}
|
||||
print $cgi->redirect("label-manage.pl?label_element=profile");
|
||||
exit;
|
||||
}
|
||||
|
||||
elsif ($op eq 'Cancel') {
|
||||
print $query->redirect("./label-profiles.pl");
|
||||
exit;
|
||||
else { # if we get here, this is a new layout
|
||||
$profile = C4::Labels::Profile->new();
|
||||
}
|
||||
|
||||
output_html_with_http_headers $query, $cookie, $template->output;
|
||||
if ($profile_id) {
|
||||
@label_template = grep{($_->{'profile_id'} == $profile->get_attr('profile_id')) && ($_->{'template_id'} == $profile->get_attr('template_id'))} @$template_list;
|
||||
}
|
||||
|
||||
foreach my $unit (@$units) {
|
||||
if ($unit->{'type'} eq $profile->get_attr('units')) {
|
||||
$unit->{'selected'} = 1;
|
||||
}
|
||||
}
|
||||
|
||||
$template->param(profile_id => $profile->get_attr('profile_id')) if $profile->get_attr('profile_id') > 0;
|
||||
|
||||
$template->param(
|
||||
label_template => $label_template[0]->{'template_code'} || '',
|
||||
printer_name => $profile->get_attr('printer_name'),
|
||||
paper_bin => $profile->get_attr('paper_bin'),
|
||||
offset_horz => $profile->get_attr('offset_horz'),
|
||||
offset_vert => $profile->get_attr('offset_vert'),
|
||||
creep_horz => $profile->get_attr('creep_horz'),
|
||||
creep_vert => $profile->get_attr('creep_vert'),
|
||||
units => $units,
|
||||
op => $op,
|
||||
);
|
||||
|
||||
output_html_with_http_headers $cgi, $cookie, $template->output;
|
||||
|
|
Loading…
Reference in a new issue