From ab54cf88ff3843cb2f7553d0cabfb86d1d380d0b Mon Sep 17 00:00:00 2001 From: Matthijs Kooijman Date: Wed, 23 Jan 2008 19:07:29 +0100 Subject: [PATCH] * Add tools package, with some custom forms. Code borrowed from the Amelie project. --- tools/__init__.py | 0 tools/forms.py | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 tools/__init__.py create mode 100644 tools/forms.py diff --git a/tools/__init__.py b/tools/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tools/forms.py b/tools/forms.py new file mode 100644 index 0000000..b3171e3 --- /dev/null +++ b/tools/forms.py @@ -0,0 +1,37 @@ +# Mostly based on code from Amelie, a project by Inter-Actief. + +from django.newforms.util import ErrorList +from django.newforms.models import BaseModelForm, ModelFormMetaclass +from django.newforms.forms import BaseForm, DeclarativeFieldsMetaclass + +class BaseContextForm(BaseForm): + def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None, + initial=None, request=None, error_class=ErrorList, label_suffix=':'): + self.request = request + if request and request.method == "POST": + if not data: + data = request.POST + if not files: + files = request.FILES + super(BaseContextForm, self).__init__(data, files, auto_id, prefix, + initial, request, error_class, label_suffix) + +class ContextForm(BaseContextForm): + __metaclass__ = DeclarativeFieldsMetaclass + +class BaseContextModelForm(BaseModelForm): + def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None, + initial=None, request=None, error_class=ErrorList, label_suffix=':', instance=None): + self.request = request + if request and request.method == "POST": + if not data: + data = request.POST + if not files: + files = request.FILES + super(BaseContextModelForm, self).__init__(data, files, auto_id, prefix, initial, + error_class, label_suffix, instance) + +class ContextModelForm(BaseContextModelForm): + __metaclass__ = ModelFormMetaclass + +# vim:set sts=4 ts=4 sw=4 ai et: -- 2.30.2