crazyfactory/vue-product-description-manager

Bug: Component disappear from Product Titles

Solomonic opened this issue · 3 comments

There are several products which didn't show their intended title, because they are loosing the component info.

Example

Product: https://www.crazy-factory.com/fr/p/Piercings/Tunnels-Plugs/TI-S-TUN74304/Single-Flared-Tunnel/~12:B
This product is matched with BaseProduct Single Flared Plug and component Snowflake Design, but only shows Single Flared Plug.
When we load this product into the descriptor and edit BaseProduct or Component the correct Title is generated and saved. This behavior seems flawless.
The only other way how we may change the products description is via automated task which is supposed to get the latest translations and re-write those titles in all languages, therefor we suspect a flawed behavior here. (needs further investigation)

The following condition triggers a wrong name for the product:

  • BaseProduct is set correctly
  • Component1 is set correctly
  • Material is set, but deleted
    => the product is rejected BUT the title is updated anyway, just composed from the BasePoduct, ignoring the components

Please also check the following products which maybe also have the problem:
TI-S-TUN16126
TI-S-TUN6412
TI-S-HLX16039
TI-S-TUN16133
IPWPN3Z
TI-S-IND6801
TI-BS-FPG161104-4
TI-ACS-HLX152003

Problem

1) Component lost when Material was deleted.

  • BaseProduct is set correctly
  • Component1 is set correctly
  • Material is set, but deleted

My resolving
I separated rejected title (baseproduct, component1, component2 ) and rejected material
if material only have a problem I still update title
but if some resources in title have problem and material don't ,so I will reject only title, material still updated in database.

2) Validate rejected component is not completely

because we valid them only when component is set and is_active = 1 so, if is set and is_active=0 ,product will be not rejected.

My resolving
Add rejecting product in condition else when component is set but is_active = 0.

merged