From: Matthijs Kooijman Date: Tue, 28 Oct 2008 22:33:42 +0000 (+0100) Subject: Make ContextForm and ContextModelForm work again. X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fprojects%2Fxerxes.git;a=commitdiff_plain;h=b9ed704d186fd89927c1f4b3cdbe8ba8fdd4e133 Make ContextForm and ContextModelForm work again. It seems like some stuff changed in django, not sure what exactly. This commit removes changes the inheritance to inherit from Form and ModelForm instead of avoiding that and directly inheriting from their base classes and do some metaclass magic. --- diff --git a/tools/forms.py b/tools/forms.py index 657940e..db65a99 100644 --- a/tools/forms.py +++ b/tools/forms.py @@ -1,10 +1,10 @@ # Mostly based on code from Amelie, a project by Inter-Actief. from django.forms.util import ErrorList -from django.forms.models import BaseModelForm, ModelFormMetaclass -from django.forms.forms import BaseForm, DeclarativeFieldsMetaclass +from django.forms.models import ModelForm +from django.forms.forms import Form -class BaseContextForm(BaseForm): +class ContextForm(Form): 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 @@ -13,13 +13,10 @@ class BaseContextForm(BaseForm): data = request.POST if not files: files = request.FILES - super(BaseContextForm, self).__init__(data, files, auto_id, prefix, + super(ContextForm, self).__init__(data, files, auto_id, prefix, initial, request, error_class, label_suffix) -class ContextForm(BaseContextForm): - __metaclass__ = DeclarativeFieldsMetaclass - -class BaseContextModelForm(BaseModelForm): +class ContextModelForm(ModelForm): 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 @@ -28,10 +25,8 @@ class BaseContextModelForm(BaseModelForm): data = request.POST if not files: files = request.FILES - super(BaseContextModelForm, self).__init__(data, files, auto_id, prefix, initial, + super(ContextModelForm, self).__init__(data, files, auto_id, prefix, initial, error_class, label_suffix, instance) -class ContextModelForm(BaseContextModelForm): - __metaclass__ = ModelFormMetaclass # vim: set sts=4 sw=4 expandtab: