summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_finds/forms.py20
-rw-r--r--archaeological_finds/urls.py3
-rw-r--r--archaeological_finds/views.py19
-rw-r--r--ishtar_common/templates/ishtar/form_delete.html14
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 %}