[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