X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FTopQuickSearch%2FArticle.pm;h=e689bbe81db14512c111130e96d283012909e9ce;hb=29675d6b7ae3bcfbde5bb21d55f6e3a189a2e7c9;hp=9bedb436a55bb28cc13a628e9b1b0142d0945091;hpb=709aea6d9bb4252a100f698e55b79d1143916a50;p=kivitendo-erp.git diff --git a/SL/Controller/TopQuickSearch/Article.pm b/SL/Controller/TopQuickSearch/Article.pm index 9bedb436a..e689bbe81 100644 --- a/SL/Controller/TopQuickSearch/Article.pm +++ b/SL/Controller/TopQuickSearch/Article.pm @@ -35,7 +35,8 @@ sub query_autocomplete { } sub select_autocomplete { - redirect_to_part($::form->{id}); + my ($self) = @_; + $self->redirect_to_part($::form->{id}); } sub do_search { @@ -44,27 +45,32 @@ sub do_search { my $objects = $self->models->get; return !@$objects ? () - : @$objects == 1 ? redirect_to_part($objects->[0]->id) - : redirect_to_search($::form->{term}); + : @$objects == 1 ? $self->redirect_to_part($objects->[0]->id) + : $self->redirect_to_search($::form->{term}); } sub redirect_to_search { + my ($self, $term) = @_; + SL::Controller::Base->new->url_for( - controller => 'ic.pl', - action => 'generate_report', - all => $_[0], + controller => 'ic.pl', + action => 'generate_report', + all => $term, + (searchitems => $self->part_type) x!!$self->part_type, ); } sub redirect_to_part { + my ($self, $term) = @_; + SL::Controller::Base->new->url_for( - controller => 'ic.pl', - action => 'edit', - id => $_[0], + controller => 'controller.pl', + action => 'Part/edit', + 'part.id' => $term, ); } -sub type { +sub part_type { () } @@ -76,7 +82,8 @@ sub init_models { model => 'Part', source => { filter => { - ($self->type), + (part_type => $self->part_type) x!!$self->part_type, + or => [ obsolete => undef, obsolete => 0 ], 'all:substr:multi::ilike' => $::form->{term}, }, },