summaryrefslogtreecommitdiff
path: root/ishtar/furnitures/forms.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2011-01-08 02:08:23 +0100
committerÉtienne Loks <etienne.loks@peacefrogs.net>2011-01-08 02:08:23 +0100
commitccbdbe9e8469e3ae5e9e55a3e86db6f225f4fde8 (patch)
tree146747bc425feab1bd8de4c6b0f498fb13f8d61a /ishtar/furnitures/forms.py
parentdfe75c20106e95e91dcc94c6311139f0a453851e (diff)
downloadIshtar-ccbdbe9e8469e3ae5e9e55a3e86db6f225f4fde8.tar.bz2
Ishtar-ccbdbe9e8469e3ae5e9e55a3e86db6f225f4fde8.zip
Add a "delete" widget. Update of translation.
Diffstat (limited to 'ishtar/furnitures/forms.py')
-rw-r--r--ishtar/furnitures/forms.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/ishtar/furnitures/forms.py b/ishtar/furnitures/forms.py
index e294a00ac..e6a085c07 100644
--- a/ishtar/furnitures/forms.py
+++ b/ishtar/furnitures/forms.py
@@ -28,7 +28,8 @@ from django.core.exceptions import ObjectDoesNotExist
from django.utils.translation import ugettext_lazy as _
from django.template import Context, RequestContext
from django.shortcuts import render_to_response
-from django.forms.formsets import formset_factory, BaseFormSet
+from django.forms.formsets import formset_factory, BaseFormSet, \
+ DELETION_FIELD_NAME
from django.db.models import Max
from django import forms
@@ -48,7 +49,10 @@ class FinalForm(forms.Form):
form_label = _("Confirm")
class FormSet(BaseFormSet):
- pass
+ def add_fields(self, form, index):
+ super(FormSet, self).add_fields(form, index)
+ form.fields[DELETION_FIELD_NAME].label = ''
+ form.fields[DELETION_FIELD_NAME].widget = widgets.DeleteWidget()
class Wizard(NamedUrlSessionFormWizard):
model = None
@@ -204,10 +208,12 @@ class Wizard(NamedUrlSessionFormWizard):
def render_next_step(self, request, storage, form, **kwargs):
"""
- Manage the modify button in formset: next_step = current_step
+ Manage the modify or delete button in formset: next_step = current_step
"""
- if request.POST.has_key('formset_modify') and \
- request.POST['formset_modify']:
+ if request.POST.has_key('formset_modify') \
+ and request.POST['formset_modify'] \
+ or [key for key in request.POST.keys()
+ if key.endswith('DELETE') and request.POST[key]]:
return self.render(request, storage, form, **kwargs)
return super(Wizard, self).render_next_step(request, storage, form,
**kwargs)