diff --git a/deluge/ui/webui/webui_plugin/config.py b/deluge/ui/webui/webui_plugin/config.py index 737fe5b7f..c89992d4b 100644 --- a/deluge/ui/webui/webui_plugin/config.py +++ b/deluge/ui/webui/webui_plugin/config.py @@ -37,6 +37,7 @@ from render import render from lib.webpy022.http import seeother import sys import os +import utils groups = [] blocks = forms.utils.datastructures.SortedDict() @@ -90,18 +91,7 @@ class config_page: @deco.deluge_page def POST(self,name): - form_class = self.get_form_class(name) - fields = form_class.base_fields.keys() - form_data = web.Storage() - vars = web.input() - for field in fields: - form_data[field] = vars.get(field) - #DIRTY HACK: (for multiple-select) - if isinstance(form_class.base_fields[field], - forms.MultipleChoiceField): - form_data[field] = web.input(**{field:[]})[field] - #/DIRTY HACK - + form_data = utils.get_newforms_data(form_class) form = form_class(form_data) if form.is_valid(): ws.log.debug('save config %s' % form_data) diff --git a/deluge/ui/webui/webui_plugin/lib/newforms_plus.py b/deluge/ui/webui/webui_plugin/lib/newforms_plus.py index e093e5c20..46ba19ddf 100644 --- a/deluge/ui/webui/webui_plugin/lib/newforms_plus.py +++ b/deluge/ui/webui/webui_plugin/lib/newforms_plus.py @@ -10,9 +10,14 @@ from newforms.forms import BoundField import sys, os - import webpy022 as web #todo:remove this dependency. + + + + + + #Form class FilteredForm(newforms.Form): """ @@ -99,7 +104,6 @@ class Form(FilteredForm): def validate(self, data): pass - #convenience Input Fields. class CheckBox(newforms.BooleanField): "Non Required BooleanField,why the f is it required by default?" diff --git a/deluge/ui/webui/webui_plugin/templates/advanced/index.html b/deluge/ui/webui/webui_plugin/templates/advanced/index.html index e5684560e..5652b78d6 100644 --- a/deluge/ui/webui/webui_plugin/templates/advanced/index.html +++ b/deluge/ui/webui/webui_plugin/templates/advanced/index.html @@ -93,7 +93,7 @@ $for torrent in torrent_list: