summaryrefslogtreecommitdiff
path: root/archaeological_finds/views.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-11-30 18:47:14 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-11-30 18:48:21 +0100
commitf5f97fb1d89a4ccfc0219c17aa3e8bac6f7fd357 (patch)
treee091e17882ca67be8e6040e938439fa5a5e6bc5a /archaeological_finds/views.py
parent0493613840e21a9b72ea6d9d5eaa90968dc7f472 (diff)
downloadIshtar-f5f97fb1d89a4ccfc0219c17aa3e8bac6f7fd357.tar.bz2
Ishtar-f5f97fb1d89a4ccfc0219c17aa3e8bac6f7fd357.zip
Manage basket to treatment file association
Diffstat (limited to 'archaeological_finds/views.py')
-rw-r--r--archaeological_finds/views.py67
1 files changed, 31 insertions, 36 deletions
diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py
index 125567044..28c9495a3 100644
--- a/archaeological_finds/views.py
+++ b/archaeological_finds/views.py
@@ -37,7 +37,7 @@ from ishtar_common.models import IshtarUser, get_current_profile
from ishtar_common.views import get_autocomplete_generic, IshtarMixin, \
LoginRequiredMixin, QAItemEditForm, QAItemForm
from ishtar_common.views_item import display_item, get_item, show_item, \
- revert_item, get_autocomplete_item
+ revert_item, get_autocomplete_item, get_autocomplete_query
from wizards import *
get_find = get_item(models.Find, 'get_find', 'find')
@@ -114,6 +114,23 @@ show_findbasket = show_item(models.FindBasket, 'findbasket',
display_findbasket = display_item(models.FindBasket,
show_url='show-find/basket-')
+
+def autocomplete_findbasket(request, current_right=None):
+ if not request.GET.get('term'):
+ return HttpResponse(content_type='text/plain')
+
+ query = get_autocomplete_query(request, ['label'])
+ limit = 20
+ query = query & models.FindBasket.get_write_query_owns(
+ request.user.ishtaruser)
+ items = models.FindBasket.objects.filter(query).order_by('label')[:limit]
+ data = json.dumps(
+ [{'id': item.pk,
+ 'value': u"{} - {}".format(item.label, item.user)[:60]}
+ for item in items]
+ )
+ return HttpResponse(data, content_type='text/plain')
+
get_find_basket = get_item(
models.FindBasket, 'get_findbasket', 'findbasket',
model_for_perms=models.Find
@@ -151,6 +168,19 @@ def find_basket_modify(request, pk):
kwargs={'step': 'basket-find_basket_modification'}))
+findbasket_deletion_steps = [
+ ('selec-find_basket_deletion', FindBasketForWriteFormSelection),
+ ('final-find_basket_deletion', FinalForm)
+]
+
+
+basket_delete_wizard = FindBasketDeletionWizard.as_view(
+ findbasket_deletion_steps,
+ label=_(u"Basket deletion"),
+ url_name='find_basket_deletion',
+)
+
+
def check_preservation_module(self):
return get_current_profile().preservation
@@ -410,22 +440,6 @@ class FindBasketDeleteItemView(OwnBasket, IshtarMixin, LoginRequiredMixin,
basket.items.remove(find)
return HttpResponseRedirect(self.get_success_url(basket))
-
-class DeleteFindBasketView(IshtarMixin, LoginRequiredMixin, FormView):
- template_name = 'ishtar/form_delete.html'
- form_class = DeleteFindBasketForm
- success_url = '/'
- page_name = _(u"Delete basket")
-
- def get_form_kwargs(self):
- kwargs = super(DeleteFindBasketView, self).get_form_kwargs()
- kwargs['user'] = IshtarUser.objects.get(pk=self.request.user.pk)
- return kwargs
-
- def form_valid(self, form):
- form.save()
- return HttpResponseRedirect(self.get_success_url())
-
get_upstreamtreatment = get_item(
models.FindUpstreamTreatments, 'get_upstreamtreatment', 'uptreatment')
@@ -446,25 +460,6 @@ treatment_search_wizard = TreatmentSearch.as_view([
label=_(u"Treatment search"),
url_name='treatment_search',)
-"""
- condition_dict={
- 'selecfind-treatment_creation':
- check_value('basetreatment-treatment_creation',
- 'target_is_basket', False),
- 'selecbasket-treatment_creation':
- check_value('basetreatment-treatment_creation',
- 'target_is_basket', True),
- # 'resultfinds-treatment_creation':
- # check_type_field('basetreatment-treatment_creation',
- # 'treatment_type', models.TreatmentType,
- # 'downstream_is_many'),
- # 'resultfind-treatment_creation':
- # check_type_field('basetreatment-treatment_creation',
- # 'treatment_type', models.TreatmentType,
- # 'upstream_is_many')
- },
-"""
-
treatment_creation_wizard = TreatmentWizard.as_view(
treatment_wizard_steps,
label=_(u"New treatment"),