From 20669d545b873f4ac37cdd98a1b1a5116a84160b Mon Sep 17 00:00:00 2001 From: kdeterme Date: Mon, 12 Oct 2026 13:18:07 +0200 Subject: [PATCH] =?UTF-8?q?fix(stock):=20permettre=20la=20modification=20e?= =?UTF-8?q?t=20l'affichage=20des=20num=C3=A9ros=20de=20s=C3=A9rie=20d'un?= =?UTF-8?q?=20article?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Ajout de la vue et de la route `serialized_item_edit` avec régénération QR code et journalisation d'audit - Affichage de la liste des exemplaires tracés avec modale de modification directe dans le formulaire produit (`product_form.html`) - Ajout de boutons de modification sur les fiches détail bureau, mobile et dans les tableaux d'articles tracés - Validation empêchant de décocher la traçabilité si des exemplaires existent - Mise à jour des traductions (FR, EN, NL) et ajout des tests unitaires --- loko/stock/forms.py | 11 ++ loko/stock/locale/en/LC_MESSAGES/django.mo | Bin 105425 -> 107314 bytes loko/stock/locale/en/LC_MESSAGES/django.po | 44 +++++ loko/stock/locale/fr/LC_MESSAGES/django.mo | Bin 112057 -> 114057 bytes loko/stock/locale/fr/LC_MESSAGES/django.po | 44 +++++ loko/stock/locale/nl/LC_MESSAGES/django.mo | Bin 110375 -> 112325 bytes loko/stock/locale/nl/LC_MESSAGES/django.po | 44 +++++ .../mobile/serialized_item_detail_mobile.html | 55 ++++++ .../stock/templates/stock/product_detail.html | 13 +- loko/stock/templates/stock/product_form.html | 162 ++++++++++++++++++ .../stock/serialized_item_detail.html | 49 ++++++ .../templates/stock/serialized_item_form.html | 39 ++++- .../templates/stock/warehouses_index.html | 13 +- loko/stock/tests.py | 157 +++++++++++++++++ loko/stock/tests_permissions.py | 6 +- loko/stock/urls.py | 1 + loko/stock/views.py | 89 +++++++++- 17 files changed, 714 insertions(+), 13 deletions(-) diff --git a/loko/stock/forms.py b/loko/stock/forms.py index b7af5bb..897d03a 100644 --- a/loko/stock/forms.py +++ b/loko/stock/forms.py @@ -485,6 +485,17 @@ class ProductForm(forms.ModelForm): self.fields["authorized_locations"].required = False self.fields["authorized_locations"].help_text = _("Si vide, le produit est autorisé dans tous les emplacements.") + def clean_is_serialized(self): + from django.utils.translation import gettext_lazy as _ + is_serialized = self.cleaned_data.get("is_serialized", False) + if self.instance and self.instance.pk: + if self.instance.is_serialized and not is_serialized: + if self.instance.serialized_items.filter(is_active=True).exists(): + raise forms.ValidationError( + _("Impossible de désactiver le suivi par numéro de série : ce produit possède des articles tracés actifs.") + ) + return is_serialized + class ProductAtLocationForm(ProductForm): quantity = forms.IntegerField( diff --git a/loko/stock/locale/en/LC_MESSAGES/django.mo b/loko/stock/locale/en/LC_MESSAGES/django.mo index baf3aa4bd4c16aa99262bae653a33f1d02dc3777..0ecdc190550c25193e886b152277cd3abee9eca0 100644 GIT binary patch delta 29081 zcmZ|Y1$b3QqwevwArLeWH2B8dJ-8Ql*N_AVl0XD68@E!l5Zs+ooInc{mr|UT7Wd+% zI0ef6zk7!7@b&rbdd~10TjR45IKAhdiA%Woa6-@3R6a8u9^V9xlNnp&bDW(C9cNM# zCc|;@&zCg_^Rg~$l9Hu1Q5VbO$Fc*f}{E4WU%(HIA)TB?K-n)Ss z_%qa&_(n4bY>eG80zF!i3q&-dYqr9BR706#%#4bmAL-hd6dh{mEg3f;H`)!=#5fUclF{)GiFKI^D-5zL5H zQT5uR$|JB6&PDa}8)^mbqgL8)AnTu=NU4F2lN=kMX3`GxV^`FGCSd^X!Zi2`>J&df z9o`qH_y0x>B+($V=Q)v6?$oyF9;g-g3RQ2bhloaW3WwthEQ~RO9j6#BLp5+7)8Q-B zX-+=GaWY^<)XKHO01UMb!;GY3Q7g0=HPM5%{Ib>al1N$#{DzttX>Vp-8`E>tR6KPGx8PpQy zA7Sowb<9e-CF=S`qdFRby3f;4Guw*#Zk)ty_zZQ}QjK(+JeU);74>X76qAvjglXyD znL|W}X9Mc=?#3K=2DN7|Pym$y$PYRv$ppvY2cI(l)xj;yf&mjv{W3U* zbWi*qeZDgFenbu61**eblgtmLI+%;}NX(0?JVbOzPNA0O6>3S-eQkbN6u_#aJ78U0 zfaUQI)E;M_Y__f(CL&!AW3f4ED;{EU^qFEzWp!gF@;ya}_!6myI&95QThSAfr~
  • mV)UJ6 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ⅆ0 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 delta 27511 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 diff --git a/loko/stock/locale/en/LC_MESSAGES/django.po b/loko/stock/locale/en/LC_MESSAGES/django.po index e2044c4..ac1fe52 100644 --- a/loko/stock/locale/en/LC_MESSAGES/django.po +++ b/loko/stock/locale/en/LC_MESSAGES/django.po @@ -6572,3 +6572,47 @@ msgstr "Please check at least one item line to include in the order." #~ msgid "Rafraîchir la page" #~ msgstr "Refresh page" + +msgid "Vous n'avez pas la permission de modifier cet article." +msgstr "You do not have permission to edit this item." + +#, python-format +msgid "Numéro de série modifié : %(old)s → %(new)s" +msgstr "Serial number changed: %(old)s → %(new)s" + +#, python-format +msgid "Article tracé %(sn)s mis à jour avec succès." +msgstr "Serialized item %(sn)s successfully updated." + +msgid "Impossible de désactiver le suivi par numéro de série : ce produit possède des articles tracés actifs." +msgstr "Cannot disable serial tracking: this product has active serialized items." + +msgid "Une fois ce produit enregistré, vous pourrez lui ajouter ses numéros de série et les gérer individuellement." +msgstr "Once this product is saved, you will be able to add its serial numbers and manage them individually." + +msgid "En cochant cette option et en enregistrant, vous pourrez ajouter des numéros de série à ce produit." +msgstr "By checking this option and saving, you will be able to add serial numbers to this product." + +msgid "Numéros de série associés" +msgstr "Associated serial numbers" + +msgid "Ajouter un numéro de série" +msgstr "Add a serial number" + +msgid "Chaque unité physique de ce produit est identifiée par un numéro de série unique. Vous pouvez modifier directement un numéro de série ci-dessous." +msgstr "Each physical unit of this product is identified by a unique serial number. You can edit a serial number directly below." + +msgid "Modifier le numéro de série" +msgstr "Edit serial number" + +msgid "Consulter la fiche" +msgstr "View details" + +msgid "Aucun numéro de série n'a encore été enregistré pour ce produit." +msgstr "No serial number has been registered for this product yet." + +msgid "Enregistrer un numéro de série" +msgstr "Register a serial number" + +msgid "Modifier l'article tracé" +msgstr "Edit serialized item" diff --git a/loko/stock/locale/fr/LC_MESSAGES/django.mo b/loko/stock/locale/fr/LC_MESSAGES/django.mo index 4dcb8d5c6f2798032c9ad8c7e2fbd87d6af274cc..7e7b1c5758d4fa0a87242b39429cabb3a6777c29 100644 GIT binary patch delta 28976 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 bJywQ0e4o{EHh4MC+3L!5oMD|D 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 diff --git a/loko/stock/locale/fr/LC_MESSAGES/django.po b/loko/stock/locale/fr/LC_MESSAGES/django.po index 8bc0e3c..a9eeaf6 100644 --- a/loko/stock/locale/fr/LC_MESSAGES/django.po +++ b/loko/stock/locale/fr/LC_MESSAGES/django.po @@ -6626,3 +6626,47 @@ msgstr "" #~ msgid "Rafraîchir la page" #~ msgstr "Rafraîchir la page" + +msgid "Vous n'avez pas la permission de modifier cet article." +msgstr "Vous n'avez pas la permission de modifier cet article." + +#, python-format +msgid "Numéro de série modifié : %(old)s → %(new)s" +msgstr "Numéro de série modifié : %(old)s → %(new)s" + +#, python-format +msgid "Article tracé %(sn)s mis à jour avec succès." +msgstr "Article tracé %(sn)s mis à jour avec succès." + +msgid "Impossible de désactiver le suivi par numéro de série : ce produit possède des articles tracés actifs." +msgstr "Impossible de désactiver le suivi par numéro de série : ce produit possède des articles tracés actifs." + +msgid "Une fois ce produit enregistré, vous pourrez lui ajouter ses numéros de série et les gérer individuellement." +msgstr "Une fois ce produit enregistré, vous pourrez lui ajouter ses numéros de série et les gérer individuellement." + +msgid "En cochant cette option et en enregistrant, vous pourrez ajouter des numéros de série à ce produit." +msgstr "En cochant cette option et en enregistrant, vous pourrez ajouter des numéros de série à ce produit." + +msgid "Numéros de série associés" +msgstr "Numéros de série associés" + +msgid "Ajouter un numéro de série" +msgstr "Ajouter un numéro de série" + +msgid "Chaque unité physique de ce produit est identifiée par un numéro de série unique. Vous pouvez modifier directement un numéro de série ci-dessous." +msgstr "Chaque unité physique de ce produit est identifiée par un numéro de série unique. Vous pouvez modifier directement un numéro de série ci-dessous." + +msgid "Modifier le numéro de série" +msgstr "Modifier le numéro de série" + +msgid "Consulter la fiche" +msgstr "Consulter la fiche" + +msgid "Aucun numéro de série n'a encore été enregistré pour ce produit." +msgstr "Aucun numéro de série n'a encore été enregistré pour ce produit." + +msgid "Enregistrer un numéro de série" +msgstr "Enregistrer un numéro de série" + +msgid "Modifier l'article tracé" +msgstr "Modifier l'article tracé" diff --git a/loko/stock/locale/nl/LC_MESSAGES/django.mo b/loko/stock/locale/nl/LC_MESSAGES/django.mo index f3b1d00e065d50bf5ef41d152dcb46b20a524276..f8a9a6a1c89ef6e1f64d84c4687591cf594f1b83 100644 GIT binary patch delta 29109 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 delta 27563 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 d=@qVYQC-)$yrMR*c4hkiNX8sm
    {% translate "Numéro de série" %}
    {{ item.serial_number }}
    + {% if can_manage and item.is_active %} +
    + +
    + {% endif %}
    +{% if can_manage and item.is_active %} + + +{% endif %} + {% endblock content %} {% block extra_scripts %} diff --git a/loko/stock/templates/stock/product_detail.html b/loko/stock/templates/stock/product_detail.html index 163e1df..efc3242 100644 --- a/loko/stock/templates/stock/product_detail.html +++ b/loko/stock/templates/stock/product_detail.html @@ -631,8 +631,17 @@ {% if si.current_location %}{{ si.current_location.warehouse.name }} — {{ si.current_location.name }}{% else %}—{% endif %} - - + + {% if is_stock_manager and si.is_active %} + + + + {% endif %} + diff --git a/loko/stock/templates/stock/product_form.html b/loko/stock/templates/stock/product_form.html index 1e3eadb..b89d2d3 100644 --- a/loko/stock/templates/stock/product_form.html +++ b/loko/stock/templates/stock/product_form.html @@ -134,6 +134,112 @@ {% if form.is_serialized.errors %}
    {{ form.is_serialized.errors }}
    {% endif %} + + {% if action == 'create' %} +
    + + {% translate "Une fois ce produit enregistré, vous pourrez lui ajouter ses numéros de série et les gérer individuellement." %} +
    + {% elif not product.is_serialized %} +
    + + {% translate "En cochant cette option et en enregistrant, vous pourrez ajouter des numéros de série à ce produit." %} +
    + {% endif %} + + {% if action == 'edit' and product.is_serialized %} +
    +
    +
    + + + {% translate "Numéros de série associés" %} + + {{ serialized_items|length }} +
    + + {% translate "Ajouter un numéro de série" %} + +
    + +

    + {% translate "Chaque unité physique de ce produit est identifiée par un numéro de série unique. Vous pouvez modifier directement un numéro de série ci-dessous." %} +

    + + {% if serialized_items %} +
    + + + + + + + + + + + + {% for si in serialized_items %} + + + + + + + + {% endfor %} + +
    {% translate "Numéro de série" %}{% translate "Statut" %}{% translate "Détenteur" %}{% translate "Emplacement" %}{% translate "Actions" %}
    + + {{ si.serial_number }} + + + {% if si.status == 'available' %} + {{ si.get_status_display }} + {% elif si.status == 'assigned' %} + {{ si.get_status_display }} + {% elif si.status == 'lost' %} + {{ si.get_status_display }} + {% else %} + {{ si.get_status_display }} + {% endif %} + {% if not si.is_active %} + {% translate "Inactif" %} + {% endif %} + {{ si.current_holder.name|default:"—" }} + {% if si.current_location %} + {{ si.current_location.warehouse.name }} — {{ si.current_location.name }} + {% else %}—{% endif %} + + + + + +
    +
    + {% else %} +
    + + + {% translate "Aucun numéro de série n'a encore été enregistré pour ce produit." %} + + + {% translate "Enregistrer un numéro de série" %} + +
    + {% endif %} +
    + {% endif %} @@ -276,6 +382,52 @@ + + {% if product.is_serialized %} + {% for si in serialized_items %} + + + {% endfor %} + {% endif %} {% endif %} @@ -289,6 +441,16 @@ document.addEventListener('DOMContentLoaded', function () { tooltipTriggerList.forEach(function (el) { new bootstrap.Tooltip(el); }); + + const isSerializedCheckbox = document.getElementById("{{ form.is_serialized.id_for_label }}"); + if (isSerializedCheckbox) { + const helpCreate = document.getElementById("serialized-help-create"); + const helpEdit = document.getElementById("serialized-help-edit"); + isSerializedCheckbox.addEventListener("change", function() { + if (helpCreate) helpCreate.style.display = this.checked ? "block" : "none"; + if (helpEdit) helpEdit.style.display = this.checked ? "block" : "none"; + }); + } }); {% if action == 'create' %} diff --git a/loko/stock/templates/stock/serialized_item_detail.html b/loko/stock/templates/stock/serialized_item_detail.html index c900dc1..fe7e312 100644 --- a/loko/stock/templates/stock/serialized_item_detail.html +++ b/loko/stock/templates/stock/serialized_item_detail.html @@ -15,6 +15,10 @@
    {% if can_manage and item.is_active %} +
    + {% if can_manage and item.is_active %} + + + {% endif %} + {% if can_manage and item.is_active %}