--- /dev/null
+# 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: