Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
T
third-party
  • Overview
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 1
    • Merge Requests 1
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • cooperatic-foodcoops
  • third-party
  • Merge Requests
  • !239

Closed
Opened Aug 20, 2023 by Yvon Kerdoncuff@Yvon 
  • Report abuse
Report abuse

rework existing code in select_product_from_bc to simplify, fix a bug and meet…

rework existing code in select_product_from_bc to simplify, fix a bug and meet requirements of story 4820 + do previous qty preselection after user clic on Editer btn

×

Check out, review, and merge locally

Step 1. Fetch and check out the branch for this merge request

git fetch origin
git checkout -b 4950-douchage-appli-reception origin/4950-douchage-appli-reception

Step 2. Review the changes locally

Step 3. Merge the branch and fix any conflicts that come up

git checkout dev_cooperatic
git merge --no-ff 4950-douchage-appli-reception

Step 4. Push the result of the merge to GitLab

git push origin dev_cooperatic

Note that pushing to GitLab requires write access to this repository.

Tip: You can also checkout merge requests locally by following these guidelines.

  • Discussion 15
  • Commits 1
  • Pipelines 1
  • Changes 1
{{ resolvedDiscussionCount }}/{{ discussionCount }} {{ resolvedCountText }} resolved
  • Damien Moulard
    @DamienM started a discussion Sep 22, 2023
    Last updated by Yvon Kerdoncuff Sep 22, 2023
    • Damien Moulard @DamienM commented Sep 22, 2023
      Developer

      Ta simplification de la fonction a complétement fait disparaitre la logique qui avait été codée en cas de scan d'un produit au poids (l.130 à 140 dans l'ancienne version du fichier)

      Tu précises :

      I think code implementing such logic should be triggered on btns clicks as well so we don't need it here

      Mais du coup ce n'est implémenté nulle part ailleurs !

      Ta simplification de la fonction a complétement fait disparaitre la logique qui avait été codée en cas de scan d'un produit au poids (l.130 à 140 dans l'ancienne version du fichier) Tu précises : > I think code implementing such logic should be triggered on btns clicks as well so we don't need it here Mais du coup ce n'est implémenté nulle part ailleurs !
    • Damien Moulard @DamienM commented Sep 22, 2023
      Developer

      Pour préciser, la logique était qu'en cas de bip d'un produit au poids, le produit est automatiquement édité avec le poids scanné

      Edited Sep 22, 2023 by Damien Moulard
      Pour préciser, la logique était qu'en cas de bip d'un produit au poids, le produit est automatiquement édité avec le poids scanné
    • Yvon Kerdoncuff @Yvon commented Sep 22, 2023
      Master

      Grosse bourde en effet.

      Grosse bourde en effet.
    • Yvon Kerdoncuff @Yvon commented Sep 22, 2023
      Master

      Compte tenu de ça je pense que le mieux est d'abandonner ma proposition.

      Compte tenu de ça je pense que le mieux est d'abandonner ma proposition.
    Please register or sign in to reply
  • Damien Moulard
    @DamienM started a discussion Sep 22, 2023
    Last updated by Yvon Kerdoncuff Sep 22, 2023
    • Damien Moulard @DamienM commented Sep 22, 2023
      Developer

      in case article was already processed, edit line was opened but product was not removed from processed ones

      Oui, cela dit il y avait un commentaire dans le code, l.152 dans l'ancienne version, qui indiquait que ce comportement était voulu, il faudrait donc le conserver...

      which caused article to be added more than once after a user click on the cross

      ... et plutôt traiter cet effet de bord.

      > in case article was already processed, edit line was opened but product was not removed from processed ones Oui, cela dit il y avait un commentaire dans le code, l.152 dans l'ancienne version, qui indiquait que ce comportement était voulu, il faudrait donc le conserver... > which caused article to be added more than once after a user click on the cross ... et plutôt traiter cet effet de bord.
    • Yvon Kerdoncuff @Yvon commented Sep 22, 2023
      Master

      Je pensais que le maintien du produit à droite était un bug (suite au spotage du vrai bug du clic sur la croix), je n'avais pas compris que c'était souhaité, malgré le commentaire. Du coup là soit tu sais ce qu'il faut faire soit il faut retravailler la spec.

      Je pensais que le maintien du produit à droite était un bug (suite au spotage du vrai bug du clic sur la croix), je n'avais pas compris que c'était souhaité, malgré le commentaire. Du coup là soit tu sais ce qu'il faut faire soit il faut retravailler la spec.
    • Yvon Kerdoncuff @Yvon commented Sep 22, 2023
      Master

      Ok pour essayer de corriger le bug seul.

      Ok pour essayer de corriger le bug seul.
    Please register or sign in to reply
  • Damien Moulard
    @DamienM started a discussion on the diff Sep 22, 2023
    Last updated by Yvon Kerdoncuff Sep 22, 2023
    reception/static/js/reception_produits.js
    125 product_id = e.product_id[0];
    126 return false;
    115 127 }
    116 128 });
    117 129
    118 // Does the product come from processed ?
    119 if (foundProduct.data == null) {
    120 $.each(list_processed, function(i, e) {
    121 if (e.product_id[0] == scannedProduct.data[barcodes['keys']['id']]) {
    122 foundProduct.data = JSON.parse(JSON.stringify(e));
    123 foundProduct.data.product_qty = null; // Set qty to null from product already scanned
    124 foundProduct.place = 'processed';
    125 }
    126 });
    130 if(product_id !== null) {
    131 $('#'+product_id+' > td > .toProcess_line_valid').click();
    • Damien Moulard @DamienM commented Sep 22, 2023
      Developer

      Un futur changement dans la structure HTML aurait pour cause que cette partie de code ne fonctionnerait plus si on oubliait de rapporter la modification ici.

      La probabilité que ça arrive est certes faible, mais c'est une potentielle source d'erreur, d'autant plus si de nouvelles personnes viennent à travailler sur ce module !

      Un futur changement dans la structure HTML aurait pour cause que cette partie de code ne fonctionnerait plus si on oubliait de rapporter la modification ici. La probabilité que ça arrive est certes faible, mais c'est une potentielle source d'erreur, d'autant plus si de nouvelles personnes viennent à travailler sur ce module !
    • Damien Moulard @DamienM commented Sep 22, 2023
      Developer

      De plus, pourquoi lancer la validation directe du produit ? L'idée était de l'envoyer à l'édition plutôt, non ?

      De plus, pourquoi lancer la validation directe du produit ? L'idée était de l'envoyer à l'édition plutôt, non ?
    • Yvon Kerdoncuff @Yvon commented Sep 22, 2023
      Master

      En effet. Et oui, la validation directe, ce n'est pas du tout ce qui est attendu...

      En effet. Et oui, la validation directe, ce n'est pas du tout ce qui est attendu...
    Please register or sign in to reply
  • Damien Moulard
    @DamienM started a discussion on the diff Sep 22, 2023
    Last updated by Yvon Kerdoncuff Sep 22, 2023
    reception/static/js/reception_produits.js
    119 if (foundProduct.data == null) {
    120 $.each(list_processed, function(i, e) {
    121 if (e.product_id[0] == scannedProduct.data[barcodes['keys']['id']]) {
    122 foundProduct.data = JSON.parse(JSON.stringify(e));
    123 foundProduct.data.product_qty = null; // Set qty to null from product already scanned
    124 foundProduct.place = 'processed';
    125 }
    126 });
    130 if(product_id !== null) {
    131 $('#'+product_id+' > td > .toProcess_line_valid').click();
    132 return;
    127 133 }
    128 134
    129 if (foundProduct.data !== null) {
    130 if (foundProduct.data.product_uom[0] == 21) { //if qty is in weight
    131 if (scannedProduct.rule === 'weight') {
    • Damien Moulard @DamienM commented Sep 22, 2023
      Developer

      ici la logique qui a disparue dont je parle dans mon précédent commentaire

      ici la logique qui a disparue dont je parle dans mon précédent commentaire
    • Yvon Kerdoncuff @Yvon commented Sep 22, 2023
      Master

      vu

      vu
    Please register or sign in to reply
  • Damien Moulard
    @DamienM started a discussion on the diff Sep 22, 2023
    reception/static/js/reception_produits.js
    138 setupPopUpBtnStyle(scannedProduct);
    139 }
    140 }
    141
    142 if (scannedProduct.rule !== 'price_to_weight') {
    143 if (foundProduct.data.product_uom[0] != 21) {
    144 setLineEdition(foundProduct.data);
    145 }
    146
    147 if (foundProduct.place === 'to_process') {
    148 let row = table_to_process.row($('#'+foundProduct.data.product_id[0]));
    135 var product_qty = null;
    149 136
    150 remove_from_toProcess(row, foundProduct.data);
    151 }
    152 // Don't remove product from processed list
    • Damien Moulard @DamienM commented Sep 22, 2023
      Developer

      Ici le commentaire qui justifiait que ne pas enlever le produit du tableau de droite était un comportement désiré (en revanche je suis d'accord qu'un commentaire plus précis précisant pourquoi aurait été judicieux !)

      Edited Sep 22, 2023 by Damien Moulard
      Ici le commentaire qui justifiait que ne pas enlever le produit du tableau de droite était un comportement désiré (en revanche je suis d'accord qu'un commentaire plus précis précisant **pourquoi** aurait été judicieux !)
    Please register or sign in to reply
  • Damien Moulard
    @DamienM started a discussion Sep 22, 2023
    Last updated by Yvon Kerdoncuff Sep 22, 2023
    • Damien Moulard @DamienM commented Sep 22, 2023
      Developer

      Peux-tu préciser pourquoi tu as voulu autant modifier cette fonction ? Est-ce que c'était dans le but de simplifier le code ?

      Je ne suis pas contre en soi, mais je vois comme soucis que cette simplification a créé des effets de bord alors que le précédent code n'était pas dysfonctionnel (hormis le bug de la croix)

      Peux-tu préciser pourquoi tu as voulu autant modifier cette fonction ? Est-ce que c'était dans le but de simplifier le code ? Je ne suis pas contre en soi, mais je vois comme soucis que cette simplification a créé des effets de bord alors que le précédent code n'était pas dysfonctionnel (hormis le bug de la croix)
    • Yvon Kerdoncuff @Yvon commented Sep 22, 2023
      Master

      A la base je comprenais pas pourquoi un truc qui était spécifié dans un ticket avait l'air d'être déjà codé, mais avec quelques petites différences quand même (dans les messages d'alerte par exemple). Ensuite j'ai essayé de comprendre le code mais j'ai buté sur la partie "uom = 21" (qui m'avait l'air très intriquée avec le reste) que je n'arrivais pas à connecter avec la spec qui n'aborde pas le sujet du comportement attendu en cas de poids dans le code barre. Le bug de la croix m'a ensuite conforté dans l'idée que ce code n'était pas utilisé. Finalement je me suis dit que je voyais comment faire pour implémenter la spec et donc j'y suis allé. Mauvaise idée !

      A la base je comprenais pas pourquoi un truc qui était spécifié dans un ticket avait l'air d'être déjà codé, mais avec quelques petites différences quand même (dans les messages d'alerte par exemple). Ensuite j'ai essayé de comprendre le code mais j'ai buté sur la partie "uom = 21" (qui m'avait l'air très intriquée avec le reste) que je n'arrivais pas à connecter avec la spec qui n'aborde pas le sujet du comportement attendu en cas de poids dans le code barre. Le bug de la croix m'a ensuite conforté dans l'idée que ce code n'était pas utilisé. Finalement je me suis dit que je voyais comment faire pour implémenter la spec et donc j'y suis allé. Mauvaise idée !
    Please register or sign in to reply
  • Yvon Kerdoncuff @Yvon

    closed

    Sep 22, 2023

    closed

    closed
    Toggle commit list
  • Write
  • Preview
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment
Assignee
No assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
Reference: cooperatic-foodcoops/third-party!239