[Rt-commit] r5057 - in rt/branches/3.7-EXPERIMENTAL: . html/Search
lib/RT/Report
ruz at bestpractical.com
ruz at bestpractical.com
Wed Apr 19 22:12:31 EDT 2006
Author: ruz
Date: Wed Apr 19 22:12:29 2006
New Revision: 5057
Modified:
rt/branches/3.7-EXPERIMENTAL/ (props changed)
rt/branches/3.7-EXPERIMENTAL/html/Search/Chart
rt/branches/3.7-EXPERIMENTAL/html/Search/Elements/Chart
rt/branches/3.7-EXPERIMENTAL/html/Search/Elements/SelectGroupBy
rt/branches/3.7-EXPERIMENTAL/lib/RT/Report/Tickets.pm
Log:
r2417 at cubic-pc: cubic | 2006-04-20 06:19:10 +0400
* split labels and values
Modified: rt/branches/3.7-EXPERIMENTAL/html/Search/Chart
==============================================================================
--- rt/branches/3.7-EXPERIMENTAL/html/Search/Chart (original)
+++ rt/branches/3.7-EXPERIMENTAL/html/Search/Chart Wed Apr 19 22:12:29 2006
@@ -19,10 +19,17 @@
$chart_class = "GD::Graph::bars";
}
+use RT::Report::Tickets;
+my $tix = RT::Report::Tickets->new( $session{'CurrentUser'} );
+$tix->FromSQL( $Query );
+my $count_name = $tix->Column( FUNCTION => 'COUNT', FIELD => 'id' );
+$tix->GroupBy( FIELD => $PrimaryGroupBy );
+my $value_name = $tix->Column( FIELD => $PrimaryGroupBy );
+
my $chart = $chart_class->new( 600 => 400 );
if ($chart_class eq "GD::Graph::bars") {
$chart->set(
- x_label => $PrimaryGroupBy,
+ x_label => $tix->Label( $PrimaryGroupBy ),
x_labels_vertical => 1,
y_label => 'Tickets',
show_values => 1
@@ -30,13 +37,6 @@
$chart->set_legend_font( ['verdana', 'arial', gdMediumBoldFont], 12);
}
-use RT::Report::Tickets;
-my $tix = RT::Report::Tickets->new( $session{'CurrentUser'} );
-$tix->FromSQL( $Query );
-my $count_name = $tix->Column( FUNCTION => 'COUNT', FIELD => 'id' );
-$tix->GroupBy( FIELD => $PrimaryGroupBy );
-my $value_name = $tix->Column( FIELD => $PrimaryGroupBy );
-
my %class = (
Queue => 'RT::Queue',
Owner => 'RT::User',
Modified: rt/branches/3.7-EXPERIMENTAL/html/Search/Elements/Chart
==============================================================================
--- rt/branches/3.7-EXPERIMENTAL/html/Search/Elements/Chart (original)
+++ rt/branches/3.7-EXPERIMENTAL/html/Search/Elements/Chart Wed Apr 19 22:12:29 2006
@@ -42,7 +42,7 @@
<table class="collection-as-table">
<tr>
-<th class="collection-as-table"><%loc($PrimaryGroupBy)%>
+<th class="collection-as-table"><% $tix->Label($PrimaryGroupBy) %>
</th>
<th class="collection-as-table"><&|/l&>Tickets</&>
</th>
Modified: rt/branches/3.7-EXPERIMENTAL/html/Search/Elements/SelectGroupBy
==============================================================================
--- rt/branches/3.7-EXPERIMENTAL/html/Search/Elements/SelectGroupBy (original)
+++ rt/branches/3.7-EXPERIMENTAL/html/Search/Elements/SelectGroupBy Wed Apr 19 22:12:29 2006
@@ -3,13 +3,14 @@
$Default => 'Status'
$Query => ''
</%args>
-<select name="<%$Name%>">
-% foreach my $option (@options) {
-<option value="<%$option%>" <% $option eq $Default ? 'SELECTED' : '' %>><%loc($option)%></option>
+<select name="<% $Name %>">
+% while (@options) {
+% my ($text, $value) = (shift @options, shift @options);
+<option value="<% $value %>" <% $value eq $Default ? 'selected' : '' %>><% loc($text) %></option>
% }
</select>
<%init>
use RT::Report::Tickets;
-my $report = RT::Report::Tickets->new($session{'CurrentUser'});
+my $report = RT::Report::Tickets->new( $session{'CurrentUser'} );
my @options = $report->Groupings( Query => $Query );
</%init>
Modified: rt/branches/3.7-EXPERIMENTAL/lib/RT/Report/Tickets.pm
==============================================================================
--- rt/branches/3.7-EXPERIMENTAL/lib/RT/Report/Tickets.pm (original)
+++ rt/branches/3.7-EXPERIMENTAL/lib/RT/Report/Tickets.pm Wed Apr 19 22:12:29 2006
@@ -32,12 +32,18 @@
StartsMonthly
StartsAnnually
);
- if ( $args{'Query'} ) {
+
+ @fields = map {$_, $_} @fields;
+
+ my $queues = $args{'Queues'};
+ if ( !$queues && $args{'Query'} ) {
require RT::Interface::Web::QueryBuilder::Tree;
my $tree = RT::Interface::Web::QueryBuilder::Tree->new('AND');
$tree->ParseSQL( Query => $args{'Query'}, CurrentUser => $self->CurrentUser );
- my $queues = $tree->GetReferencedQueues;
+ $queues = $tree->GetReferencedQueues;
+ }
+ if ( $queues ) {
my $CustomFields = RT::CustomFields->new( $self->CurrentUser );
foreach my $id (keys %$queues) {
my $queue = RT::Queue->new( $self->CurrentUser );
@@ -52,12 +58,25 @@
}
$CustomFields->LimitToGlobal;
while ( my $CustomField = $CustomFields->Next ) {
- push @fields, "CF.{". $CustomField->Name ."}";
+ push @fields, "Custom field '". $CustomField->Name ."'", "CF.{". $CustomField->id ."}";
}
}
return @fields;
}
+sub Label {
+ my $self = shift;
+ my $field = shift;
+ if ( $field =~ /^(?:CF|CustomField)\.{(.*)}$/ ) {
+ my $cf = $1;
+ return $self->CurrentUser->loc( "Custom field '[_1]'", $cf ) if $cf =~ /\D/;
+ my $obj = RT::CustomField->new( $self->CurrentUser );
+ $obj->Load( $cf );
+ return $self->CurrentUser->loc( "Custom field '[_1]'", $obj->Name );
+ }
+ return $self->CurrentUser->loc($field);
+}
+
sub GroupBy {
my $self = shift;
my %args = ref $_[0]? %{ $_[0] }: (@_);
More information about the Rt-commit
mailing list