1 package SL::Controller::TopQuickSearch::OERecord;
 
   4 use parent qw(Rose::Object);
 
   6 use SL::Locale::String qw(t8);
 
   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 query_autocomplete {
 
  27   my $objects = $self->models->get;
 
  38 sub select_autocomplete {
 
  39   $_[0]->redirect_to_object($::form->{id});
 
  45   my $objects = $self->models->get;
 
  47   return !@$objects     ? ()
 
  48        : @$objects == 1 ? $self->redirect_to_object($objects->[0]->id)
 
  49        :                  $self->redirect_to_search($::form->{term});
 
  52 sub redirect_to_search {
 
  53   SL::Controller::Base->new->url_for(
 
  54     controller => 'oe.pl',
 
  62     (map {; "l_$_" => 'Y' } $_[0]->number, qw(transdate cusordnumber reqdate name employee netamount)),
 
  66 sub redirect_to_object {
 
  67   SL::Controller::Base->new->url_for(
 
  68     controller => 'oe.pl',
 
  77   die 'must be overwritten'
 
  81   die 'must be overwritten'
 
  85   $_[0]->type !~ /order/
 
  89   $_[0]->quotation ? 'quonumber' : 'ordnumber'
 
  95   SL::Controller::Helper::GetModels->new(
 
 101         'all:substr:multi::ilike' => $::form->{term},
 
 109       transdate => t8('Transdate'),
 
 114     with_objects => [ qw(customer vendor) ]