diff options
| author | Ivan Kohler <ivan@freeside.biz> | 2015-10-05 18:35:13 -0700 | 
|---|---|---|
| committer | Ivan Kohler <ivan@freeside.biz> | 2015-10-05 18:35:13 -0700 | 
| commit | d0b3acc1efb65855d5e52d54c33bb035c9776e2d (patch) | |
| tree | c7fe7b3d940481a24ad394f01eb67ea2eeb53cc7 | |
| parent | cace897d9c5fbe1f80277b0cb14e85c9d2272cf1 (diff) | |
ticket_system-appointment-queueid config, RT#34237
| -rw-r--r-- | FS/FS/Conf.pm | 30 | ||||
| -rw-r--r-- | rt/share/html/Elements/CalendarSlotSchedule | 6 | ||||
| -rw-r--r-- | rt/share/html/Search/Schedule.html | 9 | 
3 files changed, 42 insertions, 3 deletions
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index 1e0d99928..fa4ff41d3 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -3074,12 +3074,14 @@ and customer address. Include units.',                             }                           },    }, +    {      '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', @@ -3158,6 +3160,34 @@ and customer address. Include units.',    },    { +    '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.', diff --git a/rt/share/html/Elements/CalendarSlotSchedule b/rt/share/html/Elements/CalendarSlotSchedule index 045d6e436..4a9b3bcc3 100644 --- a/rt/share/html/Elements/CalendarSlotSchedule +++ b/rt/share/html/Elements/CalendarSlotSchedule @@ -87,7 +87,11 @@  %         # (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'; diff --git a/rt/share/html/Search/Schedule.html b/rt/share/html/Search/Schedule.html index be5a140ef..c729ff068 100644 --- a/rt/share/html/Search/Schedule.html +++ b/rt/share/html/Search/Schedule.html @@ -201,8 +201,8 @@  <& /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, @@ -222,6 +222,11 @@ my $timestep =  RT->Config->Get('CalendarWeeklySizeMin') || 30; #1/2h  </%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 ) );  | 
