summaryrefslogtreecommitdiff
path: root/archaeological_operations/views.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2021-03-19 11:21:04 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2021-03-19 11:21:04 +0100
commitf416ff91109b3a0d06ea84fdcff1e133ea8ca5ae (patch)
tree1696a72b2ec46fa34981533484e0d67ec9d14e93 /archaeological_operations/views.py
parent33e342679b59fa48607c5acdc1fe826b666a1a5f (diff)
downloadIshtar-f416ff91109b3a0d06ea84fdcff1e133ea8ca5ae.tar.bz2
Ishtar-f416ff91109b3a0d06ea84fdcff1e133ea8ca5ae.zip
Format - black: operation
Diffstat (limited to 'archaeological_operations/views.py')
-rw-r--r--archaeological_operations/views.py864
1 files changed, 492 insertions, 372 deletions
diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py
index 86e5b7f52..51cedbc9c 100644
--- a/archaeological_operations/views.py
+++ b/archaeological_operations/views.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Copyright (C) 2010-2017 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
@@ -31,94 +31,114 @@ from ishtar_common.utils import ugettext_lazy as _, pgettext_lazy
from archaeological_operations import models
from archaeological_operations import forms
from archaeological_operations import wizards
-from ishtar_common.forms import ClosingDateFormSelection, FinalForm, \
- FinalDeleteForm
-from ishtar_common.models import get_current_profile, IshtarSiteProfile, \
- DocumentTemplate
+from ishtar_common.forms import ClosingDateFormSelection, FinalForm, FinalDeleteForm
+from ishtar_common.models import (
+ get_current_profile,
+ IshtarSiteProfile,
+ DocumentTemplate,
+)
from ishtar_common.utils import put_session_message, check_rights_condition
-from ishtar_common.views import gen_generate_doc, QAItemEditForm, \
- QABaseLockView, wizard_is_available, QAItemForm, IshtarMixin, \
- LoginRequiredMixin
-from ishtar_common.views_item import get_item, show_item, revert_item, \
- new_qa_item
+from ishtar_common.views import (
+ gen_generate_doc,
+ QAItemEditForm,
+ QABaseLockView,
+ wizard_is_available,
+ QAItemForm,
+ IshtarMixin,
+ LoginRequiredMixin,
+)
+from ishtar_common.views_item import get_item, show_item, revert_item, new_qa_item
from ishtar_common.wizards import SearchWizard
def autocomplete_patriarche(request):
- if (not request.user.has_perm('ishtar_common.view_operation',
- models.Operation)
- and not request.user.has_perm('ishtar_common.view_own_operation',
- models.Operation)
- and not request.user.ishtaruser.has_right(
- 'operation_search', session=request.session)):
- return HttpResponse(content_type='text/plain')
- if not request.GET.get('term'):
- return HttpResponse(content_type='text/plain')
- q = request.GET.get('term')
+ if (
+ not request.user.has_perm("ishtar_common.view_operation", models.Operation)
+ and not request.user.has_perm(
+ "ishtar_common.view_own_operation", models.Operation
+ )
+ and not request.user.ishtaruser.has_right(
+ "operation_search", session=request.session
+ )
+ ):
+ return HttpResponse(content_type="text/plain")
+ if not request.GET.get("term"):
+ return HttpResponse(content_type="text/plain")
+ q = request.GET.get("term")
query = Q()
- for q in q.split(' '):
+ for q in q.split(" "):
query &= Q(code_patriarche__startswith=q)
limit = 15
- operations = models.Operation.objects\
- .filter(query).order_by('code_patriarche')[:limit]
- data = json.dumps([{'id': operation.code_patriarche,
- 'value': operation.code_patriarche}
- for operation in operations])
- return HttpResponse(data, content_type='text/plain')
+ operations = models.Operation.objects.filter(query).order_by("code_patriarche")[
+ :limit
+ ]
+ data = json.dumps(
+ [
+ {"id": operation.code_patriarche, "value": operation.code_patriarche}
+ for operation in operations
+ ]
+ )
+ return HttpResponse(data, content_type="text/plain")
def autocomplete_archaeologicalsite(request):
- if (not request.user.has_perm(
- 'archaeological_operations.view_archaeologicalsite',
- models.ArchaeologicalSite)
- and not request.user.has_perm(
- 'archaeological_operations.view_own_archaeologicalsite',
- models.ArchaeologicalSite)):
- return HttpResponse(content_type='text/plain')
- if not request.GET.get('term'):
- return HttpResponse(content_type='text/plain')
- q = request.GET.get('term')
+ if not request.user.has_perm(
+ "archaeological_operations.view_archaeologicalsite", models.ArchaeologicalSite
+ ) and not request.user.has_perm(
+ "archaeological_operations.view_own_archaeologicalsite",
+ models.ArchaeologicalSite,
+ ):
+ return HttpResponse(content_type="text/plain")
+ if not request.GET.get("term"):
+ return HttpResponse(content_type="text/plain")
+ q = request.GET.get("term")
query = Q()
- for q in q.split(' '):
+ for q in q.split(" "):
qt = Q(reference__icontains=q) | Q(name__icontains=q)
query = query & qt
limit = 15
- sites = models.ArchaeologicalSite.objects.filter(
- query).distinct().order_by('reference')[:limit]
- data = json.dumps([{'id': site.pk,
- 'value': str(site)[:60]}
- for site in sites])
- return HttpResponse(data, content_type='text/plain')
+ sites = (
+ models.ArchaeologicalSite.objects.filter(query)
+ .distinct()
+ .order_by("reference")[:limit]
+ )
+ data = json.dumps([{"id": site.pk, "value": str(site)[:60]} for site in sites])
+ return HttpResponse(data, content_type="text/plain")
new_archaeologicalsite = new_qa_item(
- models.ArchaeologicalSite, forms.ArchaeologicalSiteForm, many=True,
- page_name=_("New archaeological site")
+ models.ArchaeologicalSite,
+ forms.ArchaeologicalSiteForm,
+ many=True,
+ page_name=_("New archaeological site"),
)
def autocomplete_operation(request):
# person_types = request.user.ishtaruser.person.person_type
- if (not request.user.has_perm('ishtar_common.view_operation',
- models.Operation)
+ if (
+ not request.user.has_perm("ishtar_common.view_operation", models.Operation)
and not request.user.has_perm(
- 'ishtar_common.view_own_operation', models.Operation)
- and not request.user.ishtaruser.has_right(
- 'operation_search', session=request.session)):
- return HttpResponse(content_type='text/plain')
- if not request.GET.get('term'):
- return HttpResponse(content_type='text/plain')
- q = request.GET.get('term')
+ "ishtar_common.view_own_operation", models.Operation
+ )
+ and not request.user.ishtaruser.has_right(
+ "operation_search", session=request.session
+ )
+ ):
+ return HttpResponse(content_type="text/plain")
+ if not request.GET.get("term"):
+ return HttpResponse(content_type="text/plain")
+ q = request.GET.get("term")
query = Q()
- for q in q.split(' '):
+ for q in q.split(" "):
extra = Q(towns__name__icontains=q) | Q(common_name__icontains=q)
try:
int(q)
extra = extra | Q(year=q) | Q(operation_code=q)
except ValueError:
pass
- if settings.COUNTRY == 'fr':
- if q.startswith('OA'):
+ if settings.COUNTRY == "fr":
+ if q.startswith("OA"):
q = q[2:]
try:
int(q)
@@ -128,80 +148,89 @@ def autocomplete_operation(request):
query = query & extra
limit = 15
operations = models.Operation.objects.filter(query).distinct()[:limit]
- data = json.dumps([{'id': operation.pk, 'value': str(operation)}
- for operation in operations])
- return HttpResponse(data, content_type='text/plain')
+ data = json.dumps(
+ [{"id": operation.pk, "value": str(operation)} for operation in operations]
+ )
+ return HttpResponse(data, content_type="text/plain")
def get_available_operation_code(request, year=None):
if not request.user.has_perm(
- 'ishtar_common.view_operation', models.Operation)\
- and not request.user.has_perm(
- 'ishtar_common.view_own_operation', models.Operation):
- return HttpResponse(content_type='text/plain')
- data = json.dumps({'id':
- models.Operation.get_available_operation_code(year)})
- return HttpResponse(data, content_type='text/plain')
+ "ishtar_common.view_operation", models.Operation
+ ) and not request.user.has_perm(
+ "ishtar_common.view_own_operation", models.Operation
+ ):
+ return HttpResponse(content_type="text/plain")
+ data = json.dumps({"id": models.Operation.get_available_operation_code(year)})
+ return HttpResponse(data, content_type="text/plain")
-get_operation = get_item(models.Operation, 'get_operation', 'operation',
- search_form=forms.OperationSelect)
+get_operation = get_item(
+ models.Operation, "get_operation", "operation", search_form=forms.OperationSelect
+)
-show_operation = show_item(models.Operation, 'operation')
+show_operation = show_item(models.Operation, "operation")
revert_operation = revert_item(models.Operation)
get_administrativeactop = get_item(
- models.AdministrativeAct, 'get_administrativeactop', 'administrativeactop',
- base_request={"operation__pk__isnull": False})
+ models.AdministrativeAct,
+ "get_administrativeactop",
+ "administrativeactop",
+ base_request={"operation__pk__isnull": False},
+)
get_administrativeact = get_item(
- models.AdministrativeAct, 'get_administrativeact', 'administrativeact')
+ models.AdministrativeAct, "get_administrativeact", "administrativeact"
+)
-show_administrativeact = show_item(models.AdministrativeAct,
- 'administrativeact')
+show_administrativeact = show_item(models.AdministrativeAct, "administrativeact")
def dashboard_operation(request, *args, **kwargs):
"""
Operation dashboard
"""
- dct = {'dashboard': models.OperationDashboard()}
- return render(request, 'ishtar/dashboards/dashboard_operation.html', dct)
+ dct = {"dashboard": models.OperationDashboard()}
+ return render(request, "ishtar/dashboards/dashboard_operation.html", dct)
operation_search_wizard = wizards.OperationSearch.as_view(
- [('general-operation_search', forms.OperationFormSelection)],
+ [("general-operation_search", forms.OperationFormSelection)],
label=_("Operation search"),
- url_name='operation_search',)
+ url_name="operation_search",
+)
wizard_steps = [
- ('filechoice-operation_creation', forms.OperationFormFileChoice),
- ('general-operation_creation', forms.OperationFormGeneral),
- ('judiciary-operation_creation', forms.CourtOrderedSeizureForm),
- ('collaborators-operation_creation', forms.CollaboratorForm),
- ('archaeologicalsite-operation_creation', forms.ArchaeologicalSiteFormSet),
- ('preventive-operation_creation', forms.OperationFormPreventive),
- ('preventivediag-operation_creation', forms.OperationFormPreventiveDiag),
- ('townsgeneral-operation_creation', forms.TownFormset),
- ('towns-operation_creation', forms.SelectedTownFormset),
- ('parcelsgeneral-operation_creation', forms.SelectedParcelGeneralFormSet),
- ('parcels-operation_creation', forms.SelectedParcelFormSet),
- ('remains-operation_creation', forms.RemainForm),
- ('periods-operation_creation', forms.PeriodForm),
- ('relations-operation_creation', forms.RecordRelationsFormSet),
- ('abstract-operation_creation', forms.OperationFormAbstract),
- ('final-operation_creation', FinalForm)]
+ ("filechoice-operation_creation", forms.OperationFormFileChoice),
+ ("general-operation_creation", forms.OperationFormGeneral),
+ ("judiciary-operation_creation", forms.CourtOrderedSeizureForm),
+ ("collaborators-operation_creation", forms.CollaboratorForm),
+ ("archaeologicalsite-operation_creation", forms.ArchaeologicalSiteFormSet),
+ ("preventive-operation_creation", forms.OperationFormPreventive),
+ ("preventivediag-operation_creation", forms.OperationFormPreventiveDiag),
+ ("townsgeneral-operation_creation", forms.TownFormset),
+ ("towns-operation_creation", forms.SelectedTownFormset),
+ ("parcelsgeneral-operation_creation", forms.SelectedParcelGeneralFormSet),
+ ("parcels-operation_creation", forms.SelectedParcelFormSet),
+ ("remains-operation_creation", forms.RemainForm),
+ ("periods-operation_creation", forms.PeriodForm),
+ ("relations-operation_creation", forms.RecordRelationsFormSet),
+ ("abstract-operation_creation", forms.OperationFormAbstract),
+ ("final-operation_creation", FinalForm),
+]
def get_check_files_for_operation(other_check=None):
def func(self):
- if not get_current_profile().files or \
- not check_rights_condition(['view_file'])(self):
+ if not get_current_profile().files or not check_rights_condition(["view_file"])(
+ self
+ ):
return False
if not other_check:
return True
return other_check(self)
+
return func
@@ -209,378 +238,456 @@ check_files_for_operation = get_check_files_for_operation()
ope_crea_condition_dict = {
- 'filechoice-operation_creation': check_files_for_operation,
- 'judiciary-operation_creation': wizards.is_judiciary(
- 'general-operation_creation', models.OperationType, 'operation_type',
+ "filechoice-operation_creation": check_files_for_operation,
+ "judiciary-operation_creation": wizards.is_judiciary(
+ "general-operation_creation",
+ models.OperationType,
+ "operation_type",
+ ),
+ "preventive-operation_creation": get_check_files_for_operation(
+ wizards.is_preventive(
+ "general-operation_creation",
+ models.OperationType,
+ "operation_type",
+ "prev_excavation",
+ )
+ ),
+ "preventivediag-operation_creation": get_check_files_for_operation(
+ wizards.is_preventive(
+ "general-operation_creation",
+ models.OperationType,
+ "operation_type",
+ "arch_diagnostic",
+ )
+ ),
+ "townsgeneral-operation_creation": wizards.has_associated_file(
+ "filechoice-operation_creation", negate=True
+ ),
+ "towns-operation_creation": wizards.has_associated_file(
+ "filechoice-operation_creation"
+ ),
+ "parcelsgeneral-operation_creation": wizards.has_associated_file(
+ "filechoice-operation_creation", negate=True
+ ),
+ "parcels-operation_creation": wizards.has_associated_file(
+ "filechoice-operation_creation"
),
- 'preventive-operation_creation':
- get_check_files_for_operation(
- wizards.is_preventive('general-operation_creation',
- models.OperationType, 'operation_type',
- 'prev_excavation')),
- 'preventivediag-operation_creation':
- get_check_files_for_operation(
- wizards.is_preventive('general-operation_creation',
- models.OperationType, 'operation_type',
- 'arch_diagnostic')),
- 'townsgeneral-operation_creation': wizards.has_associated_file(
- 'filechoice-operation_creation', negate=True),
- 'towns-operation_creation': wizards.has_associated_file(
- 'filechoice-operation_creation'),
- 'parcelsgeneral-operation_creation': wizards.has_associated_file(
- 'filechoice-operation_creation', negate=True),
- 'parcels-operation_creation': wizards.has_associated_file(
- 'filechoice-operation_creation'),
}
operation_creation_wizard = wizards.OperationWizard.as_view(
wizard_steps,
label=_("New operation"),
condition_dict=ope_crea_condition_dict,
- url_name='operation_creation',)
+ url_name="operation_creation",
+)
operation_modif_wizard_steps = [
- ('selec-operation_modification', forms.OperationFormSelection),
- ('general-operation_modification', forms.OperationFormModifGeneral),
- ('judiciary-operation_modification', forms.CourtOrderedSeizureForm),
- ('collaborators-operation_modification', forms.CollaboratorForm),
- ('archaeologicalsite-operation_modification', forms.ArchaeologicalSiteFormSet),
- ('preventive-operation_modification', forms.OperationFormPreventive),
- ('preventivediag-operation_modification', forms.OperationFormPreventiveDiag),
- ('towns-operation_modification', forms.SelectedTownFormset),
- ('townsgeneral-operation_modification', forms.TownFormset),
- ('parcels-operation_modification', forms.SelectedParcelFormSet),
- ('parcelsgeneral-operation_modification', forms.SelectedParcelGeneralFormSet),
- ('remains-operation_modification', forms.RemainForm),
- ('periods-operation_modification', forms.PeriodForm),
- ('relations-operation_modification', forms.RecordRelationsFormSet),
- ('abstract-operation_modification', forms.OperationFormAbstract),
- ('final-operation_modification', FinalForm)
+ ("selec-operation_modification", forms.OperationFormSelection),
+ ("general-operation_modification", forms.OperationFormModifGeneral),
+ ("judiciary-operation_modification", forms.CourtOrderedSeizureForm),
+ ("collaborators-operation_modification", forms.CollaboratorForm),
+ ("archaeologicalsite-operation_modification", forms.ArchaeologicalSiteFormSet),
+ ("preventive-operation_modification", forms.OperationFormPreventive),
+ ("preventivediag-operation_modification", forms.OperationFormPreventiveDiag),
+ ("towns-operation_modification", forms.SelectedTownFormset),
+ ("townsgeneral-operation_modification", forms.TownFormset),
+ ("parcels-operation_modification", forms.SelectedParcelFormSet),
+ ("parcelsgeneral-operation_modification", forms.SelectedParcelGeneralFormSet),
+ ("remains-operation_modification", forms.RemainForm),
+ ("periods-operation_modification", forms.PeriodForm),
+ ("relations-operation_modification", forms.RecordRelationsFormSet),
+ ("abstract-operation_modification", forms.OperationFormAbstract),
+ ("final-operation_modification", FinalForm),
]
ope_modif_condition_dict = {
- 'preventive-operation_modification':
- get_check_files_for_operation(
- wizards.is_preventive('general-operation_modification',
- models.OperationType, 'operation_type',
- 'prev_excavation')),
- 'preventivediag-operation_modification':
- get_check_files_for_operation(
- wizards.is_preventive('general-operation_modification',
- models.OperationType, 'operation_type',
- 'arch_diagnostic')),
- 'judiciary-operation_modification': wizards.is_judiciary(
- 'general-operation_modification', models.OperationType, 'operation_type',
+ "preventive-operation_modification": get_check_files_for_operation(
+ wizards.is_preventive(
+ "general-operation_modification",
+ models.OperationType,
+ "operation_type",
+ "prev_excavation",
+ )
+ ),
+ "preventivediag-operation_modification": get_check_files_for_operation(
+ wizards.is_preventive(
+ "general-operation_modification",
+ models.OperationType,
+ "operation_type",
+ "arch_diagnostic",
+ )
+ ),
+ "judiciary-operation_modification": wizards.is_judiciary(
+ "general-operation_modification",
+ models.OperationType,
+ "operation_type",
+ ),
+ "townsgeneral-operation_modification": wizards.has_associated_file(
+ "general-operation_modification", negate=True
+ ),
+ "towns-operation_modification": wizards.has_associated_file(
+ "general-operation_modification"
+ ),
+ "parcelsgeneral-operation_modification": wizards.has_associated_file(
+ "general-operation_modification", negate=True
+ ),
+ "parcels-operation_modification": wizards.has_associated_file(
+ "general-operation_modification"
),
- 'townsgeneral-operation_modification': wizards.has_associated_file(
- 'general-operation_modification', negate=True),
- 'towns-operation_modification': wizards.has_associated_file(
- 'general-operation_modification'),
- 'parcelsgeneral-operation_modification': wizards.has_associated_file(
- 'general-operation_modification', negate=True),
- 'parcels-operation_modification': wizards.has_associated_file(
- 'general-operation_modification'),
-
}
operation_modification_wizard = wizards.OperationModificationWizard.as_view(
operation_modif_wizard_steps,
label=_("Operation modification"),
condition_dict=ope_modif_condition_dict,
- url_name='operation_modification',)
+ url_name="operation_modification",
+)
def operation_modify(request, pk):
- if not wizard_is_available(operation_modification_wizard, request,
- models.Operation, pk):
+ if not wizard_is_available(
+ operation_modification_wizard, request, models.Operation, pk
+ ):
return HttpResponseRedirect("/")
- wizard_url = 'operation_modification'
+ wizard_url = "operation_modification"
wizards.OperationModificationWizard.session_set_value(
- request, 'selec-' + wizard_url, 'pk', pk, reset=True)
- return redirect(reverse(wizard_url,
- kwargs={'step': 'general-' + wizard_url}))
+ request, "selec-" + wizard_url, "pk", pk, reset=True
+ )
+ return redirect(reverse(wizard_url, kwargs={"step": "general-" + wizard_url}))
def operation_add(request, file_id):
operation_creation_wizard(request)
wizards.OperationWizard.session_set_value(
- request, 'filechoice-operation_creation', 'associated_file',
- file_id, reset=True)
- return redirect(reverse('operation_creation',
- kwargs={'step': 'general-operation_creation'}))
+ request, "filechoice-operation_creation", "associated_file", file_id, reset=True
+ )
+ return redirect(
+ reverse("operation_creation", kwargs={"step": "general-operation_creation"})
+ )
+
operation_closing_steps = [
- ('selec-operation_closing', forms.OperationFormSelection),
- ('date-operation_closing', ClosingDateFormSelection),
- ('final-operation_closing', forms.FinalOperationClosingForm)]
+ ("selec-operation_closing", forms.OperationFormSelection),
+ ("date-operation_closing", ClosingDateFormSelection),
+ ("final-operation_closing", forms.FinalOperationClosingForm),
+]
operation_closing_wizard = wizards.OperationClosingWizard.as_view(
operation_closing_steps,
label=_("Operation closing"),
- url_name='operation_closing',)
+ url_name="operation_closing",
+)
operation_deletion_steps = [
- ('selec-operation_deletion', forms.OperationFormMultiSelection),
- ('final-operation_deletion', forms.OperationDeletionForm)
+ ("selec-operation_deletion", forms.OperationFormMultiSelection),
+ ("final-operation_deletion", forms.OperationDeletionForm),
]
operation_deletion_wizard = wizards.OperationDeletionWizard.as_view(
operation_deletion_steps,
label=_("Operation deletion"),
- url_name='operation_deletion',)
+ url_name="operation_deletion",
+)
def operation_delete(request, pk):
- if not wizard_is_available(operation_deletion_wizard, request,
- models.Operation, pk):
+ if not wizard_is_available(
+ operation_deletion_wizard, request, models.Operation, pk
+ ):
return HttpResponseRedirect("/")
- wizard_url = 'operation_deletion'
+ wizard_url = "operation_deletion"
wizards.OperationDeletionWizard.session_set_value(
- request, 'selec-' + wizard_url, 'pks', pk, reset=True)
- return redirect(reverse(wizard_url,
- kwargs={'step': 'final-' + wizard_url}))
+ request, "selec-" + wizard_url, "pks", pk, reset=True
+ )
+ return redirect(reverse(wizard_url, kwargs={"step": "final-" + wizard_url}))
# archaeological sites
+
def site_extra_context(request, item):
- return {'SITE_LABEL': IshtarSiteProfile.get_default_site_label()}
+ return {"SITE_LABEL": IshtarSiteProfile.get_default_site_label()}
-get_site = get_item(models.ArchaeologicalSite, 'get_site', 'site',
- search_form=forms.SiteSelect)
-show_site = show_item(
- models.ArchaeologicalSite, 'site',
- extra_dct=site_extra_context
+get_site = get_item(
+ models.ArchaeologicalSite, "get_site", "site", search_form=forms.SiteSelect
)
+show_site = show_item(models.ArchaeologicalSite, "site", extra_dct=site_extra_context)
revert_site = revert_item(models.ArchaeologicalSite)
site_search_wizard = wizards.SiteSearch.as_view(
- [('general-site_search', forms.SiteFormSelection)],
- url_name='site_search',
+ [("general-site_search", forms.SiteFormSelection)],
+ url_name="site_search",
)
site_creation_steps = [
- ('general-site_creation', forms.SiteForm),
- ('towns-site_creation', forms.SiteTownFormset),
- ('underwater-site_creation', forms.SiteUnderwaterForm),
- ('final-site_creation', FinalForm)
+ ("general-site_creation", forms.SiteForm),
+ ("towns-site_creation", forms.SiteTownFormset),
+ ("underwater-site_creation", forms.SiteUnderwaterForm),
+ ("final-site_creation", FinalForm),
]
site_creation_wizard = wizards.SiteWizard.as_view(
site_creation_steps,
- condition_dict={'underwater-site_creation': forms.check_underwater_module},
- url_name='site_creation',
+ condition_dict={"underwater-site_creation": forms.check_underwater_module},
+ url_name="site_creation",
)
site_modification_steps = [
- ('selec-site_modification', forms.SiteFormSelection),
- ('general-site_modification', forms.SiteForm),
- ('towns-site_modification', forms.SiteTownFormset),
- ('underwater-site_modification', forms.SiteUnderwaterForm),
- ('final-site_modification', FinalForm)
+ ("selec-site_modification", forms.SiteFormSelection),
+ ("general-site_modification", forms.SiteForm),
+ ("towns-site_modification", forms.SiteTownFormset),
+ ("underwater-site_modification", forms.SiteUnderwaterForm),
+ ("final-site_modification", FinalForm),
]
site_modification_wizard = wizards.SiteModificationWizard.as_view(
site_modification_steps,
- condition_dict={
- 'underwater-site_modification': forms.check_underwater_module},
- url_name='site_modification',
+ condition_dict={"underwater-site_modification": forms.check_underwater_module},
+ url_name="site_modification",
)
def site_modify(request, pk):
- if not wizard_is_available(site_modification_wizard, request,
- models.ArchaeologicalSite, pk):
+ if not wizard_is_available(
+ site_modification_wizard, request, models.ArchaeologicalSite, pk
+ ):
return HttpResponseRedirect("/")
- wizard_url = 'site_modification'
+ wizard_url = "site_modification"
wizards.SiteModificationWizard.session_set_value(
- request, 'selec-' + wizard_url, 'pk', pk, reset=True)
- return redirect(reverse(wizard_url,
- kwargs={'step': 'general-' + wizard_url}))
+ request, "selec-" + wizard_url, "pk", pk, reset=True
+ )
+ return redirect(reverse(wizard_url, kwargs={"step": "general-" + wizard_url}))
site_deletion_steps = [
- ('selec-site_deletion', forms.SiteFormMultiSelection),
- ('final-site_deletion', FinalDeleteForm)
+ ("selec-site_deletion", forms.SiteFormMultiSelection),
+ ("final-site_deletion", FinalDeleteForm),
]
site_deletion_wizard = wizards.SiteDeletionWizard.as_view(
site_deletion_steps,
label=_("Site deletion"),
- url_name='site_deletion',)
+ url_name="site_deletion",
+)
def site_delete(request, pk):
- if not wizard_is_available(site_deletion_wizard, request,
- models.ArchaeologicalSite, pk):
+ if not wizard_is_available(
+ site_deletion_wizard, request, models.ArchaeologicalSite, pk
+ ):
return HttpResponseRedirect("/")
- wizard_url = 'site_deletion'
+ wizard_url = "site_deletion"
wizards.SiteDeletionWizard.session_set_value(
- request, 'selec-' + wizard_url, 'pks', pk, reset=True)
- return redirect(reverse(wizard_url,
- kwargs={'step': 'final-' + wizard_url}))
-
-operation_administrativeactop_search_wizard = wizards.SearchWizard.as_view([
- ('general-operation_administrativeactop_search',
- forms.AdministrativeActOpeFormSelection)],
+ request, "selec-" + wizard_url, "pks", pk, reset=True
+ )
+ return redirect(reverse(wizard_url, kwargs={"step": "final-" + wizard_url}))
+
+
+operation_administrativeactop_search_wizard = wizards.SearchWizard.as_view(
+ [
+ (
+ "general-operation_administrativeactop_search",
+ forms.AdministrativeActOpeFormSelection,
+ )
+ ],
label=_("Administrative act search"),
- url_name='operation_administrativeactop_search',)
+ url_name="operation_administrativeactop_search",
+)
administrativeactop_steps = [
- ('selec-operation_administrativeactop', forms.OperationFormSelection),
- ('administrativeact-operation_administrativeactop',
- forms.AdministrativeActOpeForm),
- ('final-operation_administrativeactop', FinalForm)]
-
-
-operation_administrativeactop_wizard = \
- wizards.OperationAdministrativeActWizard.as_view(
- administrativeactop_steps,
- label=_("Operation: new administrative act"),
- url_name='operation_administrativeactop',)
-
-operation_administrativeactop_modification_wizard = \
- wizards.OperationEditAdministrativeActWizard.as_view([
- ('selec-operation_administrativeactop_modification',
- forms.AdministrativeActOpeFormSelection),
- ('administrativeact-operation_administrativeactop_modification',
- forms.AdministrativeActOpeModifForm),
- ('final-operation_administrativeactop_modification', FinalForm)],
+ ("selec-operation_administrativeactop", forms.OperationFormSelection),
+ ("administrativeact-operation_administrativeactop", forms.AdministrativeActOpeForm),
+ ("final-operation_administrativeactop", FinalForm),
+]
+
+
+operation_administrativeactop_wizard = wizards.OperationAdministrativeActWizard.as_view(
+ administrativeactop_steps,
+ label=_("Operation: new administrative act"),
+ url_name="operation_administrativeactop",
+)
+
+operation_administrativeactop_modification_wizard = (
+ wizards.OperationEditAdministrativeActWizard.as_view(
+ [
+ (
+ "selec-operation_administrativeactop_modification",
+ forms.AdministrativeActOpeFormSelection,
+ ),
+ (
+ "administrativeact-operation_administrativeactop_modification",
+ forms.AdministrativeActOpeModifForm,
+ ),
+ ("final-operation_administrativeactop_modification", FinalForm),
+ ],
label=_("Operation: administrative act modification"),
- url_name='operation_administrativeactop_modification',)
+ url_name="operation_administrativeactop_modification",
+ )
+)
def operation_administrativeactop_modify(request, pk):
if not wizard_is_available(
- operation_administrativeactop_modification_wizard, request,
- models.AdministrativeAct, pk):
+ operation_administrativeactop_modification_wizard,
+ request,
+ models.AdministrativeAct,
+ pk,
+ ):
return HttpResponseRedirect("/")
- wizard_url = 'operation_administrativeactop_modification'
+ wizard_url = "operation_administrativeactop_modification"
wizards.OperationEditAdministrativeActWizard.session_set_value(
- request, 'selec-' + wizard_url, 'pk', pk, reset=True)
+ request, "selec-" + wizard_url, "pk", pk, reset=True
+ )
return redirect(
- reverse(wizard_url, kwargs={'step': 'administrativeact-' + wizard_url}))
-
-
-operation_administrativeactop_deletion_wizard = \
- wizards.AdministrativeActDeletionWizard.as_view([
- ('selec-operation_administrativeactop_deletion',
- forms.AdministrativeActOpeFormSelection),
- ('final-operation_administrativeactop_deletion',
- forms.FinalAdministrativeActDeleteForm)],
+ reverse(wizard_url, kwargs={"step": "administrativeact-" + wizard_url})
+ )
+
+
+operation_administrativeactop_deletion_wizard = (
+ wizards.AdministrativeActDeletionWizard.as_view(
+ [
+ (
+ "selec-operation_administrativeactop_deletion",
+ forms.AdministrativeActOpeFormSelection,
+ ),
+ (
+ "final-operation_administrativeactop_deletion",
+ forms.FinalAdministrativeActDeleteForm,
+ ),
+ ],
label=_("Operation: administrative act deletion"),
- url_name='operation_administrativeactop_deletion',)
+ url_name="operation_administrativeactop_deletion",
+ )
+)
def operation_administrativeactop_delete(request, pk):
if not wizard_is_available(
- operation_administrativeactop_deletion_wizard, request,
- models.AdministrativeAct, pk):
+ operation_administrativeactop_deletion_wizard,
+ request,
+ models.AdministrativeAct,
+ pk,
+ ):
return HttpResponseRedirect("/")
- wizard_url = 'operation_administrativeactop_deletion'
+ wizard_url = "operation_administrativeactop_deletion"
wizards.AdministrativeActDeletionWizard.session_set_value(
- request, 'selec-' + wizard_url, 'pk', pk, reset=True)
- return redirect(
- reverse(wizard_url, kwargs={'step': 'final-' + wizard_url}))
-
-
-administrativact_register_wizard = SearchWizard.as_view([
- ('general-administrativact_register',
- forms.AdministrativeActRegisterFormSelection)],
- label=pgettext_lazy('admin act register', "Register"),
- url_name='administrativact_register',)
+ request, "selec-" + wizard_url, "pk", pk, reset=True
+ )
+ return redirect(reverse(wizard_url, kwargs={"step": "final-" + wizard_url}))
+
+
+administrativact_register_wizard = SearchWizard.as_view(
+ [
+ (
+ "general-administrativact_register",
+ forms.AdministrativeActRegisterFormSelection,
+ )
+ ],
+ label=pgettext_lazy("admin act register", "Register"),
+ url_name="administrativact_register",
+)
generatedoc_administrativeactop = gen_generate_doc(models.AdministrativeAct)
def administrativeactfile_document(
- request, file=False, treatment=False, treatment_file=False):
+ request, file=False, treatment=False, treatment_file=False
+):
search_form = forms.AdministrativeActOpeFormSelection
- document_type = 'O'
+ document_type = "O"
if file:
- from archaeological_files.forms import \
- AdministrativeActFileFormSelection
+ from archaeological_files.forms import AdministrativeActFileFormSelection
+
search_form = AdministrativeActFileFormSelection
- document_type = 'F'
+ document_type = "F"
elif treatment:
- from archaeological_finds.forms import \
- AdministrativeActTreatmentFormSelection
+ from archaeological_finds.forms import AdministrativeActTreatmentFormSelection
+
search_form = AdministrativeActTreatmentFormSelection
- document_type = 'T'
+ document_type = "T"
elif treatment_file:
- from archaeological_finds.forms import \
- AdministrativeActTreatmentFileFormSelection
+ from archaeological_finds.forms import (
+ AdministrativeActTreatmentFileFormSelection,
+ )
+
search_form = AdministrativeActTreatmentFileFormSelection
- document_type = 'TF'
+ document_type = "TF"
- if not request.user.has_perm('view_administrativeact',
- models.AdministrativeAct):
- return HttpResponse(content_type='text/plain')
+ if not request.user.has_perm("view_administrativeact", models.AdministrativeAct):
+ return HttpResponse(content_type="text/plain")
dct = {}
DocumentGenerationAdminActForm = forms.DocumentGenerationAdminActForm
if request.POST:
- dct['search_form'] = search_form(request.POST)
- dct['template_form'] = DocumentGenerationAdminActForm(
- document_type=document_type)
+ dct["search_form"] = search_form(request.POST)
+ dct["template_form"] = DocumentGenerationAdminActForm(
+ document_type=document_type
+ )
c_object = None
try:
- if dct['search_form'].is_valid():
- c_object = \
- DocumentGenerationAdminActForm._associated_model\
- .objects.get(pk=dct['search_form'].cleaned_data.get('pk'))
+ if dct["search_form"].is_valid():
+ c_object = DocumentGenerationAdminActForm._associated_model.objects.get(
+ pk=dct["search_form"].cleaned_data.get("pk")
+ )
except DocumentGenerationAdminActForm._associated_model.DoesNotExist:
pass
if c_object:
- dct['template_form'] = DocumentGenerationAdminActForm(
- request.POST, document_type=document_type, obj=c_object)
- if dct['template_form'].is_valid():
+ dct["template_form"] = DocumentGenerationAdminActForm(
+ request.POST, document_type=document_type, obj=c_object
+ )
+ if dct["template_form"].is_valid():
try:
return generatedoc_administrativeactop(
request,
- dct['search_form'].cleaned_data.get('pk'),
- dct['template_form'].cleaned_data.get(
- 'document_template'))
+ dct["search_form"].cleaned_data.get("pk"),
+ dct["template_form"].cleaned_data.get("document_template"),
+ )
except TemplateSyntaxError:
- dct['search_form'] = search_form()
+ dct["search_form"] = search_form()
try:
- template = DocumentTemplate.objects.get(pk=dct[
- 'template_form'].cleaned_data.get(
- 'document_template')).name
+ template = DocumentTemplate.objects.get(
+ pk=dct["template_form"].cleaned_data.get(
+ "document_template"
+ )
+ ).name
except DocumentTemplate.DoesNotExist:
template = ""
- dct['template_form'] = DocumentGenerationAdminActForm(
- document_type=document_type)
- dct['template_error'] = str(_(
- "Syntax error on the source template \"{}\" - "
- "contact your administrator and ask him to check "
- "the syntax of this document.")).format(template)
+ dct["template_form"] = DocumentGenerationAdminActForm(
+ document_type=document_type
+ )
+ dct["template_error"] = str(
+ _(
+ 'Syntax error on the source template "{}" - '
+ "contact your administrator and ask him to check "
+ "the syntax of this document."
+ )
+ ).format(template)
else:
- dct['search_form'] = search_form()
- dct['template_form'] = DocumentGenerationAdminActForm(
- document_type=document_type)
- return render(request, 'ishtar/administrativeact_document.html', dct)
+ dct["search_form"] = search_form()
+ dct["template_form"] = DocumentGenerationAdminActForm(
+ document_type=document_type
+ )
+ return render(request, "ishtar/administrativeact_document.html", dct)
def autocomplete_administrativeact(request):
- if (not request.user.has_perm(
- 'archaeological_operations.view_administrativeact',
- models.AdministrativeAct)
- and not request.user.has_perm(
- 'archaeological_operations.view_own_administrativeact',
- models.AdministrativeAct)):
- return HttpResponse(content_type='text/plain')
- if not request.GET.get('term'):
- return HttpResponse(content_type='text/plain')
- q = request.GET.get('term')
+ if not request.user.has_perm(
+ "archaeological_operations.view_administrativeact", models.AdministrativeAct
+ ) and not request.user.has_perm(
+ "archaeological_operations.view_own_administrativeact", models.AdministrativeAct
+ ):
+ return HttpResponse(content_type="text/plain")
+ if not request.GET.get("term"):
+ return HttpResponse(content_type="text/plain")
+ q = request.GET.get("term")
query = Q()
- for q in q.split(' '):
+ for q in q.split(" "):
qt = Q(act_type__label__icontains=q) | Q(towns_label=q)
try:
if len(q) == 4:
@@ -590,25 +697,33 @@ def autocomplete_administrativeact(request):
pass
query = query & qt
limit = 15
- items = models.AdministrativeAct.objects.filter(
- query).order_by('year', 'index').distinct()[:limit]
- data = json.dumps([{'id': item.pk, 'value': str(item)[:80] + " (...)"}
- for item in items])
- return HttpResponse(data, content_type='text/plain')
+ items = (
+ models.AdministrativeAct.objects.filter(query)
+ .order_by("year", "index")
+ .distinct()[:limit]
+ )
+ data = json.dumps(
+ [{"id": item.pk, "value": str(item)[:80] + " (...)"} for item in items]
+ )
+ return HttpResponse(data, content_type="text/plain")
def reset_wizards(request):
for wizard_class, url_name in (
- (wizards.OperationWizard, 'operation_creation'),
- (wizards.OperationModificationWizard, 'operation_modification'),
- (wizards.OperationClosingWizard, 'operation_closing'),
- (wizards.OperationDeletionWizard, 'operation_deletion_wizard'),
- (wizards.OperationAdministrativeActWizard,
- 'operation_administrativeactop'),
- (wizards.OperationEditAdministrativeActWizard,
- 'operation_administrativeactop_modification'),
- (wizards.AdministrativeActDeletionWizard,
- 'operation_administrativeactop_deletion'),):
+ (wizards.OperationWizard, "operation_creation"),
+ (wizards.OperationModificationWizard, "operation_modification"),
+ (wizards.OperationClosingWizard, "operation_closing"),
+ (wizards.OperationDeletionWizard, "operation_deletion_wizard"),
+ (wizards.OperationAdministrativeActWizard, "operation_administrativeactop"),
+ (
+ wizards.OperationEditAdministrativeActWizard,
+ "operation_administrativeactop_modification",
+ ),
+ (
+ wizards.AdministrativeActDeletionWizard,
+ "operation_administrativeactop_deletion",
+ ),
+ ):
wizard_class.session_reset(request, url_name)
@@ -628,7 +743,7 @@ class QASiteLockView(QABaseLockView):
class QAOperationdDuplicateFormView(QAItemForm):
- template_name = 'ishtar/forms/qa_operation_duplicate.html'
+ template_name = "ishtar/forms/qa_operation_duplicate.html"
model = models.Operation
page_name = _("Duplicate")
form_class = forms.QAOperationDuplicateForm
@@ -636,7 +751,7 @@ class QAOperationdDuplicateFormView(QAItemForm):
def get_form_kwargs(self):
kwargs = super(QAOperationdDuplicateFormView, self).get_form_kwargs()
- kwargs['user'] = self.request.user
+ kwargs["user"] = self.request.user
return kwargs
def form_valid(self, form):
@@ -644,23 +759,21 @@ class QAOperationdDuplicateFormView(QAItemForm):
return HttpResponseRedirect(reverse("success"))
def get_context_data(self, **kwargs):
- data = super(QAOperationdDuplicateFormView, self).get_context_data(
- **kwargs)
- data['action_name'] = _("Duplicate")
+ data = super(QAOperationdDuplicateFormView, self).get_context_data(**kwargs)
+ data["action_name"] = _("Duplicate")
return data
class QAArchaeologicalSiteDuplicateFormView(QAItemForm):
- template_name = 'ishtar/forms/qa_site_duplicate.html'
+ template_name = "ishtar/forms/qa_site_duplicate.html"
model = models.ArchaeologicalSite
page_name = _("Duplicate")
form_class = forms.QAArchaeologicalSiteDuplicateForm
base_url = "site-qa-duplicate"
def get_form_kwargs(self):
- kwargs = super(QAArchaeologicalSiteDuplicateFormView,
- self).get_form_kwargs()
- kwargs['user'] = self.request.user
+ kwargs = super(QAArchaeologicalSiteDuplicateFormView, self).get_form_kwargs()
+ kwargs["user"] = self.request.user
return kwargs
def form_valid(self, form):
@@ -668,9 +781,10 @@ class QAArchaeologicalSiteDuplicateFormView(QAItemForm):
return HttpResponseRedirect(reverse("success"))
def get_context_data(self, **kwargs):
- data = super(QAArchaeologicalSiteDuplicateFormView,
- self).get_context_data(**kwargs)
- data['action_name'] = _("Duplicate")
+ data = super(QAArchaeologicalSiteDuplicateFormView, self).get_context_data(
+ **kwargs
+ )
+ data["action_name"] = _("Duplicate")
return data
@@ -683,30 +797,36 @@ class GenerateStatsOperation(IshtarMixin, LoginRequiredMixin, RedirectView):
model = models.Operation
def get_redirect_url(self, *args, **kwargs):
- return reverse('display-item',
- args=[self.model.SLUG, self.item.pk]) + "#statistics"
+ return (
+ reverse("display-item", args=[self.model.SLUG, self.item.pk])
+ + "#statistics"
+ )
def get(self, request, *args, **kwargs):
- self.item = self.model.objects.get(pk=kwargs['pk'])
- self.item._get_or_set_stats('_nb_acts', update=True)
- self.item._get_or_set_stats('_nb_indexed_acts', update=True)
- self.item._get_or_set_stats('_nb_context_records', update=True)
- self.item._get_or_set_stats('_nb_context_records_by_type', update=True,
- expected_type=list)
- self.item._get_or_set_stats('_nb_context_records_by_periods',
- update=True, expected_type=list)
- self.item._get_or_set_stats('_nb_finds', update=True)
- self.item._get_or_set_stats('_nb_finds_by_material_type', update=True,
- expected_type=list)
- self.item._get_or_set_stats('_nb_finds_by_types', update=True,
- expected_type=list)
- self.item._get_or_set_stats('_nb_finds_by_periods', update=True,
- expected_type=list)
- self.item._get_or_set_stats('_nb_documents', update=True)
- self.item._get_or_set_stats('_nb_documents_by_types', update=True,
- expected_type=list)
- self.item._get_or_set_stats('_nb_stats_finds_by_ue', update=True)
+ self.item = self.model.objects.get(pk=kwargs["pk"])
+ self.item._get_or_set_stats("_nb_acts", update=True)
+ self.item._get_or_set_stats("_nb_indexed_acts", update=True)
+ self.item._get_or_set_stats("_nb_context_records", update=True)
+ self.item._get_or_set_stats(
+ "_nb_context_records_by_type", update=True, expected_type=list
+ )
+ self.item._get_or_set_stats(
+ "_nb_context_records_by_periods", update=True, expected_type=list
+ )
+ self.item._get_or_set_stats("_nb_finds", update=True)
+ self.item._get_or_set_stats(
+ "_nb_finds_by_material_type", update=True, expected_type=list
+ )
+ self.item._get_or_set_stats(
+ "_nb_finds_by_types", update=True, expected_type=list
+ )
+ self.item._get_or_set_stats(
+ "_nb_finds_by_periods", update=True, expected_type=list
+ )
+ self.item._get_or_set_stats("_nb_documents", update=True)
+ self.item._get_or_set_stats(
+ "_nb_documents_by_types", update=True, expected_type=list
+ )
+ self.item._get_or_set_stats("_nb_stats_finds_by_ue", update=True)
return super(GenerateStatsOperation, self).get(request, *args, **kwargs)
-
-