Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 75e726e7

Von Sven Schöling vor mehr als 11 Jahren hinzugefügt

  • ID 75e726e709d422448c623e139012edb3bce73acc
  • Vorgänger 9d015fd3
  • Nachfolger 7dfa1a54

Projects auf getmodels

Unterschiede anzeigen:

SL/Controller/Project.pm
use Clone qw(clone);
use SL::Controller::Helper::GetModels;
use SL::Controller::Helper::Paginated;
use SL::Controller::Helper::Sorted;
use SL::Controller::Helper::Filtered;
use SL::Controller::Helper::ParseFilter;
use SL::Controller::Helper::ReportGenerator;
use SL::CVar;
......
use Rose::Object::MakeMethods::Generic
(
scalar => [ qw(project linked_records) ],
'scalar --get_set_init' => [ qw(models) ],
);
__PACKAGE__->run_before('check_auth');
__PACKAGE__->run_before('load_project', only => [ qw(edit update destroy) ]);
__PACKAGE__->make_filtered(
MODEL => 'Project',
LAUNDER_TO => 'filter',
ONLY => [ qw(list) ],
);
__PACKAGE__->make_paginated(
MODEL => 'Project',
# PAGINATE_ARGS => 'db_args',
ONLY => [ qw(list) ],
);
__PACKAGE__->make_sorted(
MODEL => 'Project',
ONLY => [ qw(list) ],
DEFAULT_BY => 'projectnumber',
DEFAULT_DIR => 1,
customer => t8('Customer'),
description => t8('Description'),
projectnumber => t8('Project Number'),
type => t8('Type'),
);
#
# actions
#
......
# $self->make_filter_summary;
my $projects = $self->get_models(
with_objects => [ 'customer' ],
);
my $projects = $self->models->get;
$self->prepare_report;
......
sub prepare_report {
my ($self) = @_;
my $callback = $self->get_callback;
my $callback = $self->models->get_callback;
my $report = SL::ReportGenerator->new(\%::myconfig, $::form);
$self->{report} = $report;
......
text => $::locale->text('Valid') },
);
map { $column_defs{$_}->{text} ||= $::locale->text( $self->get_sort_spec->{$_}->{title} ) } keys %column_defs;
map { $column_defs{$_}->{text} ||= $::locale->text( $self->models->get_sort_spec->{$_}->{title} ) } keys %column_defs;
$report->set_options(
std_column_visibility => 1,
......
$report->set_column_order(@columns);
$report->set_export_options(qw(list filter));
$report->set_options_from_form;
$self->set_report_generator_sort_options(report => $report, sortable_columns => \@sortable);
$self->models->disable_pagination if $report->{options}{output_format} =~ /^(pdf|csv)$/i;
$self->models->set_report_generator_sort_options(report => $report, sortable_columns => \@sortable);
$report->set_options(
top_info_text => $::locale->text('Projects'),
raw_bottom_info_text => $self->render('project/report_bottom', { output => 0 }),
);
}
$self->disable_pagination if $report->{options}{output_format} =~ /^(pdf|csv)$/i;
sub init_models {
my ($self) = @_;
SL::Controller::Helper::GetModels->new(
controller => $self,
model => 'Project',
sorted => {
_default => {
by => 'projectnumber',
dir => 1,
},
customer => t8('Customer'),
description => t8('Description'),
projectnumber => t8('Project Number'),
type => t8('Type'),
},
with_objects => [ 'customer' ],
);
}
1;
templates/webpages/project/report_bottom.html
[% USE L %]
[%- L.paginate_controls %]
[%- L.paginate_controls(models=SELF.models) %]

Auch abrufbar als: Unified diff