From a15d3afd075193877d88391de299dad618f574e8 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 8 Jul 2011 03:35:54 -0400 Subject: [PATCH] Added a new famfam graphics radioselect widget and applied it to the webform and stagingform edit and create forms --- apps/sources/forms.py | 15 +++++++++++++++ apps/sources/widgets.py | 22 ++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 apps/sources/widgets.py diff --git a/apps/sources/forms.py b/apps/sources/forms.py index b759c3259d..88fe8f01cd 100644 --- a/apps/sources/forms.py +++ b/apps/sources/forms.py @@ -5,6 +5,7 @@ from django.utils.translation import ugettext from documents.forms import DocumentForm from sources.models import WebForm, StagingFolder +from sources.widgets import FamFamRadioSelect class StagingDocumentForm(DocumentForm): @@ -53,10 +54,24 @@ class WebFormForm(DocumentForm): class WebFormSetupForm(forms.ModelForm): + def __init__(self, *args, **kwargs): + super(WebFormSetupForm, self).__init__(*args, **kwargs) + self.fields['icon'].widget = FamFamRadioSelect( + attrs=self.fields['icon'].widget.attrs, + choices=self.fields['icon'].widget.choices, + ) + class Meta: model = WebForm class StagingFolderSetupForm(forms.ModelForm): + def __init__(self, *args, **kwargs): + super(StagingFolderSetupForm, self).__init__(*args, **kwargs) + self.fields['icon'].widget = FamFamRadioSelect( + attrs=self.fields['icon'].widget.attrs, + choices=self.fields['icon'].widget.choices, + ) + class Meta: model = StagingFolder diff --git a/apps/sources/widgets.py b/apps/sources/widgets.py new file mode 100644 index 0000000000..01626a9b4b --- /dev/null +++ b/apps/sources/widgets.py @@ -0,0 +1,22 @@ +from django import forms +from django.utils.safestring import mark_safe +from django.utils.encoding import force_unicode + + +class FamFamRadioFieldRenderer(forms.widgets.RadioFieldRenderer): + def render(self): + results = [] + results.append(u'') + return mark_safe(u'\n'.join(results)) + + +class FamFamRadioSelect(forms.widgets.RadioSelect): + renderer = FamFamRadioFieldRenderer