diff --git a/apps/common/forms.py b/apps/common/forms.py
index 4615a1ee9f..93bf87db86 100644
--- a/apps/common/forms.py
+++ b/apps/common/forms.py
@@ -1,55 +1,10 @@
from django import forms
from django.utils.safestring import mark_safe
-from django.utils.translation import ugettext as _
+from django.utils.translation import ugettext_lazy as _
from django.db import models
from common.utils import return_attrib
-
-
-class DetailSelectMultiple(forms.widgets.SelectMultiple):
- def __init__(self, queryset=None, *args, **kwargs):
- self.queryset = queryset
- super(DetailSelectMultiple, self).__init__(*args, **kwargs)
-
- def render(self, name, value, attrs=None, choices=()):
- if value is None:
- value = ''
- final_attrs = self.build_attrs(attrs, name=name)
- css_class = final_attrs.get('class', 'list')
- output = u'
' % css_class
- options = None
- if value:
- if getattr(value, '__iter__', None):
- options = [(index, string) for index, string in \
- self.choices if index in value]
- else:
- options = [(index, string) for index, string in \
- self.choices if index == value]
- else:
- if self.choices:
- if self.choices[0] != (u'', u'---------') and value != []:
- options = [(index, string) for index, string in \
- self.choices]
-
- if options:
- for index, string in options:
- if self.queryset:
- try:
- output += u'- %s
' % (
- self.queryset.get(pk=index).get_absolute_url(),
- string)
- except AttributeError:
- output += u'- %s
' % (string)
- else:
- output += u'- %s
' % string
- else:
- output += u'- %s
' % _(u"None")
- return mark_safe(output + u'
\n')
-
-
-class PlainWidget(forms.widgets.Widget):
- def render(self, name, value, attrs=None):
- return mark_safe(u'%s' % value)
+from common.widgets import DetailSelectMultiple, PlainWidget
class DetailForm(forms.ModelForm):
diff --git a/apps/common/widgets.py b/apps/common/widgets.py
new file mode 100644
index 0000000000..2d07facbdf
--- /dev/null
+++ b/apps/common/widgets.py
@@ -0,0 +1,49 @@
+from django.utils.translation import ugettext_lazy as _
+from django.utils.safestring import mark_safe
+from django import forms
+
+
+class PlainWidget(forms.widgets.Widget):
+ def render(self, name, value, attrs=None):
+ return mark_safe(u'%s' % value)
+
+
+class DetailSelectMultiple(forms.widgets.SelectMultiple):
+ def __init__(self, queryset=None, *args, **kwargs):
+ self.queryset = queryset
+ super(DetailSelectMultiple, self).__init__(*args, **kwargs)
+
+ def render(self, name, value, attrs=None, choices=(), *args, **kwargs):
+ if value is None:
+ value = ''
+ final_attrs = self.build_attrs(attrs, name=name)
+ css_class = final_attrs.get('class', 'list')
+ output = u'' % css_class
+ options = None
+ if value:
+ if getattr(value, '__iter__', None):
+ options = [(index, string) for index, string in \
+ self.choices if index in value]
+ else:
+ options = [(index, string) for index, string in \
+ self.choices if index == value]
+ else:
+ if self.choices:
+ if self.choices[0] != (u'', u'---------') and value != []:
+ options = [(index, string) for index, string in \
+ self.choices]
+
+ if options:
+ for index, string in options:
+ if self.queryset:
+ try:
+ output += u'- %s
' % (
+ self.queryset.get(pk=index).get_absolute_url(),
+ string)
+ except AttributeError:
+ output += u'- %s
' % (string)
+ else:
+ output += u'- %s
' % string
+ else:
+ output += u'- %s
' % _(u"None")
+ return mark_safe(output + u'
\n')