Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision d5cb059b

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

  • ID d5cb059bfa6c56fb74bf2a89c5625cb0b442e48e
  • Vorgänger 0f491583
  • Nachfolger 9e9d7195

get_models callback entefrnt und in den finalize prozess integriert

Unterschiede anzeigen:

SL/Controller/Helper/GetModels.pm
sub get {
my ($self) = @_;
my %params = $self->finalize;
%params = $self->_run_handlers('get_models', %params);
return $self->manager->get_all(%params);
}
......
sub init_handlers {
{
callback => [],
get_models => [],
}
}
SL/Controller/Helper/GetModels/Base.pm
$final_args->{$field} = [ map { @{ $_->{$field} || [] } } @args ];
}
for my $field (qw(page per_page sort_by sort_dir )) {
for my $field (qw(page per_page sort_by)) {
for my $arg (@args) {
next unless defined $_->{$field};
$final_args->{$field} //= $_->{$field};
next unless defined $arg->{$field};
$final_args->{$field} //= $arg->{$field};
}
}
SL/Controller/Helper/GetModels/Filtered.pm
sub finalize {
my ($self, %params) = @_;
%params;
my %filter_params;
%filter_params = $self->read_params(%params) if $self->is_enabled;
# $::lxdebug->dump(0, "GM handler for filtered; params nach modif (is_enabled? " . $self->is_enabled . ")", \%params);
return $self->merge_args(\%params, \%filter_params);
}
#
......
return %params;
}
sub _get_models_handler_for_filtered {
my ($self, %params) = @_;
# $::lxdebug->dump(0, "params in get_models_for_filtered", \%params);
my %filter_params;
%filter_params = $self->read_params(%params) if $self->is_enabled;
# $::lxdebug->dump(0, "GM handler for filtered; params nach modif (is_enabled? " . $self->is_enabled . ")", \%params);
return $self->merge_args(\%params, \%filter_params);
}
sub init_form_params {
'filter'
}
SL/Controller/Helper/GetModels/Paginated.pm
return %params;
}
sub _get_models_handler_for_paginated {
my ($self, %params) = @_;
$self->get_models->manager->paginate(%{ $self->calculated_params }, args => \%params) if $self->is_enabled;
# $::lxdebug->dump(0, "GM handler for paginated; params nach modif (is_enabled? " . _is_enabled($self) . ")", \%params);
return %params;
}
sub init_form_params {
[ qw(page per_page) ]
}
SL/Controller/Helper/GetModels/Sorted.pm
sub finalize {
my ($self, %params) = @_;
my %sort_params = $self->read_params;
my $sort_spec = $self->specs->{ $sort_params{sort_by} };
$params{sort_by} = "SL::DB::Manager::$sort_spec->{model}"->make_sort_string(sort_by => $sort_spec->{model_column}, sort_dir => $sort_params{sort_dir});
%params;
}
......
return %params;
}
sub _get_models_handler_for_sorted {
my ($self, %params) = @_;
my %sort_params = $self->read_params;
my $sort_spec = $self->specs->{ $sort_params{sort_by} };
$params{sort_by} = "SL::DB::Manager::$sort_spec->{model}"->make_sort_string(sort_by => $sort_spec->{model_column}, sort_dir => $sort_params{sort_dir});
# $::lxdebug->dump(0, "GM handler for sorted; params nach modif:", \%params);
return %params;
}
#sub _get_models_handler_for_sorted {
# my ($self, %params) = @_;
#
#
#
# # $::lxdebug->dump(0, "GM handler for sorted; params nach modif:", \%params);
#
# return %params;
#}
sub init_form_params {

Auch abrufbar als: Unified diff