diff options
| -rw-r--r-- | archaeological_finds/forms.py | 20 | ||||
| -rw-r--r-- | archaeological_finds/urls.py | 3 | ||||
| -rw-r--r-- | archaeological_finds/views.py | 19 | ||||
| -rw-r--r-- | ishtar_common/templates/ishtar/form_delete.html | 14 | 
4 files changed, 52 insertions, 4 deletions
| diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py index 2b3586979..3c06af375 100644 --- a/archaeological_finds/forms.py +++ b/archaeological_finds/forms.py @@ -411,6 +411,26 @@ class NewFindBasketForm(forms.ModelForm):          self.instance.user = self.user          return super(NewFindBasketForm, self).save(commit) + +class DeleteFindBasketForm(forms.Form): +    basket = forms.ChoiceField(label=_(u"Basket"), required=True, choices=[]) + +    def __init__(self, *args, **kwargs): +        self.user = kwargs.pop('user') +        super(DeleteFindBasketForm, self).__init__(*args, **kwargs) +        self.fields['basket'].choices = [('', '--')] + [ +            (b.pk, unicode(b)) +            for b in models.FindBasket.objects.filter(user=self.user)] + +    def save(self): +        try: +            models.FindBasket.objects.get(pk=self.cleaned_data['basket'], +                                          user=self.user).delete() +        except models.FindBasket.DoesNotExist: +            # something strange... TODO: log it +            pass +        return +  """  ####################################  # Source management for treatments # diff --git a/archaeological_finds/urls.py b/archaeological_finds/urls.py index bbf9aa976..12c8c0b25 100644 --- a/archaeological_finds/urls.py +++ b/archaeological_finds/urls.py @@ -58,6 +58,9 @@ urlpatterns = patterns(      url(r'^find_basket_creation/$',          check_rights(['change_find', 'change_own_find'])(              views.NewFindBasketView.as_view()), name='new_findbasket'), +    url(r'^find_basket_deletion/$', +        check_rights(['change_find', 'change_own_find'])( +            views.DeleteFindBasketView.as_view()), name='delete_findbasket'),  )  urlpatterns += patterns( diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py index e40a3acb9..b079af200 100644 --- a/archaeological_finds/views.py +++ b/archaeological_finds/views.py @@ -21,7 +21,7 @@ from django.core.urlresolvers import reverse  from django.http import HttpResponseRedirect  from django.shortcuts import redirect  from django.utils.translation import ugettext_lazy as _ -from django.views.generic.edit import CreateView, DeleteView +from django.views.generic.edit import CreateView, FormView  from ishtar_common.forms import FinalForm  from ishtar_common.forms_common import SourceForm, AuthorFormset, \ @@ -169,7 +169,6 @@ class NewFindBasketView(IshtarMixin, LoginRequiredMixin, CreateView):      def get_form_kwargs(self):          kwargs = super(NewFindBasketView, self).get_form_kwargs()          kwargs['user'] = IshtarUser.objects.get(pk=self.request.user.pk) -        print(kwargs)          return kwargs      def get_success_url(self): @@ -180,8 +179,20 @@ class NewFindBasketView(IshtarMixin, LoginRequiredMixin, CreateView):          return HttpResponseRedirect(self.get_success_url()) -class DeleteFindBasketView(IshtarMixin, LoginRequiredMixin, DeleteView): -    pass +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())  """  treatment_creation_wizard = TreatmentWizard.as_view([ diff --git a/ishtar_common/templates/ishtar/form_delete.html b/ishtar_common/templates/ishtar/form_delete.html new file mode 100644 index 000000000..6243e9423 --- /dev/null +++ b/ishtar_common/templates/ishtar/form_delete.html @@ -0,0 +1,14 @@ +{% extends "base.html" %} +{% load i18n inline_formset %} +{% block content %} +<h2>{{page_name}}</h2> +<div class='form'> +<form enctype="multipart/form-data" action="." method="post" +    onsubmit="return confirm('Do you really want to delete this item?');">{% csrf_token %} +<table> +{{form}} +</table> +<input type="submit" value="{% trans "Delete" %}"/> +</form> +</div> +{% endblock %} | 
