* Fix an off-by-one error when splitting an email in headers and body.
[matthijs/projects/xerxes.git] / tools / forms.py
1 # Mostly based on code from Amelie, a project by Inter-Actief.
2
3 from django.newforms.util import ErrorList
4 from django.newforms.models import BaseModelForm, ModelFormMetaclass
5 from django.newforms.forms import BaseForm, DeclarativeFieldsMetaclass
6
7 class BaseContextForm(BaseForm):
8     def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None,
9                  initial=None, request=None, error_class=ErrorList, label_suffix=':'):
10         self.request = request
11         if request and request.method == "POST":
12             if not data:
13                 data = request.POST
14             if not files:
15                 files = request.FILES
16         super(BaseContextForm, self).__init__(data, files, auto_id, prefix,
17                                        initial, request, error_class, label_suffix)
18
19 class ContextForm(BaseContextForm):
20     __metaclass__ = DeclarativeFieldsMetaclass
21
22 class BaseContextModelForm(BaseModelForm):
23     def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None,
24                  initial=None, request=None, error_class=ErrorList, label_suffix=':', instance=None):
25         self.request = request
26         if request and request.method == "POST":
27             if not data:
28                 data = request.POST
29             if not files:
30                 files = request.FILES
31         super(BaseContextModelForm, self).__init__(data, files, auto_id, prefix, initial, 
32                                             error_class, label_suffix, instance)
33
34 class ContextModelForm(BaseContextModelForm):
35     __metaclass__ = ModelFormMetaclass
36
37 # vim:set sts=4 ts=4 sw=4 ai et: