Commit f66a376e authored by Jim Brandt's avatar Jim Brandt
Browse files

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
parent 7fd4126e
......@@ -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;
......
......@@ -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);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment