Image-Upload neuer Typ für VK-Lieferschein
[kivitendo-erp.git] / SL / Controller / ImageUpload.pm
index a93c853..a2497f5 100644 (file)
@@ -3,6 +3,8 @@ package SL::Controller::ImageUpload;
 use strict;
 use parent qw(SL::Controller::Base);
 
+use JSON qw(to_json);
+
 use SL::DB::Part;
 use SL::DB::Order;
 use SL::DB::DeliveryOrder;
@@ -18,7 +20,7 @@ my %object_loader = (
   sales_order     => [ "SL::DB::Order", [ sales => 1, quotation => 0 ] ],
   sales_quotation => [ "SL::DB::Order", [ sales => 1, quotation => 1 ] ],
   purchase_order  => [ "SL::DB::Order", [ sales => 0, quotation => 1 ] ],
-  sales_delivery_order => [ "SL::DB::DeliveryOrder", [ is_sales => 1 ] ],
+  sales_delivery_order => [ "SL::DB::DeliveryOrder", [ order_type => 'sales_delivery_order' ] ],
 );
 
 
@@ -34,8 +36,23 @@ sub action_upload_image {
   $self->render('image_upload/local_list');
 }
 
+sub action_resolve_object_by_number {
+  my ($self) = @_;
+
+  my $result = {
+    id          => $self->object->id,
+    description => $self->object->displayable_name,
+  };
+
+  $self->render(\ to_json($result), { process => 0, type => 'json' });
+}
+
 ################# internal ###############
 
+sub accept_types {
+  "image/*"
+}
+
 sub init_object_type {
   $::form->{object_type} or die "need object type"
 }
@@ -50,7 +67,7 @@ sub init_object {
 
   return $manager->find_by(id => $::form->{object_id}*1) if $::form->{object_id};
 
-  return $manager->find_by(donumber => $::form->{object_number}, @{ $loader->[1] // [] }) if $::form->{object_number};
+  return $manager->find_by(donumber => $::form->{object_number}, closed => 0, @{ $loader->[1] // [] }) if $::form->{object_number};
 }