summaryrefslogtreecommitdiff
path: root/ishtar/furnitures/forms.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2010-12-29 10:58:46 +0100
committerÉtienne Loks <etienne.loks@peacefrogs.net>2010-12-29 10:58:46 +0100
commitf1eca7a1eef6a2ff8bb87c4626001c231eb4c8fd (patch)
tree7856604c8fa5601a1b29adc0f1161501c33e0c7e /ishtar/furnitures/forms.py
parent537b4b443b5e9232a90b506c804c52ea0ed396ba (diff)
downloadIshtar-f1eca7a1eef6a2ff8bb87c4626001c231eb4c8fd.tar.bz2
Ishtar-f1eca7a1eef6a2ff8bb87c4626001c231eb4c8fd.zip
Integration of session wizard (refs #51)
Diffstat (limited to 'ishtar/furnitures/forms.py')
-rw-r--r--ishtar/furnitures/forms.py32
1 files changed, 25 insertions, 7 deletions
diff --git a/ishtar/furnitures/forms.py b/ishtar/furnitures/forms.py
index 4c3efa33a..077964484 100644
--- a/ishtar/furnitures/forms.py
+++ b/ishtar/furnitures/forms.py
@@ -21,26 +21,44 @@
Forms definition
"""
from django.utils.translation import ugettext_lazy as _
-from wizard import FormWizard
+from django.template import Context
from django.shortcuts import render_to_response
from django import forms
+from merlin.wizards.utils import Step as BasicStep
+from merlin.wizards.session import SessionWizard
+
import models
+class Step(BasicStep):
+ """
+ Add a label to steps
+ """
+ def __init__(self, idx, label, form):
+ self.label = label
+ super(Step, self).__init__(idx, form)
+
class FileForm1(forms.Form):
subject = forms.CharField(max_length=100)
sender = forms.EmailField()
-class FileForm2(forms.ModelForm):
- fields = ('towns',)
- class Meta:
- model = models.File
+class FileForm2(forms.Form):
+ subject2 = forms.CharField(max_length=100)
+ sender2 = forms.EmailField()
-class FileWizard(FormWizard):
- def get_template(self, step):
+class FileWizard(SessionWizard):
+ def get_template(self, request, step, form):
return ['templates/file_wizard_%s.html' % step,
'file_wizard.html']
+ def process_show_form(self, request, step, form):
+ previous_steps = []
+ for stp in self.base_steps:
+ if stp == step:
+ return Context({'previous_steps':previous_steps})
+ previous_steps.append(stp)
+ return Context({'previous_steps':previous_steps})
+
def done(self, request, form_list):
return render_to_response('done.html', {
'form_data': [form.cleaned_data for form in form_list],