}
},
},
+
{
'key' => 'ticket_system-force_default_queueid',
'section' => 'ticketing',
'description' => 'Disallow queue selection when creating new tickets from customer view.',
'type' => 'checkbox',
},
+
{
'key' => 'ticket_system-selfservice_queueid',
'section' => 'ticketing',
},
{
+ 'key' => 'ticket_system-appointment-queueid',
+ 'section' => 'ticketing',
+ 'description' => 'Custom field from the ticketing system to use as an appointment classification.',
+ #false laziness w/above
+ 'type' => 'select-sub',
+ 'options_sub' => sub {
+ my $conf = new FS::Conf;
+ if ( $conf->config('ticket_system') ) {
+ eval "use FS::TicketSystem;";
+ die $@ if $@;
+ FS::TicketSystem->queues();
+ } else {
+ ();
+ }
+ },
+ 'option_sub' => sub {
+ my $conf = new FS::Conf;
+ if ( $conf->config('ticket_system') ) {
+ eval "use FS::TicketSystem;";
+ die $@ if $@;
+ FS::TicketSystem->queue(shift);
+ } else {
+ '';
+ }
+ },
+ },
+
+ {
'key' => 'ticket_system-escalation',
'section' => 'ticketing',
'description' => 'Enable priority escalation of tickets as part of daily batch processing.',
% # (XXX and eventually, package)
% my $cust_main = qsearchs('cust_main', { custnum=>$custnum } )
% or die "unknown custnum $custnum";
-% my $Queue = $cust_main->agent->ticketing_queueid || 1; # || $default_queueid;#XXX really, pick pkg_category queue
+%
+% my $conf = new FS::Conf;
+% my $Queue = $conf->config('ticket_system-appointment-queueid')
+% or die "ticket_system-appointment-queueid configuration not set";
+%
% my $member = "freeside://freeside/cust_main/$custnum";
%
%warn my $Starts = int($tod_row/60). ':'. sprintf('%02d',$tod_row%60). ':00';
<& /Search/Calendar.html,
@_,
Query => "( Status = 'new' OR Status = 'open' OR Status = 'stalled')
- AND ( Type = 'reminder' OR 'Type' = 'ticket' )",
- #XXX and we have the magic custom field
+ AND ( Type = 'reminder' OR 'Type' = 'ticket' )
+ AND Queue.id = $queueid ",
slots => scalar(@usernames),
Embed => 'Schedule.html',
DimPast => 1,
</%ONCE>
<%init>
+#abstraction-leaking
+my $conf = new FS::Conf;
+my $queueid = $conf->config('ticket_system-appointment-queueid')
+ or die "ticket_system-appointment-queueid configuration not set";
+
my @files = ();
#if ( ! $initialized ) {
push @files, map "overlibmws$_", ( '', qw( _iframe _draggable _crossframe ) );