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

Jim Brandt jbrandt at bestpractical.com
Thu Jun 5 11:24:01 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 ba1df27427d97aa6e475ea435b19bf771e0ffa65
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 permmission configurations.
    
    Resolves Issues: 30040
---
 html/RTIR/Reporting/Report.html |  3 +++
 html/RTIR/Reporting/index.html  | 18 +++++++++++++-----
 2 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/html/RTIR/Reporting/Report.html b/html/RTIR/Reporting/Report.html
index ae492bb..906397e 100644
--- a/html/RTIR/Reporting/Report.html
+++ b/html/RTIR/Reporting/Report.html
@@ -121,6 +121,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