summaryrefslogtreecommitdiff
path: root/archaeological_finds/views.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-09-05 13:56:09 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-10-24 12:06:08 +0200
commit575a7fd93e52b750e323cde669e5a4c329ead978 (patch)
treeec9c9767e29588622d0e70c58fcf3bbd2b8e98de /archaeological_finds/views.py
parent7998a1f6d3096b8a6a2d8bdb80d3034a68bc544d (diff)
downloadIshtar-575a7fd93e52b750e323cde669e5a4c329ead978.tar.bz2
Ishtar-575a7fd93e52b750e323cde669e5a4c329ead978.zip
Fix display of QA form. Improve layout of criteria search.
Diffstat (limited to 'archaeological_finds/views.py')
-rw-r--r--archaeological_finds/views.py44
1 files changed, 1 insertions, 43 deletions
diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py
index 034e1994f..ca575a889 100644
--- a/archaeological_finds/views.py
+++ b/archaeological_finds/views.py
@@ -35,7 +35,7 @@ from forms import *
from ishtar_common.forms import FinalForm
from ishtar_common.models import IshtarUser, get_current_profile
from ishtar_common.views import get_autocomplete_generic, IshtarMixin, \
- LoginRequiredMixin
+ LoginRequiredMixin, QAItemEditForm
from ishtar_common.views_item import display_item, get_item, show_item, \
revert_item, get_autocomplete_item
from wizards import *
@@ -596,49 +596,7 @@ def reset_wizards(request):
wizard_class.session_reset(request, url_name)
-class QAItemEditForm(IshtarMixin, LoginRequiredMixin, FormView):
- template_name = 'ishtar/qa_form.html'
- model = None
- form_class = None
- form_class_multi = None
-
- def dispatch(self, request, *args, **kwargs):
- assert self.model
- pks = [int(pk) for pk in kwargs.get('pks').split('-')]
- self.items = list(self.model.objects.filter(pk__in=pks))
- if not self.items:
- raise Http404()
-
- # check availability
- if not self.model.QA_EDIT.is_available(
- user=request.user, session=request.session):
- for item in self.items:
- if not self.model.QA_EDIT.is_available(
- user=request.user, session=request.session, obj=item):
- raise Http404()
-
- return super(QAItemEditForm, self).dispatch(request, *args, **kwargs)
-
- def get_form_class(self):
- if len(self.items) > 1:
- return self.form_class_multi
- return self.form_class
-
- def get_form_kwargs(self):
- kwargs = super(QAItemEditForm, self).get_form_kwargs()
- kwargs['items'] = self.items
- return kwargs
-
-
class QAFindForm(QAItemEditForm):
model = models.Find
form_class = QAFindFormSingle
form_class_multi = QAFindFormMulti
-
- def get_success_url(self, basket):
- return reverse('select_itemsinbasket',
- kwargs={'pk': basket})
-
- def form_valid(self, form):
- return HttpResponseRedirect(self.get_success_url(
- form.cleaned_data['basket']))