from forum.settings.base import Setting
from django.utils.translation import ugettext as _
from django.core.files.storage import FileSystemStorage
+from django.core.urlresolvers import reverse
class DummySetting:
pass
for setting in set:
widget = setting.field_context.get('widget', None)
- if widget is forms.RadioSelect or isinstance(widget, forms.RadioSelect):
+ if widget is forms.CheckboxSelectMultiple or widget is forms.SelectMultiple or isinstance(widget, forms.SelectMultiple):
+ field = forms.MultipleChoiceField(**setting.field_context)
+ elif widget is forms.RadioSelect or isinstance(widget, forms.RadioSelect):
field = forms.ChoiceField(**setting.field_context)
elif isinstance(setting, (Setting.emulators.get(str, DummySetting), Setting.emulators.get(unicode, DummySetting))):
if not setting.field_context.get('widget', None):
return data[name]
class CommaStringListWidget(forms.Textarea):
+ def render(self, name, value, attrs=None):
+ return super(CommaStringListWidget, self).render(name, ', '.join(value), attrs)
+
+
def value_from_datadict(self, data, files, name):
if 'submit' in data:
return map(strip, data[name].split(','))
else:
return ', '.join(data[name])
+class TestEmailSettingsWidget(forms.TextInput):
+ def render(self, name, value, attrs=None):
+ if not value:
+ value = ''
-
-
+ return """
+ <div id="test_email_settings">
+ <a href="%s" onclick="return false;" class="button test_button" href="/">Test</a>
+
+ <div style="margin-top: 7px">
+ <div style="display: none" class="ajax_indicator">
+ Testing your current e-mail settings. Please, wait.
+ </div>
+ <div class="test_status"></div>
+ </div>
+ </div>
+ """ % reverse("test_email_settings")
\ No newline at end of file