-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Take care deleting variants products #363
Take care deleting variants products #363
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Buenas Sofía! Una duda por confirmar que he entendido bien.
Con estos cambios, cuando una variante se cambie su estado a uno de los "desactivados", añadiríamos a la tabla del update on save sus padres con la operación "UDPATE", es correcto? Porque imagino que con el update del padre, tanto el padre como las variables que se quedan se actualizan pero, la entrada de la otra variante se borra en Elastic?
perdona Óscar que creo que no me expliqué muy bien.
y se setearía la operación a
Igual si que el primer caso en vez de borrar directamente la variante se podría incluir el producto padre como para actualizar en vez de para borrar y así se le borrarían las variantes que se han quitado 🤔 crees que es mejor solución? También puede ser que me haya equivocado en algún caos y por eso te ha llevado a confusión? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nada, todo claro! Lo veo genial.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lo unico que no me cierra es eso de que cuando una variante no es visible actualizamos el padre para que borre las variantes que no debería indexar.
Este comportamiento parece raro, realmente estamos borrando las variantes que no debemos indexar cada vez que se actualiza el producto padre o alguna variante?
De todas formas en el caso del borrado de la variante entiendo que esta bien borrarla, ya que el padre no va a saber que existía la variante para borrarla del índice, no?
$this->getOperationType() == ChangedItemInterface::OPERATION_TYPE_DELETE | ||
$operationType == ChangedItemInterface::OPERATION_TYPE_DELETE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change is intended?
Seems that the operation type updated in the if above won´t be taken into account on this if, and seems like it should
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no entiendo bien esto, lo he cambiado porque en todos los otros casos se hace la comparación directamente con operationType
porque se define arriba $operationType = $this->getOperationType();
y era por tener todos igual
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gracias!! no lo había visto
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for clarifiying how visibilities works on magento, now it's clear
LGTM! |
Required by: https://github.com/doofinder/support/issues/3108
Estamos teniendo problemas en el update on save porque al borrar productos variantes se estamos eliminando del feed el producto padre en vez de la variante, esto viene por este PR: #334. Se ha añadido la condición de que añadimos a la base de datos el producto padre en vez de la variante sólo si estamos editando / creando, pero no para el borrado.
Además, haciendo pruebas he visto que con el cambio que se hizo en este PR (#358) para no incluir al feed los productos sin visibilidad esta provoando que si un producto simple se edita directamente lo marcamos como que hay que borrarlo en vez de actualizar su producto padre. Por eso a la condición de que si no tiene la visibildiad esperada lo borramos se le ha añadido la condición de que además no tenga producto padre, para excluir de esa eliminación a las variantes.