1 package SL::Controller::ImageUpload;
 
   4 use parent qw(SL::Controller::Base);
 
   8 use SL::DB::DeliveryOrder;
 
  10 use Rose::Object::MakeMethods::Generic
 
  13   'scalar --get_set_init' => [ qw(object_type object) ],
 
  17   part            => [ "SL::DB::Part" ],
 
  18   sales_order     => [ "SL::DB::Order", [ sales => 1, quotation => 0 ] ],
 
  19   sales_quotation => [ "SL::DB::Order", [ sales => 1, quotation => 1 ] ],
 
  20   purchase_order  => [ "SL::DB::Order", [ sales => 0, quotation => 1 ] ],
 
  21   sales_delivery_order => [ "SL::DB::DeliveryOrder", [ is_sales => 1 ] ],
 
  25 ################ actions #################
 
  27 sub action_upload_image {
 
  30   $::request->layout->add_javascripts('kivi.File.js');
 
  31   $::request->layout->add_javascripts('kivi.FileDB.js');
 
  32   $::request->layout->add_javascripts('kivi.ImageUpload.js');
 
  34   $self->render('image_upload/local_list');
 
  37 ################# internal ###############
 
  39 sub init_object_type {
 
  40   $::form->{object_type} or die "need object type"
 
  46   return unless $self->object_type;
 
  48   my $loader = $object_loader{ $self->object_type } or die "unknown object type";
 
  49   my $manager = $loader->[0]->_get_manager_class;
 
  51   return $manager->find_by(id => $::form->{object_id}*1) if $::form->{object_id};
 
  53   return $manager->find_by(donumber => $::form->{object_number}, @{ $loader->[1] // [] }) if $::form->{object_number};