1 package SL::Controller::ImageUpload;
4 use parent qw(SL::Controller::Base);
10 use SL::DB::DeliveryOrder;
12 use Rose::Object::MakeMethods::Generic
15 'scalar --get_set_init' => [ qw(object_type object) ],
19 part => [ "SL::DB::Part" ],
20 sales_order => [ "SL::DB::Order", [ sales => 1, quotation => 0 ] ],
21 sales_quotation => [ "SL::DB::Order", [ sales => 1, quotation => 1 ] ],
22 purchase_order => [ "SL::DB::Order", [ sales => 0, quotation => 1 ] ],
23 sales_delivery_order => [ "SL::DB::DeliveryOrder", [ is_sales => 1 ] ],
27 ################ actions #################
29 sub action_upload_image {
32 $::request->layout->add_javascripts('kivi.File.js');
33 $::request->layout->add_javascripts('kivi.FileDB.js');
34 $::request->layout->add_javascripts('kivi.ImageUpload.js');
36 $self->render('image_upload/local_list');
39 sub action_resolve_object_by_number {
43 id => $self->object->id,
44 description => $self->object->displayable_name,
47 $self->render(\ to_json($result), { process => 0, type => 'json' });
50 ################# internal ###############
56 sub init_object_type {
57 $::form->{object_type} or die "need object type"
63 return unless $self->object_type;
65 my $loader = $object_loader{ $self->object_type } or die "unknown object type";
66 my $manager = $loader->[0]->_get_manager_class;
68 return $manager->find_by(id => $::form->{object_id}*1) if $::form->{object_id};
70 return $manager->find_by(donumber => $::form->{object_number}, closed => 0, @{ $loader->[1] // [] }) if $::form->{object_number};