diff options
Diffstat (limited to 'utils/widgets.py')
-rw-r--r-- | utils/widgets.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/utils/widgets.py b/utils/widgets.py new file mode 100644 index 0000000..3e5d2b8 --- /dev/null +++ b/utils/widgets.py @@ -0,0 +1,21 @@ +import wtforms.widgets.core + + +class Static(object): + def __call__(self, field, **kwargs): + kwargs.setdefault('id', field.id) + if kwargs['class_'] == 'form-control': + kwargs['class_'] = 'form-control-static' + html = ['<p %s>' % wtforms.widgets.core.html_params(**kwargs), field.data,'</p>'] + return wtforms.widgets.core.HTMLString(''.join(html)) + + +class TextArea(wtforms.widgets.core.TextArea): + def __init__(self, **kwargs): + self.kwargs = kwargs + + def __call__(self, field, **kwargs): + for arg in self.kwargs: + if arg not in kwargs: + kwargs[arg] = self.kwargs[arg] + return super(TextArea, self).__call__(field, **kwargs) |