diff options
| 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 | 
| commit | eddd946150bcd9d4ddb05000806cc2cdfb9af60d (patch) | |
| tree | e091e17882ca67be8e6040e938439fa5a5e6bc5a /archaeological_finds/views.py | |
| parent | afd7fb9c2be01a44a45f582eebdf02632a10be99 (diff) | |
| download | Ishtar-eddd946150bcd9d4ddb05000806cc2cdfb9af60d.tar.bz2 Ishtar-eddd946150bcd9d4ddb05000806cc2cdfb9af60d.zip | |
Manage basket to treatment file association
Diffstat (limited to 'archaeological_finds/views.py')
| -rw-r--r-- | archaeological_finds/views.py | 67 | 
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"), | 
