summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2014-04-09 13:25:58 -0700
committerIvan Kohler <ivan@freeside.biz>2014-04-09 13:25:58 -0700
commitf926513f6aa8cc228f62f8b1f582bb823c021cdc (patch)
tree9d7d1225112db4e3767899b52fbb1ef772bd1e28
parentc6c8d0ffa48f07b5c1b7df7981bc28322d47cf70 (diff)
installers, RT#16584
-rw-r--r--FS/FS/Schema.pm11
-rw-r--r--FS/FS/pkg_category.pm36
-rw-r--r--httemplate/browse/pkg_category.html6
-rw-r--r--httemplate/browse/pkg_class.html2
-rw-r--r--httemplate/edit/elements/edit.html3
-rw-r--r--httemplate/edit/pkg_category.html9
6 files changed, 53 insertions, 14 deletions
diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm
index ae25da1..a1004d0 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 cd875d1..adfadd7 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<ticketing_queueid>
+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 2c181a3..67ee035 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 f3e2364..2aa2857 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' ]
}
</%init>
diff --git a/httemplate/edit/elements/edit.html b/httemplate/edit/elements/edit.html
index f003454..acfa8c5 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 3be74c7..0034dd8 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',
},