Anzahlungs-Rg.: keine weitere Rückbuchung bei erneutem Buchen einer Schluss-Rg
[kivitendo-erp.git] / SL / ShopConnector / Shopware6.pm
index bd54329..27c569a 100644 (file)
@@ -180,7 +180,11 @@ sub update_part {
     }
     undef $update_p->{partNumber}; # we dont need this one
     $ret = $self->connector->PATCH('api/product/' . $one_d->{id}, to_json($update_p));
-    die "Updating part with " .  $part->partnumber . " failed: " . $ret->responseContent() unless (204 == $ret->responseCode());
+    unless (204 == $ret->responseCode()) {
+      die t8('Part Description is too long for this Shopware version. It should have lower than 255 characters.')
+         if $ret->responseContent() =~ m/Diese Zeichenkette ist zu lang. Sie sollte.*255 Zeichen/;
+      die "Updating part with " .  $part->partnumber . " failed: " . $ret->responseContent() unless (204 == $ret->responseCode());
+    }
   } else {
     # create part
     # 1. get the correct tax for this product
@@ -763,7 +767,7 @@ sub import_data_to_shop_order {
     foreach my $pos (@positions) {
       $position++;
       my $price       = $::form->round_amount($pos->{unitPrice}, 2); # unit
-      my %pos_columns = ( description          => $pos->{product}->{description},
+      my %pos_columns = ( description          => $pos->{product}->{name},
                           partnumber           => $pos->{product}->{productNumber},
                           price                => $price,
                           quantity             => $pos->{quantity},
@@ -967,15 +971,13 @@ Updates all metadata for a shop part. See base class for a general description.
 Specific Implementation notes:
 =over 4
 
-=item Calls sync_all_images with set_cover = 1 and delete_orphaned = 1
+=item Calls sync_all_images with set_cover = 1 and delete_orphaned = 1
 
-=item Checks if longdescription should be taken from part or shop_part
+=item Checks if longdescription should be taken from part or shop_part
 
-=item Checks if a language with the name 'Englisch' or template_code 'en'
+=item Checks if a language with the name 'Englisch' or template_code 'en'
       is available and sets the shopware6 'en-GB' locales for the product
 
-=back
-
 =item C<sync_all_images (set_cover: 0|1, delete_orphaned: 0|1)>
 
 The connecting key for shopware to kivi images is the image name.
@@ -993,6 +995,9 @@ entry for the image is deleted.
 More on media and Shopware6 can be found here:
 https://shopware.stoplight.io/docs/admin-api/ZG9jOjEyNjI1Mzkw-media-handling
 
+=back
+
+=over 4
 
 =item C<get_article>
 
@@ -1072,6 +1077,12 @@ Right now the returning structure and the common parts of the filter are in two
 
 Many error messages are thrown, but at least the more common cases should be localized.
 
+=item * Multi language support
+
+By guessing the correct german name for the english language some translation for parts can
+also be synced. This should be more clear (language configuration for shops) and the order
+synchronisation should also handle this (longdescription is simply copied from part.notes)
+
 =back
 
 =head1 AUTHOR