[Rt-commit] [rtir] 01/01: abstract queue check code. e.g. RT::IR->IsIncidentQueue($QueueObj)

? sunnavy sunnavy at bestpractical.com
Mon Mar 16 15:22:40 EDT 2015


This is an automated email from the git hooks/post-receive script.

sunnavy pushed a commit to branch 3.4/remove_old_constituencies_abstract_queue_check
in repository rtir.

commit 58cd9013d656244b5a8871b2bdac7c04ce6f3f67
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Tue Mar 17 00:18:50 2015 +0800

    abstract queue check code. e.g. RT::IR->IsIncidentQueue($QueueObj)
---
 .../RTIR/Elements/RT__Ticket/ColumnMap/Once        |  2 +-
 html/Callbacks/RTIR/Elements/Tabs/Privileged       |  6 +++---
 html/RTIR/Create.html                              | 12 +++++------
 html/RTIR/Display.html                             |  2 +-
 html/RTIR/Edit.html                                | 12 +++++------
 html/RTIR/Elements/AttachReports                   |  2 +-
 html/RTIR/Elements/ShowDates                       |  5 ++---
 html/RTIR/Incident/BulkAbandon.html                |  2 +-
 html/RTIR/Incident/Display.html                    |  4 ++--
 html/RTIR/Merge/index.html                         |  6 +++---
 html/RTIR/Tools/Elements/LookupSummary             |  8 ++++----
 lib/RT/IR.pm                                       | 24 ++++++++++++++++++++++
 12 files changed, 54 insertions(+), 31 deletions(-)

diff --git a/html/Callbacks/RTIR/Elements/RT__Ticket/ColumnMap/Once b/html/Callbacks/RTIR/Elements/RT__Ticket/ColumnMap/Once
index b3b27af..678987a 100644
--- a/html/Callbacks/RTIR/Elements/RT__Ticket/ColumnMap/Once
+++ b/html/Callbacks/RTIR/Elements/RT__Ticket/ColumnMap/Once
@@ -52,7 +52,7 @@ $COLUMN_MAP->{'RTIRTicketURI'} = {
     value  =>sub {
         my $t = shift;
         my $link;
-        if ($t->QueueObj->Lifecycle eq RT::IR->lifecycle_incident) { 
+        if (RT::IR->IsIncidentQueue($t->QueueObj)) {
             $link =  RT::IR->HREFTo('Incident/Display.html?id='.$t->id);
         } else {
             $link = RT::IR->HREFTo('Display.html?id='.$t->id);
diff --git a/html/Callbacks/RTIR/Elements/Tabs/Privileged b/html/Callbacks/RTIR/Elements/Tabs/Privileged
index dc2780d..8f08d28 100644
--- a/html/Callbacks/RTIR/Elements/Tabs/Privileged
+++ b/html/Callbacks/RTIR/Elements/Tabs/Privileged
@@ -235,7 +235,7 @@ if ( $request_path =~ m{(?:$re_rtir_path)(?:$re_rtir_types/)?(Display|Edit|Updat
 
 
     if ( $can->('ModifyTicket') || $can->('ReplyToTicket') ) {
-        if ( $lifecycle eq RT::IR->lifecycle_incident) {
+        if ( RT::IR->IsIncidentQueue($ticket->QueueObj)) {
             $actions_tab->child(
                 reply_reporters => title => loc('Reply to Reporters'),
                 path  => RT::IR->HREFTo("Incident/Reply/?id=$id&SelectedReportsAll=1"),
@@ -273,9 +273,9 @@ if ( $request_path =~ m{(?:$re_rtir_path)(?:$re_rtir_types/)?(Display|Edit|Updat
         }
 
         my $path = '';
-        $path .= 'Incident/' if $lifecycle eq RT::IR->lifecycle_incident;
+        $path .= 'Incident/' if RT::IR->IsIncidentQueue($ticket->QueueObj);
         if ( my $update = $info->{'update'} ) {
-            $path .= $lifecycle eq RT::IR->lifecycle_incident? 'Reply/' : 'Update.html';
+            $path .= RT::IR->IsIncidentQueue($ticket->QueueObj) ? 'Reply/' : 'Update.html';
             $path .= "?". $m->comp(
                 '/Elements/QueryString',
                 %args,
diff --git a/html/RTIR/Create.html b/html/RTIR/Create.html
index e04bd07..e137b72 100644
--- a/html/RTIR/Create.html
+++ b/html/RTIR/Create.html
@@ -204,7 +204,7 @@
 &>
 </table></&>
 
-% if ( $QueueObj->Lifecycle eq RT::IR->lifecycle_investigation && @IncidentObj ) {
+% if ( RT::IR->IsInvestigationQueue($QueueObj) && @IncidentObj ) {
   <& /RTIR/Elements/AttachReports, Ticket => \@IncidentObj &>
 % }
 
@@ -283,7 +283,7 @@
    if ($Transactions) {
    # Investigations should quote their included text
    my $quote = 0;
-   if ($QueueObj->Lifecycle eq RT::IR->lifecycle_investigation){  
+   if (RT::IR->IsInvestigationQueue($QueueObj)){  
        $quote = 1;
    }
    $ARGS{Content} = $m->scomp("/RTIR/Elements/TransactionData", 
@@ -346,7 +346,7 @@ $QueueObj->Load( $Queue ) || Abort( loc("Queue could not be loaded.") );
 my $ticket = RT::Ticket->new($session{'CurrentUser'}); # empty ticket object
 
 my $Type = RT::IR::TicketType( Lifecycle => $QueueObj->Lifecycle);
-if ($QueueObj->Lifecycle eq RT::IR->lifecycle_countermeasure 
+if (RT::IR->IsCountermeasureQueue($QueueObj) 
     && RT->Config->Get('RTIR_DisableBlocksQueue') ) {
     Abort(loc("Blocks queue is disabled via config file"));
 }
@@ -383,7 +383,7 @@ foreach my $id ( grep $_, @Incident ) {
     unless ( $inc->id ) {
         push @results, loc("Couldn't load incident #[_1]", $id );
     }
-    elsif ( $inc->QueueObj->Lifecycle ne RT::IR->lifecycle_incident ) {
+    elsif ( !RT::IR->IsIncidentQueue($inc->QueueObj) ) {
         push @results, loc('Ticket #[_1] is not an Incident', $id );
     }
     else {
@@ -427,7 +427,7 @@ if ( !$skip_create && $gnupg_widget ) {
 }
 
 unless ( $skip_create ) {
-if ( $QueueObj->Lifecycle eq RT::IR->lifecycle_investigation && !$ARGS{'Requestors'} ) {
+if ( RT::IR->IsInvestigationQueue($QueueObj) && !$ARGS{'Requestors'} ) {
         push @results, loc( "You must enter a correspondent" );
         $checks_failure = 1;
     }
@@ -484,7 +484,7 @@ if ( $Split ) {
 $Title = loc("Split [_1] #[_2]: [_3]", RT::IR::TicketType(Lifecycle => $QueueObj->Lifecycle), $SplitObj->id, $SplitObj->Subject);
     $SubmitCaption = loc("Split");
 } else {
-if ( $QueueObj->Lifecycle eq RT::IR->lifecycle_investigation ) {
+if ( RT::IR->IsInvestigationQueue($QueueObj) ) {
     $Title = loc("Launch a new investigation");
         $SubmitCaption = loc("Launch");
     } else {
diff --git a/html/RTIR/Display.html b/html/RTIR/Display.html
index a862403..ab30fb5 100644
--- a/html/RTIR/Display.html
+++ b/html/RTIR/Display.html
@@ -186,7 +186,7 @@ RT::Interface::Web::Redirect(RT->Config->Get('WebURL')
     . 'Ticket/Display.html?'
     . $m->comp('/Elements/QueryString', %ARGS )) unless $Type;
 
-if ($QueueObj->Lifecycle eq RT::IR->lifecycle_countermeasure && RT->Config->Get('RTIR_DisableBlocksQueue') ) {
+if (RT::IR->IsCountermeasureQueue($QueueObj) && RT->Config->Get('RTIR_DisableBlocksQueue') ) {
     Abort(loc("Blocks queue is disabled via config file"));
     }
 
diff --git a/html/RTIR/Edit.html b/html/RTIR/Edit.html
index 8ef5982..b6efb5f 100644
--- a/html/RTIR/Edit.html
+++ b/html/RTIR/Edit.html
@@ -74,7 +74,7 @@
   <tr class="status">
     <td class="label"><&|/l&>Status</&>:</td>
     <td class="value" colspan="2">
-% unless ( $Ticket->QueueObj->Lifecycle eq RT::IR->lifecycle_countermeasure ) {
+% unless ( RT::IR->IsCountermeasureQueue($Ticket->QueueObj) ) {
       <% loc($Ticket->Status) %>
 % } else {
       <& /Elements/SelectStatus,
@@ -106,7 +106,7 @@
 
 
 
-% if ($Ticket->QueueObj->Lifecycle ne RT::IR->lifecycle_incident ) {
+% if (!RT::IR->IsIncidentQueue($Ticket->QueueObj) ) {
   <tr class="incidents">
     <td class="label"><%loc("Incident")%>:</td>
     <td class="value"><& /RTIR/Elements/ShowIncidents, Ticket => $Ticket &></td>
@@ -119,7 +119,7 @@
         Default => $ARGS{'TimeWorked'} || $Ticket->TimeWorked || '',
     &></td>
   </tr>
-% if ( $Ticket->QueueObj->Lifecycle eq RT::IR->lifecycle_incident) {
+% if ( RT::IR->IsIncidentQueue($Ticket->QueueObj)) {
   <tr class="priority">
     <td class="label"><&|/l&>Priority</&>:</td>
     <td class="value"><&/Elements/SelectPriority, Name => 'Priority', Default => $ARGS{'Priority'} || $Ticket->Priority &></td>
@@ -150,7 +150,7 @@
 </table>
 <br />
 
-% if ( $Ticket->QueueObj->Lifecycle ne RT::IR->lifecycle_incident) {
+% if ( !RT::IR->IsIncidentQueue($Ticket->QueueObj)) {
 <&| /Widgets/TitleBox, title => loc('People'), class => 'ticket-info-people' &>
 <& /RTIR/Elements/EditPeople, %ARGS, Ticket => $Ticket &>
 </&>
@@ -173,7 +173,7 @@ my $Type = RT::IR::TicketType( Lifecycle => $Ticket->QueueObj->Lifecycle );
 RT::Interface::Web::Redirect(RT->Config->Get('WebURL').'Ticket/Display.html?'.
     $m->comp('/Elements/QueryString', %ARGS )) unless $Type;
 
-if ($Ticket->QueueObj->Lifecycle eq RT::IR->lifecycle_countermeasure
+if (RT::IR->IsCountermeasureQueue($Ticket->QueueObj)
     && RT->Config->Get('RTIR_DisableBlocksQueue') ) {
     Abort(loc("Blocks queue is disabled via config file"));
 }
@@ -250,7 +250,7 @@ if ( $SaveChanges && !$checks_failure && !$OnlySearchForPeople ) {
 my $name = RT::IR::TicketType( Ticket => $Ticket );
 # We still call incident reports "incident reports in some places
 # XXX TODO just create a ShortTicketType method
-if ($Ticket->QueueObj->Lifecycle eq RT::IR->lifecycle_report) {
+if (RT::IR->IsReportQueue($Ticket->QueueObj)) {
     $name = "Incident Report";
 }
 
diff --git a/html/RTIR/Elements/AttachReports b/html/RTIR/Elements/AttachReports
index e77fa41..ad6fb7d 100644
--- a/html/RTIR/Elements/AttachReports
+++ b/html/RTIR/Elements/AttachReports
@@ -64,7 +64,7 @@ return unless @Ticket;
 
 my @parents;
 foreach my $e ( @Ticket ) {
-    if ( $e->QueueObj->Lifecycle eq RT::IR->lifecycle_incident) {
+    if ( RT::IR->IsIncidentQueue($e->QueueObj)) {
         push @parents, $e->id;
     } else {
         push @parents, map $_->id, @{ RT::IR->Incidents( $e )->ItemsArrayRef || [] };
diff --git a/html/RTIR/Elements/ShowDates b/html/RTIR/Elements/ShowDates
index 3dfcf4d..37d9acf 100644
--- a/html/RTIR/Elements/ShowDates
+++ b/html/RTIR/Elements/ShowDates
@@ -54,7 +54,7 @@
     <td class="label"><&|/l&>Starts</&>:</td>
     <td class="value"><% $Ticket->StartsObj->AsString %></td>
   </tr>
-% if ( $lifecycle eq RT::IR->lifecycle_report || $lifecycle eq RT::IR->lifecycle_investigation || $lifecycle eq RT::IR->lifecycle_countermeasure) {
+% if ( RT::IR->IsReportQueue($Ticket->QueueObj) || RT::IR->IsInvestigationQueue($Ticket->QueueObj) || RT::IR->IsCountermeasureQueue($Ticket->QueueObj) ) {
   <tr>
     <td class="label"><&|/l&>Started</&>:</td>
     <td class="value"><% $Ticket->StartedObj->AsString %></td>
@@ -69,7 +69,7 @@
 % } else {
         <% $due->AsString %>
 % }
-% if ( $lifecycle ne RT::IR->lifecycle_incident && $Due ) {
+% if ( !RT::IR->IsIncidentQueue($Ticket->QueueObj) && $Due ) {
         [<a href="Display.html?Due_Date=now%20%2B%20<% $Due |u %>%20days&id=<% $Ticket->Id %>"><% loc("Set to [_1] days from now", $Due ) %></a>]
 % }
     </td>
@@ -84,6 +84,5 @@
 $Ticket => undef
 </%ARGS>
 <%INIT>
-my $lifecycle = $Ticket->QueueObj->Lifecycle;
 my $Due = ( $Ticket->QueueObj->DefaultDueIn || (RT->Config->Get('OverdueAfter')) || 7 ) ;
 </%INIT>
diff --git a/html/RTIR/Incident/BulkAbandon.html b/html/RTIR/Incident/BulkAbandon.html
index 861dc74..ac7638e 100644
--- a/html/RTIR/Incident/BulkAbandon.html
+++ b/html/RTIR/Incident/BulkAbandon.html
@@ -120,7 +120,7 @@ if ( $ARGS{'BulkAbandon'} ) {
         }
         $id = $t->id;
 
-        unless( $t->QueueObj->Lifecycle eq RT::IR->lifecycle_incident ) {
+        unless( RT::IR->IsIncidentQueue($t->QueueObj) ) {
             push @tempresults, [ $id, loc("Is not incident.") ];
             next;
         }
diff --git a/html/RTIR/Incident/Display.html b/html/RTIR/Incident/Display.html
index 05b80ff..59ee57b 100644
--- a/html/RTIR/Incident/Display.html
+++ b/html/RTIR/Incident/Display.html
@@ -231,7 +231,7 @@ my $new_ticket = 0;
 if ( $id eq 'new' ) {
     my $QueueObj = RT::Queue->new( $session{'CurrentUser'} );
     $QueueObj->Load( $Queue ) || Abort(loc("Couldn't load queue."));
-    unless( $QueueObj->Lifecycle eq RT::IR->lifecycle_incident ) {
+    unless( RT::IR->IsIncidentQueue($QueueObj) ) {
         return $m->comp('/RTIR/Display.html', %ARGS );
     }
     ($TicketObj, @results) = CreateTicket( %ARGS );
@@ -245,7 +245,7 @@ $m->callback(CallbackName => 'ProcessArguments',
             ARGSRef => \%ARGS,  
             Actions => \@results);
 
-unless( $TicketObj->QueueObj->Lifecycle eq RT::IR->lifecycle_incident ) {
+unless( RT::IR->IsIncidentQueue($TicketObj->QueueObj) ) {
     return $m->comp('/RTIR/Display.html', %ARGS );
 }
 $ARGS{'id'} = $id = $TicketObj->Id;
diff --git a/html/RTIR/Merge/index.html b/html/RTIR/Merge/index.html
index 2d2e667..b367fac 100644
--- a/html/RTIR/Merge/index.html
+++ b/html/RTIR/Merge/index.html
@@ -69,9 +69,9 @@
 
 <& /RTIR/Elements/MergeWith, %defaults, %ARGS, Lifecycle => $Ticket->QueueObj->Lifecycle, Ticket => $Ticket &>
 
-% if ( $Lifecycle eq RT::IR->lifecycle_report) {
+% if ( RT::IR->IsReportQueue($Ticket->QueueObj)) {
 <& /RTIR/Elements/MergeWith, %defaults, %ARGS, Lifecycle => RT::IR->lifecycle_investigation, Ticket => $Ticket &>
-% } elsif ( $Lifecycle eq RT::IR->lifecycle_investigation) {
+% } elsif ( RT::IR->IsInvestigationQueue($Ticket->QueueObj)) {
 <& /RTIR/Elements/MergeWith, %defaults, %ARGS, Lifecycle => RT::IR->lifecycle_report, Ticket => $Ticket &>
 % }
 <& /Elements/Submit, Caption=> loc('Merge into selected Ticket'), Label => loc("Merge") &>
@@ -144,7 +144,7 @@ my %defaults = (
 );
 
 my $siblings_query = '';
-if ( $Lifecycle ne RT::IR->lifecycle_incident) {
+if ( !RT::IR->IsIncidentQueue($Ticket->QueueObj)) {
     my @parents = @{ RT::IR->Incidents( $Ticket )->ItemsArrayRef || [] };
     if ( @parents ) {
         my @lifecycles = ($Lifecycle);
diff --git a/html/RTIR/Tools/Elements/LookupSummary b/html/RTIR/Tools/Elements/LookupSummary
index f701b63..04a1632 100644
--- a/html/RTIR/Tools/Elements/LookupSummary
+++ b/html/RTIR/Tools/Elements/LookupSummary
@@ -79,8 +79,8 @@ my $Format = RT->Config->Get('RTIRSearchResultFormats')->{'LookupTool'};
 if ( $TicketObj ) {
 
     my @show;
-    push @show, 'link' if ($Lifecycle eq RT::IR->lifecycle_incident && $TicketObj->QueueObj->Lifecycle ne RT::IR->lifecycle_incident)
-        || ($Lifecycle ne RT::IR->lifecycle_incident && $TicketObj->QueueObj->Lifecycle eq RT::IR->lifecycle_incident);
+    push @show, 'link' if ($Lifecycle eq RT::IR->lifecycle_incident && !RT::IR->IsIncidentQueue($TicketObj->QueueObj))
+        || ($Lifecycle ne RT::IR->lifecycle_incident && RT::IR->IsIncidentQueue($TicketObj->QueueObj));
     push @show, 'merge' if $Lifecycle eq $TicketObj->QueueObj->Lifecycle;
 
     my $column = $Lifecycle eq RT::IR->lifecycle_incident ? 'Incident' : 'Children';
@@ -95,7 +95,7 @@ push @box_actions, {
         Query => $Query,
     )),
 };
-if ( $TicketObj && $TicketObj->QueueObj->Lifecycle eq RT::IR->lifecycle_incident 
+if ( $TicketObj && RT::IR->IsIncidentQueue($TicketObj->QueueObj) 
     && $Lifecycle ne RT::IR->lifecycle_incident
 ) {
     push @box_actions, {
@@ -126,7 +126,7 @@ if ( $TicketObj && $TicketObj->QueueObj->Lifecycle eq RT::IR->lifecycle_incident
         };
     }
 }
-elsif ( $TicketObj && $TicketObj->QueueObj->Lifecycle ne RT::IR->lifecycle_incident 
+elsif ( $TicketObj && !RT::IR->IsIncidentQueue($TicketObj->QueueObj) 
     && $Lifecycle eq RT::IR->lifecycle_incident
 ) {
     push @box_actions, {
diff --git a/lib/RT/IR.pm b/lib/RT/IR.pm
index 1ff8054..215e0dc 100644
--- a/lib/RT/IR.pm
+++ b/lib/RT/IR.pm
@@ -817,6 +817,30 @@ sub ConstituencyFor {
     return $ticket->QueueObj->FirstCustomFieldValue('RTIR Constituency');
 }
 
+sub IsReportQueue {
+    my $self  = shift;
+    my $queue = shift;
+    return $queue->Lifecycle eq $self->lifecycle_report;
+}
+
+sub IsIncidentQueue {
+    my $self  = shift;
+    my $queue = shift;
+    return $queue->Lifecycle eq $self->lifecycle_incident;
+}
+
+sub IsInvestigationQueue {
+    my $self  = shift;
+    my $queue = shift;
+    return $queue->Lifecycle eq $self->lifecycle_investigation;
+}
+
+sub IsCountermeasureQueue {
+    my $self  = shift;
+    my $queue = shift;
+    return $queue->Lifecycle eq $self->lifecycle_countermeasure;
+}
+
 require RT::Search::Simple;
 package RT::Search::Simple;
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the rt-commit mailing list