Browse Source

fix(admin-ui): Fix error when saving Product

A fix in v1.1.1 introduced a case where saving a Product would always fail when there were
"relation" custom fields defined on the ProductVariant entity.
Michael Bromley 4 years ago
parent
commit
dbf6c004fe

+ 1 - 1
packages/admin-ui/src/lib/catalog/src/providers/product-detail/product-detail.service.ts

@@ -165,7 +165,7 @@ export class ProductDetailService {
 
 
             const productOldName = findTranslation(product, languageCode)?.name;
             const productOldName = findTranslation(product, languageCode)?.name;
             const productNewName = findTranslation(productInput, languageCode)?.name;
             const productNewName = findTranslation(productInput, languageCode)?.name;
-            if (productOldName && productNewName && autoUpdate) {
+            if (productOldName && productNewName && productOldName !== productNewName && autoUpdate) {
                 for (const variant of product.variants) {
                 for (const variant of product.variants) {
                     const currentVariantName = findTranslation(variant, languageCode)?.name || '';
                     const currentVariantName = findTranslation(variant, languageCode)?.name || '';
                     let variantInput: UpdateProductVariantInput;
                     let variantInput: UpdateProductVariantInput;

+ 1 - 1
packages/admin-ui/src/lib/core/src/data/utils/transform-relation-custom-field-inputs.ts

@@ -48,5 +48,5 @@ function transformRelations<T>(input: T, customFieldConfig: CustomFieldConfig[])
 }
 }
 
 
 function hasCustomFields(input: any): input is { customFields: { [key: string]: any } } {
 function hasCustomFields(input: any): input is { customFields: { [key: string]: any } } {
-    return input != null && input.hasOwnProperty('customFields');
+    return input != null && input.hasOwnProperty('customFields') && typeof input.customFields === 'object';
 }
 }