From f926513f6aa8cc228f62f8b1f582bb823c021cdc Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Wed, 9 Apr 2014 13:25:58 -0700 Subject: [PATCH] installers, RT#16584 --- FS/FS/Schema.pm | 11 ++++++----- FS/FS/pkg_category.pm | 36 +++++++++++++++++++++++++++++++++--- httemplate/browse/pkg_category.html | 6 +++--- httemplate/browse/pkg_class.html | 2 +- httemplate/edit/elements/edit.html | 3 +++ httemplate/edit/pkg_category.html | 9 +++++++-- 6 files changed, 53 insertions(+), 14 deletions(-) diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm index ae25da154..a1004d07d 100644 --- a/FS/FS/Schema.pm +++ b/FS/FS/Schema.pm @@ -5049,11 +5049,12 @@ sub tables_hashref { 'pkg_category' => { 'columns' => [ - 'categorynum', 'serial', '', '', '', '', - 'categoryname', 'varchar', '', $char_d, '', '', - 'weight', 'int', 'NULL', '', '', '', - 'condense', 'char', 'NULL', 1, '', '', - 'disabled', 'char', 'NULL', 1, '', '', + 'categorynum', 'serial', '', '', '', '', + 'categoryname', 'varchar', '', $char_d, '', '', + 'weight', 'int', 'NULL', '', '', '', + 'ticketing_queueid', 'int', 'NULL', '', '', '', + 'condense', 'char', 'NULL', 1, '', '', + 'disabled', 'char', 'NULL', 1, '', '', ], 'primary_key' => 'categorynum', 'unique' => [], diff --git a/FS/FS/pkg_category.pm b/FS/FS/pkg_category.pm index cd875d1a1..adfadd772 100644 --- a/FS/FS/pkg_category.pm +++ b/FS/FS/pkg_category.pm @@ -1,9 +1,9 @@ package FS::pkg_category; +use base qw( FS::category_Common ); use strict; -use base qw( FS::category_Common ); use vars qw( @ISA $me $DEBUG ); -use FS::Record qw( qsearch dbh ); +use FS::Record qw( qsearch ); use FS::pkg_class; use FS::part_pkg; @@ -49,6 +49,15 @@ Text name of this package category Weight +=item ticketing_queueid + +Ticketing Queue + +=item condense + +Condense flag for invoice display, empty or 'Y' + + =item disabled Disabled flag, empty or 'Y' @@ -92,13 +101,34 @@ replace methods. =cut +sub check { + my $self = shift; + + $self->ut_enum('condense', [ '', 'Y' ]) + || $self->ut_snumbern('ticketing_queueid') + || $self->SUPER::check; +} + +=item ticketing_queue + +Returns the queue name corresponding with the id from the I +field, or the empty string. + +=cut + +sub ticketing_queue { + my $self = shift; + return 'Agent-specific queue' if $self->ticketing_queueid == -1; + return '' unless $self->ticketing_queueid; + FS::TicketSystem->queue($self->ticketing_queueid); +} + # _ upgrade_data # # Used by FS::Upgrade to migrate to a new database. sub _upgrade_data { my ($class, %opts) = @_; - my $dbh = dbh; warn "$me upgrading $class\n" if $DEBUG; diff --git a/httemplate/browse/pkg_category.html b/httemplate/browse/pkg_category.html index 2c181a3db..67ee03501 100644 --- a/httemplate/browse/pkg_category.html +++ b/httemplate/browse/pkg_category.html @@ -9,9 +9,9 @@ 'order_by' => 'ORDER BY categorynum', }, 'count_query' => $count_query, - 'header' => [ '#', 'Category', 'Weight', 'Condense' ], - 'fields' => [ 'categorynum', 'categoryname', 'weight', 'condense' ], - 'links' => [ $link, $link, $link, $link ], + 'header' => [ 'Category', 'Weight', 'Ticketing', 'Condense' ], + 'fields' => [ 'categoryname', 'weight', 'ticketing_queue', 'condense' ], + 'links' => [ $link, '', '', '', ] ) %> diff --git a/httemplate/browse/pkg_class.html b/httemplate/browse/pkg_class.html index f3e236496..2aa2857a5 100644 --- a/httemplate/browse/pkg_class.html +++ b/httemplate/browse/pkg_class.html @@ -48,7 +48,7 @@ $sth->execute if ($sth->fetchrow_arrayref->[0]) { push @$header, 'Category'; push @$fields, 'categoryname'; - push @$links, $link; + push @$links, [ $p.'edit/pkg_category.html?', 'categorynum' ] } diff --git a/httemplate/edit/elements/edit.html b/httemplate/edit/elements/edit.html index f00345434..acfa8c597 100644 --- a/httemplate/edit/elements/edit.html +++ b/httemplate/edit/elements/edit.html @@ -327,6 +327,9 @@ Example: % #umm. for select-agent_types at least % 'label_callback'=> $f->{'label_callback'}, % +% #for select-ticketing_queueid at least +% 'post_options' => $f->{'post_options'}, +% % #any? % 'colspan' => $f->{'colspan'}, % 'required' => $f->{'required'}, diff --git a/httemplate/edit/pkg_category.html b/httemplate/edit/pkg_category.html index 3be74c7f5..0034dd894 100644 --- a/httemplate/edit/pkg_category.html +++ b/httemplate/edit/pkg_category.html @@ -4,13 +4,18 @@ 'fields' => [ 'categoryname', 'weight', - { field=>'condense', type=>'checkbox', value=>'Y', }, - { field=>'disabled', type=>'checkbox', value=>'Y', }, + { field=>'ticketing_queueid', + type =>'select-ticketing_queueid', + post_options => [ -1 => 'Agent-specific queue' ], + }, + { field=>'condense', type=>'checkbox', value=>'Y' }, + { field=>'disabled', type=>'checkbox', value=>'Y' }, ], 'labels' => { 'categorynum' => 'Category number', 'categoryname' => 'Category name', 'weight' => 'Weight', + 'ticketing_queueid' => 'Ticketing queue', 'condense' => 'Collapse identical items to one', 'disabled' => 'Disable category', }, -- 2.11.0