1 package SL::Controller::TopQuickSearch::DeliveryOrder;
 
   4 use parent qw(Rose::Object);
 
   6 use SL::Locale::String qw(t8);
 
   7 use SL::DB::DeliveryOrder;
 
   8 use SL::Controller::Helper::GetModels;
 
   9 use SL::Controller::Base;
 
  11 use Rose::Object::MakeMethods::Generic (
 
  12   'scalar --get_set_init' => [ qw(models) ],
 
  15 # nope. this is only for subclassing
 
  16 sub auth { 'NOT ALLOWED' }
 
  18 sub name { die 'must be overwritten' }
 
  20 sub description_config { die 'must be overwritten' }
 
  22 sub description_field { die 'must be overwritten' }
 
  24 sub type { die 'must be overwritten' }
 
  26 sub cv { die 'must be overwritten' }
 
  28 sub query_autocomplete {
 
  31   my $objects = $self->models->get;
 
  42 sub select_autocomplete {
 
  43   $_[0]->redirect_to_object($::form->{id});
 
  49   my $objects = $self->models->get;
 
  51   return !@$objects     ? ()
 
  52        : @$objects == 1 ? $self->redirect_to_object($objects->[0]->id)
 
  53        :                  $self->redirect_to_search($::form->{term});
 
  56 sub redirect_to_search {
 
  57   SL::Controller::Base->new->url_for(
 
  58     controller   => 'do.pl',
 
  68     (map {; "l_$_" => 'Y' } qw(donumber transdate cusordnumber reqdate name employee transaction_description)),
 
  72 sub redirect_to_object {
 
  73   SL::Controller::Base->new->url_for(
 
  74     controller => 'do.pl',
 
  85   SL::Controller::Helper::GetModels->new(
 
  87     model      => 'DeliveryOrder',
 
  91         'all:substr:multi::ilike' => $::form->{term},
 
  99       transdate => t8('Date'),
 
 104     with_objects => [ qw(customer vendor orderitems) ]