summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2024-04-30 15:39:57 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2024-05-03 16:48:58 +0200
commit7755e493f4f675d58e2520fda2b7775d4f4b25d5 (patch)
tree6a53759efede5e8cd6ecbcf82401be93fcbc0b01
parentd789a208e263cd2dc4bd458c699c1bb40c9d1c87 (diff)
downloadIshtar-7755e493f4f675d58e2520fda2b7775d4f4b25d5.tar.bz2
Ishtar-7755e493f4f675d58e2520fda2b7775d4f4b25d5.zip
✨ Operation - quick action: add administrative act (refs #5925)
-rw-r--r--archaeological_operations/models.py11
-rw-r--r--archaeological_operations/urls.py5
-rw-r--r--archaeological_operations/views.py18
-rw-r--r--archaeological_operations/wizards.py6
-rw-r--r--changelog/en/changelog_2022-06-15.md3
-rw-r--r--changelog/fr/changelog_2023-01-25.md1
-rw-r--r--ishtar_common/models.py2
-rw-r--r--locale/fr/LC_MESSAGES/django.po4
8 files changed, 46 insertions, 4 deletions
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py
index ea4b6c244..eeee9e8aa 100644
--- a/archaeological_operations/models.py
+++ b/archaeological_operations/models.py
@@ -1969,6 +1969,17 @@ class Operation(
True,
),
] + end
+ if profile.files and self.can_do(request, "add_administrativeact"):
+ actions += [
+ (
+ reverse("operation-add-adminact", args=[self.pk]),
+ _("Add associated administrative act"),
+ "fa fa-plus",
+ _("admin. act"),
+ "",
+ False,
+ ),
+ ]
if can_edit_operation:
actions += [
(
diff --git a/archaeological_operations/urls.py b/archaeological_operations/urls.py
index 7e2b71589..05c03bc51 100644
--- a/archaeological_operations/urls.py
+++ b/archaeological_operations/urls.py
@@ -75,6 +75,11 @@ urlpatterns = [
name="operation_search",
),
url(
+ r"^operation-add-adminact/(?P<pk>[0-9-]+)/$",
+ check_rights(["add_administrativeact"])(views.operation_adminact_add),
+ name="operation-add-adminact",
+ ),
+ url(
r"operation_creation/(?P<step>.+)?$",
check_rights(["add_operation", "add_own_operation"])(
views.operation_creation_wizard
diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py
index 8fa7e08c0..08a1ee05c 100644
--- a/archaeological_operations/views.py
+++ b/archaeological_operations/views.py
@@ -720,6 +720,24 @@ def operation_administrativeactop_delete(request, pk):
return redirect(reverse(wizard_url, kwargs={"step": "final-" + wizard_url}))
+def operation_adminact_add(request, pk, current_right=None):
+ try:
+ models.Operation.objects.get(pk=pk)
+ except models.Operation.DoesNotExist:
+ raise Http404()
+ operation_administrativeactop_wizard(request)
+
+ wizards.OperationAdministrativeActWizard.session_set_value(
+ request, "selec-operation_administrativeactop", "pk", pk, reset=True
+ )
+ return redirect(
+ reverse(
+ "operation_administrativeactop",
+ kwargs={"step": "administrativeact-operation_administrativeactop"},
+ )
+ )
+
+
administrativact_register_wizard = SearchWizard.as_view(
[
(
diff --git a/archaeological_operations/wizards.py b/archaeological_operations/wizards.py
index 402219e41..581652c8f 100644
--- a/archaeological_operations/wizards.py
+++ b/archaeological_operations/wizards.py
@@ -350,6 +350,12 @@ class OperationAdministrativeActWizard(OperationWizard):
res = render(self.request, "ishtar/wizard/wizard_done.html", dct)
return res
+ def get_form_initial(self, step, data=None):
+ if not self.edit:
+ return {}
+ initial = super().get_form_initial(step)
+ return initial
+
class OperationEditAdministrativeActWizard(OperationAdministrativeActWizard):
model = models.AdministrativeAct
diff --git a/changelog/en/changelog_2022-06-15.md b/changelog/en/changelog_2022-06-15.md
index 655958a5e..e4357da86 100644
--- a/changelog/en/changelog_2022-06-15.md
+++ b/changelog/en/changelog_2022-06-15.md
@@ -18,7 +18,8 @@ v4.0.XX - 2099-12-31
- Operation:
- improve sheet (#5753)
- rename "operation code" to "yearly index"
- - finds and documentation deposit dates
+ - finds and documentation deposit dates
+ - quick action: add administrative act
- Find:
- conservation state becomes multi-valued (#5904)
- batch update: "previous id" can be changed for many find
diff --git a/changelog/fr/changelog_2023-01-25.md b/changelog/fr/changelog_2023-01-25.md
index 57de99d24..bb3420fb4 100644
--- a/changelog/fr/changelog_2023-01-25.md
+++ b/changelog/fr/changelog_2023-01-25.md
@@ -17,6 +17,7 @@ v4.0.XX - 2099-12-31
- amélioration de la fiche (#5753)
- renommage de "code opération" en "index annuel"
- ajout des dates de versement du mobilier et de la documentation
+ - action rapide : ajouter un acte administratif
- Mobilier :
- État de conserveration devient multi valué (#5904)
- modifications par lot : "Identifiant précédent" peut être changé pour plusieurs mobiliers à la fois
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index bf523632a..61595a624 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -1130,7 +1130,7 @@ class IshtarSiteProfile(models.Model, Cached):
null=True,
blank=True,
)
- files = models.BooleanField(_("Files module"), default=False)
+ files = models.BooleanField(_("File/administrative module"), default=False)
archaeological_site = models.BooleanField(
_("Archaeological site module"), default=False
)
diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po
index 780a6b335..9bb469cc0 100644
--- a/locale/fr/LC_MESSAGES/django.po
+++ b/locale/fr/LC_MESSAGES/django.po
@@ -11030,8 +11030,8 @@ msgstr ""
"Choisir une configuration alternative pour les libellés, gestion des index"
#: ishtar_common/models.py:1133
-msgid "Files module"
-msgstr "Module Dossiers"
+msgid "File/administrative module"
+msgstr "Module Dossiers/Administratif"
#: ishtar_common/models.py:1135
msgid "Archaeological site module"