[Rt-commit] [rtir] 01/02: Allow reports to be run when Constituency CF is disabled

Jim Brandt jbrandt at bestpractical.com
Wed Jun 11 11:31:41 EDT 2014


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

jbrandt pushed a commit to branch 3.0/reports-without-constituencies
in repository rtir.

commit f66a376eadb6d1d0b7e1434cc3c8557a4aaef06b
Author: Jim Brandt <jbrandt at bestpractical.com>
Date:   Tue Jun 3 15:09:33 2014 -0400

    Allow reports to be run when Constituency CF is disabled
    
    With this commit, the Constituency CF is now loaded as the
    current user rather than the SystemUser because only users
    with access to the Constituency CF should see it in the
    reporting menu. However, it is a behavior change that may be
    noticed by some users with more customized rights configurations.
    
    Resolves Issues: 30040
---
 html/RTIR/Reporting/Report.html | 11 ++++++++++-
 html/RTIR/Reporting/index.html  | 18 +++++++++++++-----
 2 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/html/RTIR/Reporting/Report.html b/html/RTIR/Reporting/Report.html
index ae492bb..304af8d 100644
--- a/html/RTIR/Reporting/Report.html
+++ b/html/RTIR/Reporting/Report.html
@@ -46,7 +46,13 @@
 %#
 %# END BPS TAGGED BLOCK }}}
 <%PERL>
-$m->comp("SELF:Heading$ReportAs", Text => loc('RTIR Periodic Report for [_1]', $Constituency) );
+if ( $Constituency ){
+    $m->comp("SELF:Heading$ReportAs", Text => loc('RTIR Periodic Report for [_1]', $Constituency) );
+}
+else{
+    $m->comp("SELF:Heading$ReportAs", Text => loc('RTIR Periodic Report') );
+}
+
 $m->comp("SELF:TwoColumnsTable$ReportAs",
     Body => [
         [ loc('Start date'), $rtstart->AsString ],
@@ -121,6 +127,9 @@ my $filter_by_incident_field = sub {
         %$res = %$tickets;
     }
 
+    # No filter on Constituency if that feature isn't being used
+    return $res if $field eq 'Constituency' and not $condition;
+
     while( my($id, $t) = each %$res ) {
         my $value = $get_incident_field->( $t, $field );
         delete $res->{$id} if $value? $value ne $condition: $condition;
diff --git a/html/RTIR/Reporting/index.html b/html/RTIR/Reporting/index.html
index 6de5b82..9b76078 100644
--- a/html/RTIR/Reporting/index.html
+++ b/html/RTIR/Reporting/index.html
@@ -50,6 +50,7 @@
 
 <form action="index.html" method="post">
 <table>
+% unless ( $ConstituencyDisabled ){
   <tr>
     <td class="label"><&|/l&>Constituency</&>:</td>
     <td class="value">
@@ -61,6 +62,7 @@
       &>
     </td>
   </tr>
+% }
   <tr>
     <td class="label"><&|/l&>Start Date:</&></td>
     <td class="input">
@@ -92,9 +94,18 @@
 </form>
 
 <%INIT>
+my $QueueObj = RT::Queue->new($session{'CurrentUser'});
+$QueueObj->Load('Incidents');
+
+my $ConstituencyDisabled = 0;
+my $constituency_cf = RT::CustomField->new($session{'CurrentUser'});
+my ($ok, $msg) = $constituency_cf->LoadByName(Queue => $QueueObj->Id, Name => 'Constituency');
+if ( not $ok or $constituency_cf->Disabled ){
+    $ConstituencyDisabled = 1;
+}
+
 if ( $ARGS{'HTMLReport'} || $ARGS{'TextReport'} || $ARGS{'SpreadsheetReport'} ) {
-    unless ( $ARGS{'Constituency'} ) {
-        my $constituency_cf = RT::IR::GetCustomField('Constituency');
+    unless ( $ARGS{'Constituency'} or $ConstituencyDisabled ) {
         $ARGS{'Constituency'} = delete $ARGS{ 'Object-RT::Ticket--CustomField-'. $constituency_cf->Id .'-Values' };
     }
     my $ext = 'html';
@@ -105,9 +116,6 @@ if ( $ARGS{'HTMLReport'} || $ARGS{'TextReport'} || $ARGS{'SpreadsheetReport'} )
     $m->redirect($url);
 }
 
-my $QueueObj = RT::Queue->new($session{'CurrentUser'});
-$QueueObj->Load('Incidents');
-
 my $now = RT::Date->new(RT->SystemUser);
 $now->SetToNow();
 my $end = RT::Date->new(RT->SystemUser);

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


More information about the rt-commit mailing list