Revision 06837707
Von Moritz Bunkus vor mehr als 9 Jahren hinzugefügt
SL/Controller/Project.pm | ||
---|---|---|
54 | 54 |
|
55 | 55 |
$self->make_filter_summary; |
56 | 56 |
|
57 |
my $projects = $self->models->get; |
|
58 |
|
|
59 | 57 |
$self->prepare_report; |
60 | 58 |
|
61 |
$self->report_generator_list_objects(report => $self->{report}, objects => $projects);
|
|
59 |
$self->report_generator_list_objects(report => $self->{report}, objects => $self->models->get);
|
|
62 | 60 |
} |
63 | 61 |
|
64 | 62 |
sub action_new { |
... | ... | |
215 | 213 |
|
216 | 214 |
map { $column_defs{$_}->{text} ||= $::locale->text( $self->models->get_sort_spec->{$_}->{title} ) } keys %column_defs; |
217 | 215 |
|
218 |
if ( $report->{options}{output_format} =~ /^(pdf|csv)$/i ) { |
|
219 |
$self->models->disable_plugin('paginated'); |
|
220 |
} |
|
221 | 216 |
$report->set_options( |
222 | 217 |
std_column_visibility => 1, |
223 | 218 |
controller_class => 'Project', |
224 | 219 |
output_format => 'HTML', |
225 |
raw_top_info_text => $self->render('project/report_top', { output => 0 }), |
|
226 |
raw_bottom_info_text => $self->render('project/report_bottom', { output => 0 }), |
|
227 | 220 |
title => $::locale->text('Projects'), |
228 | 221 |
allow_pdf_export => 1, |
229 | 222 |
allow_csv_export => 1, |
... | ... | |
232 | 225 |
$report->set_column_order(@columns); |
233 | 226 |
$report->set_export_options(qw(list filter)); |
234 | 227 |
$report->set_options_from_form; |
228 |
$self->models->disable_plugin('paginated') if $report->{options}{output_format} =~ /^(pdf|csv)$/i; |
|
235 | 229 |
$self->models->set_report_generator_sort_options(report => $report, sortable_columns => \@sortable); |
236 | 230 |
$report->set_options( |
231 |
raw_top_info_text => $self->render('project/report_top', { output => 0 }), |
|
237 | 232 |
raw_bottom_info_text => $self->render('project/report_bottom', { output => 0 }), |
238 | 233 |
); |
239 | 234 |
} |
Auch abrufbar als: Unified diff
Project-Controller: Paginaten beim CSV-/PDF-Export ausschalten
Die Entscheidung, ob CSV-/PDF-Export gewünscht wird, ist erst nach dem
$report->set_options_from_form klar. Andererseits müssen Module im
GetModels deaktiviert werden, bevor die GetModels-Instanz finalisiert
wird. Das kann sie werden, wenn ihre Anzahl benötigt wird (z.B. beim
Rendern vom bottom text) oder wenn man get_models schlicht vorher
aufruft.
Also Aufrufreihenfolge gefixt:
1. $report->set_options_from_form
2. Paginating disablen wenn Export gewünscht
3. Top-/Bottom-Texte render
4. Models abholen