diff options
| -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  | 
