diff options
author | Cefin <kevon@tuta.io> | 2021-11-05 14:18:57 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2022-07-08 09:58:49 +0200 |
commit | 99f7f17829d88250f6b12f7158234c45ebf30d69 (patch) | |
tree | 9f5691c02abe33897fc0cdfbe9d05c0500cc12c3 | |
parent | f0f3e7c121f9463e9198e32222f676c78adfb8f1 (diff) | |
download | Ishtar-99f7f17829d88250f6b12f7158234c45ebf30d69.tar.bz2 Ishtar-99f7f17829d88250f6b12f7158234c45ebf30d69.zip |
add bulk update on warehouse with warehouse type modify
-rw-r--r-- | archaeological_warehouse/forms.py | 17 | ||||
-rw-r--r-- | archaeological_warehouse/models.py | 13 | ||||
-rw-r--r-- | archaeological_warehouse/urls.py | 21 | ||||
-rw-r--r-- | archaeological_warehouse/views.py | 5 |
4 files changed, 55 insertions, 1 deletions
diff --git a/archaeological_warehouse/forms.py b/archaeological_warehouse/forms.py index 6638140d6..57fc31f4f 100644 --- a/archaeological_warehouse/forms.py +++ b/archaeological_warehouse/forms.py @@ -308,6 +308,23 @@ class WarehouseDeletionForm(FinalForm): confirm_end_msg = _("Would you like to delete this warehouse?") +class QAWarehouseFromMulti(QAForm): + form_admin_name = _("Context record - Quick action -Modify") + form_slug = "warehouse-quickaction-modify" + + MULTI = True + REPLACE_FIELDS = ["qa_warehouse_type"] + + qa_warehouse_type = forms.ChoiceField( + label=_("Warehouse type"), + required=False, + ) + + TYPES = [ + FieldType("qa_warehouse_type", models.WarehouseType), + ] + + class ContainerForm(CustomForm, ManageOldType, forms.Form): form_label = _("Container") form_admin_name = _("Container - 010 - General") diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py index f84a2d75b..66386113b 100644 --- a/archaeological_warehouse/models.py +++ b/archaeological_warehouse/models.py @@ -320,6 +320,14 @@ class Warehouse( DOWN_MODEL_UPDATE = ["containers"] CACHED_LABELS = [] + QA_EDIT = QuickAction( + url="warehouse-qa-bulk-update", + icon_class="fa fa-pencil", + text=_("Bulk update"), + target="many", + rights=["change_warehouse", "change_own_warhouse"], + ) + QA_LOCK = QuickAction( url="warehouse-qa-lock", icon_class="fa fa-lock", @@ -327,7 +335,10 @@ class Warehouse( target="many", rights=["change_warehouse", "change_own_warehouse"], ) - QUICK_ACTIONS = [QA_LOCK] + QUICK_ACTIONS = [ + QA_LOCK, + QA_EDIT, + ] objects = UUIDModelManager() diff --git a/archaeological_warehouse/urls.py b/archaeological_warehouse/urls.py index 4a7ee9d09..e737125b7 100644 --- a/archaeological_warehouse/urls.py +++ b/archaeological_warehouse/urls.py @@ -132,6 +132,27 @@ urlpatterns = [ kwargs={"model": models.Warehouse}, ), url( + r"^warehouse-qa-bulk-update/(?P<pks>[0-9-]+)?/$", + check_rights([ + "change_warehouse", + "change_own_warehouse" + ])( + views.QAWarehouseForm.as_view() + ), + name="warehouse-qa-bulk-update", + ), + url( + r"^warehouse-qa-bulk-update/(?P<pks>[0-9-]+)?/confirm/$", + check_rights([ + "change_warehouse", + "change_own_warehouse", + ])( + views.QAWarehouseForm.as_view() + ), + name="warehouse-qa-bulk-update-confirm", + kwargs={"confirm": True}, + ), + url( r"^container-add-treatment/(?P<pk>[0-9-]+)/$", check_rights(["change_find", "change_own_find"])(views.container_treatment_add), name="container-add-treatment", diff --git a/archaeological_warehouse/views.py b/archaeological_warehouse/views.py index 95fd4a159..9b8fe1728 100644 --- a/archaeological_warehouse/views.py +++ b/archaeological_warehouse/views.py @@ -396,6 +396,11 @@ container_modification_wizard = ContainerModificationWizard.as_view( ) +class QAWarehouseForm(QAItemEditForm): + model = models.Warehouse + form_class = forms.QAWarehouseFromMulti + + def container_modify(request, pk): if not wizard_is_available( container_modification_wizard, request, models.Container, pk |