diff --git a/deformdemo/__init__.py b/deformdemo/__init__.py index b5b30f21..c8472e21 100644 --- a/deformdemo/__init__.py +++ b/deformdemo/__init__.py @@ -73,9 +73,20 @@ def __init__(self, request): self.request = request self.macros = get_renderer('templates/main.pt').implementation().macros + if 'form_class' in self.request.GET: + session = self.request.session + form_class = self.request.GET['form_class'] + if form_class not in ('form-horizontal', 'form-inline'): + form_class = None + session['form_class'] = form_class + def render_form(self, form, appstruct=colander.null, submitted='submit', success=None, readonly=False, is_i18n=False): + form_class = self.request.session.get('form_class') + if form_class: + form.widget = deform.widget.FormWidget(css_class=form_class) + captured = None if submitted in self.request.POST: @@ -118,6 +129,7 @@ def render_form(self, form, appstruct=colander.null, submitted='submit', 'end':end, 'is_i18n':is_i18n, 'locale': locale_name, + 'form_class': form.widget.css_class, 'demos':self.get_demos(), 'title':self.get_title(), 'css_links':reqts['css'], diff --git a/deformdemo/templates/main.pt b/deformdemo/templates/main.pt index 22d03d00..8e2725fb 100644 --- a/deformdemo/templates/main.pt +++ b/deformdemo/templates/main.pt @@ -45,14 +45,35 @@ -