summaryrefslogtreecommitdiff
path: root/archaeological_context_records/views.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2021-03-19 11:09:10 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2021-03-19 11:09:10 +0100
commiteb4565bbab91e2942b19fb107b3d7c51d2c7afa9 (patch)
treebfa6fbf20d7c7b7b3eedebb79bae8ecd4e0759f1 /archaeological_context_records/views.py
parente2d6c50f231f636fed362be37e7bf3319fc5d6b8 (diff)
downloadIshtar-eb4565bbab91e2942b19fb107b3d7c51d2c7afa9.tar.bz2
Ishtar-eb4565bbab91e2942b19fb107b3d7c51d2c7afa9.zip
Format - black: context_records
Diffstat (limited to 'archaeological_context_records/views.py')
-rw-r--r--archaeological_context_records/views.py218
1 files changed, 124 insertions, 94 deletions
diff --git a/archaeological_context_records/views.py b/archaeological_context_records/views.py
index 2de60dc2c..568d2a4f2 100644
--- a/archaeological_context_records/views.py
+++ b/archaeological_context_records/views.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Copyright (C) 2010-2016 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
@@ -34,139 +34,163 @@ from archaeological_operations.views import site_extra_context
from archaeological_context_records import forms
from ishtar_common.utils import put_session_message
-from ishtar_common.views import IshtarMixin, LoginRequiredMixin, QAItemForm, \
- QABaseLockView, wizard_is_available
-from ishtar_common.views_item import display_item, get_item, show_item, \
- revert_item
+from ishtar_common.views import (
+ IshtarMixin,
+ LoginRequiredMixin,
+ QAItemForm,
+ QABaseLockView,
+ wizard_is_available,
+)
+from ishtar_common.views_item import display_item, get_item, show_item, revert_item
from archaeological_context_records import wizards
show_contextrecord = show_item(
- models.ContextRecord, 'contextrecord',
- extra_dct=site_extra_context
+ models.ContextRecord, "contextrecord", extra_dct=site_extra_context
)
revert_contextrecord = revert_item(models.ContextRecord)
def autocomplete_contextrecord(request):
- if (not request.user.has_perm(
- 'archaeological_context_records.view_contextrecord',
- models.ContextRecord)
- and not request.user.has_perm(
- 'archaeological_context_records.view_own_contextrecord',
- 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_context_records.view_contextrecord", models.ContextRecord
+ ) and not request.user.has_perm(
+ "archaeological_context_records.view_own_contextrecord",
+ 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()
- if request.GET.get('operation__pk'):
- query = Q(operation__pk=request.GET.get('operation__pk'))
- for q in q.split(' '):
- qt = Q(parcel__section__icontains=q) | \
- Q(parcel__parcel_number__icontains=q) | \
- Q(cached_label__icontains=q) | Q(label__icontains=q)
+ if request.GET.get("operation__pk"):
+ query = Q(operation__pk=request.GET.get("operation__pk"))
+ for q in q.split(" "):
+ qt = (
+ Q(parcel__section__icontains=q)
+ | Q(parcel__parcel_number__icontains=q)
+ | Q(cached_label__icontains=q)
+ | Q(label__icontains=q)
+ )
query = query & qt
limit = 15
- items = models.ContextRecord.objects\
- .filter(query).order_by('parcel__section', 'parcel__parcel_number',
- 'label')[:limit]
- data = json.dumps([{'id': item.pk,
- 'value': str(item)[:60]}
- for item in items])
- return HttpResponse(data, content_type='text/plain')
+ items = models.ContextRecord.objects.filter(query).order_by(
+ "parcel__section", "parcel__parcel_number", "label"
+ )[:limit]
+ data = json.dumps([{"id": item.pk, "value": str(item)[:60]} for item in items])
+ return HttpResponse(data, content_type="text/plain")
get_contextrecord = get_item(
models.ContextRecord,
- 'get_contextrecord', 'contextrecord',
- search_form=forms.RecordSelect
+ "get_contextrecord",
+ "contextrecord",
+ search_form=forms.RecordSelect,
)
get_contextrecord_for_ope = get_item(
models.ContextRecord,
- 'get_contextrecord', 'contextrecord',
- own_table_cols=models.ContextRecord.TABLE_COLS_FOR_OPE)
+ "get_contextrecord",
+ "contextrecord",
+ own_table_cols=models.ContextRecord.TABLE_COLS_FOR_OPE,
+)
get_contextrecordrelation = get_item(
- models.RecordRelationView, 'get_contextrecordrelation',
- 'contextrecordrelation', specific_perms=['view_recordrelation'],
+ models.RecordRelationView,
+ "get_contextrecordrelation",
+ "contextrecordrelation",
+ specific_perms=["view_recordrelation"],
do_not_deduplicate=True,
- extra_request_keys=models.RecordRelationView.EXTRA_REQUEST_KEYS
+ extra_request_keys=models.RecordRelationView.EXTRA_REQUEST_KEYS,
)
get_contextrecordrelationdetail = get_item(
- models.RecordRelations, 'get_contextrecordrelationdetail',
- 'contextrecordrelationdetail', specific_perms=['view_recordrelation'])
+ models.RecordRelations,
+ "get_contextrecordrelationdetail",
+ "contextrecordrelationdetail",
+ specific_perms=["view_recordrelation"],
+)
-record_search_wizard = wizards.RecordSearch.as_view([
- ('general-record_search', forms.RecordFormSelection)],
+record_search_wizard = wizards.RecordSearch.as_view(
+ [("general-record_search", forms.RecordFormSelection)],
label=_("Context record search"),
- url_name='record_search',)
+ url_name="record_search",
+)
record_creation_steps = [
- ('selec-record_creation', forms.OperationRecordFormSelection),
- ('general-record_creation', forms.RecordFormGeneral),
- ('datings-record_creation', forms.DatingFormSet),
- ('interpretation-record_creation', forms.RecordFormInterpretation),
- ('relations-record_creation', forms.RecordRelationsFormSet),
- ('final-record_creation', forms.FinalForm)
+ ("selec-record_creation", forms.OperationRecordFormSelection),
+ ("general-record_creation", forms.RecordFormGeneral),
+ ("datings-record_creation", forms.DatingFormSet),
+ ("interpretation-record_creation", forms.RecordFormInterpretation),
+ ("relations-record_creation", forms.RecordRelationsFormSet),
+ ("final-record_creation", forms.FinalForm),
]
record_creation_wizard = wizards.RecordWizard.as_view(
record_creation_steps,
label=_("New context record"),
- url_name='record_creation',
+ url_name="record_creation",
)
record_modification_steps = [
- ('selec-record_modification', forms.RecordFormSelection),
- ('operation-record_modification', forms.OperationFormSelection),
- ('general-record_modification', forms.RecordFormGeneral),
- ('datings-record_modification', forms.DatingFormSet),
- ('interpretation-record_modification', forms.RecordFormInterpretation),
- ('relations-record_modification', forms.RecordRelationsFormSet),
- ('final-record_modification', forms.FinalForm)
+ ("selec-record_modification", forms.RecordFormSelection),
+ ("operation-record_modification", forms.OperationFormSelection),
+ ("general-record_modification", forms.RecordFormGeneral),
+ ("datings-record_modification", forms.DatingFormSet),
+ ("interpretation-record_modification", forms.RecordFormInterpretation),
+ ("relations-record_modification", forms.RecordRelationsFormSet),
+ ("final-record_modification", forms.FinalForm),
]
record_modification_wizard = wizards.RecordModifWizard.as_view(
record_modification_steps,
label=_("Context record modification"),
- url_name='record_modification',
+ url_name="record_modification",
)
def record_modify(request, pk):
- if not wizard_is_available(record_modification_wizard, request,
- models.ContextRecord, pk):
+ if not wizard_is_available(
+ record_modification_wizard, request, models.ContextRecord, pk
+ ):
return HttpResponseRedirect("/")
wizards.RecordModifWizard.session_set_value(
- request, 'selec-record_modification', 'pk', pk, reset=True)
- return redirect(reverse('record_modification',
- kwargs={'step': 'operation-record_modification'}))
-
-record_deletion_wizard = wizards.RecordDeletionWizard.as_view([
- ('selec-record_deletion', forms.RecordFormMultiSelection),
- ('final-record_deletion', forms.RecordDeletionForm)],
+ request, "selec-record_modification", "pk", pk, reset=True
+ )
+ return redirect(
+ reverse("record_modification", kwargs={"step": "operation-record_modification"})
+ )
+
+
+record_deletion_wizard = wizards.RecordDeletionWizard.as_view(
+ [
+ ("selec-record_deletion", forms.RecordFormMultiSelection),
+ ("final-record_deletion", forms.RecordDeletionForm),
+ ],
label=_("Context record deletion"),
- url_name='record_deletion',)
+ url_name="record_deletion",
+)
def record_delete(request, pk):
- if not wizard_is_available(record_deletion_wizard, request,
- models.ContextRecord, pk):
+ if not wizard_is_available(
+ record_deletion_wizard, request, models.ContextRecord, pk
+ ):
return HttpResponseRedirect("/")
wizards.RecordDeletionWizard.session_set_value(
- request, 'selec-record_deletion', 'pks', pk, reset=True)
- return redirect(reverse('record_deletion',
- kwargs={'step': 'final-record_deletion'}))
+ request, "selec-record_deletion", "pks", pk, reset=True
+ )
+ return redirect(
+ reverse("record_deletion", kwargs={"step": "final-record_deletion"})
+ )
def reset_wizards(request):
for wizard_class, url_name in (
- (wizards.RecordWizard, 'record_creation'),
- (wizards.RecordModifWizard, 'record_modification'),
- (wizards.RecordDeletionWizard, 'record_deletion')):
+ (wizards.RecordWizard, "record_creation"),
+ (wizards.RecordModifWizard, "record_modification"),
+ (wizards.RecordDeletionWizard, "record_deletion"),
+ ):
wizard_class.session_reset(request, url_name)
@@ -176,28 +200,31 @@ class GenerateRelationImage(IshtarMixin, LoginRequiredMixin, RedirectView):
def get_redirect_url(self, *args, **kwargs):
if self.upper_item:
- return reverse(
- 'display-item',
- args=[self.upper_model.SLUG, self.upper_item.pk]) + "#cr"
- return reverse('display-item',
- args=[self.model.SLUG, self.item.pk]) + "#relations"
+ return (
+ reverse(
+ "display-item", args=[self.upper_model.SLUG, self.upper_item.pk]
+ )
+ + "#cr"
+ )
+ return (
+ reverse("display-item", args=[self.model.SLUG, self.item.pk]) + "#relations"
+ )
def get(self, request, *args, **kwargs):
self.upper_item = None
render_type = kwargs.get("type", None)
if render_type == "full" and self.upper_model:
try:
- self.upper_item = self.upper_model.objects.get(pk=kwargs['pk'])
+ self.upper_item = self.upper_model.objects.get(pk=kwargs["pk"])
except self.model.DoesNotExist:
raise Http404()
q = self.upper_item.context_record_relations_q()
if not q.count():
- return super(GenerateRelationImage, self).get(request, *args,
- **kwargs)
+ return super(GenerateRelationImage, self).get(request, *args, **kwargs)
self.item = q.all()[0].left_record
else:
try:
- self.item = self.model.objects.get(pk=kwargs['pk'])
+ self.item = self.model.objects.get(pk=kwargs["pk"])
except self.model.DoesNotExist:
raise Http404()
render_above, render_below, full = True, True, False
@@ -208,21 +235,25 @@ class GenerateRelationImage(IshtarMixin, LoginRequiredMixin, RedirectView):
elif render_type == "full":
full = True
self.item.generate_relation_image(
- render_below=render_below, render_above=render_above, full=full)
+ render_below=render_below, render_above=render_above, full=full
+ )
return super(GenerateRelationImage, self).get(request, *args, **kwargs)
class QAOperationContextRecordView(QAItemForm):
- template_name = 'ishtar/forms/qa_operation_contextrecord.html'
+ template_name = "ishtar/forms/qa_operation_contextrecord.html"
model = Operation
form_class = forms.QAOperationCR
page_name = _("Context record")
def get_quick_action(self):
return QuickAction(
- url="operation-qa-contextrecord", icon_class="fa fa-plus",
- text=_("Add context record"), target="one",
- rights=['add_contextrecord', 'add_own_contextrecord'])
+ url="operation-qa-contextrecord",
+ icon_class="fa fa-plus",
+ text=_("Add context record"),
+ target="one",
+ rights=["add_contextrecord", "add_own_contextrecord"],
+ )
def form_valid(self, form):
form.save(self.items)
@@ -235,7 +266,7 @@ class QAContextRecordLockView(QABaseLockView):
class QAContextRecordDuplicateFormView(QAItemForm):
- template_name = 'ishtar/forms/qa_contextrecord_duplicate.html'
+ template_name = "ishtar/forms/qa_contextrecord_duplicate.html"
model = models.ContextRecord
page_name = _("Duplicate")
form_class = forms.QAContextRecordDuplicateForm
@@ -243,7 +274,7 @@ class QAContextRecordDuplicateFormView(QAItemForm):
def get_form_kwargs(self):
kwargs = super(QAContextRecordDuplicateFormView, self).get_form_kwargs()
- kwargs['user'] = self.request.user
+ kwargs["user"] = self.request.user
return kwargs
def form_valid(self, form):
@@ -251,8 +282,7 @@ class QAContextRecordDuplicateFormView(QAItemForm):
return HttpResponseRedirect(reverse("success"))
def get_context_data(self, **kwargs):
- data = super(QAContextRecordDuplicateFormView, self).get_context_data(
- **kwargs)
- data['action_name'] = _("Duplicate")
+ data = super(QAContextRecordDuplicateFormView, self).get_context_data(**kwargs)
+ data["action_name"] = _("Duplicate")
data["operation"] = self.items[0].operation
return data