diff options
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 |
commit | ccbdbe9e8469e3ae5e9e55a3e86db6f225f4fde8 (patch) | |
tree | 146747bc425feab1bd8de4c6b0f498fb13f8d61a /ishtar/furnitures/forms.py | |
parent | dfe75c20106e95e91dcc94c6311139f0a453851e (diff) | |
download | Ishtar-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.py | 16 |
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) |