Commit 2c1e7c10 by benjaoming

Fix Django 1.4 incompatibility

parent 9c31dc3d
......@@ -41,6 +41,7 @@ class SettingsModelForm(forms.ModelForm):
label=_(u"Remove subscriptions"),
required=False,
help_text=_(u"Select article subscriptions to remove from notifications"),
initial = models.ArticleSubscription.objects.none(),
)
self.fields['email'] = forms.TypedChoiceField(
label=_(u"Email digests"),
......@@ -58,7 +59,10 @@ class SettingsModelForm(forms.ModelForm):
def save(self, *args, **kwargs):
instance = super(SettingsModelForm, self).save(*args, **kwargs)
if self.__editing_instance:
self.cleaned_data['delete_subscriptions'].delete()
# Django < 1.5 returns list objects when ModelMultipleChoiceField
# is empty.. so check before calling delete()
if self.cleaned_data['delete_subscriptions']:
self.cleaned_data['delete_subscriptions'].delete()
if self.cleaned_data['email'] == 1:
instance.subscription_set.all().update(
send_emails=False,
......@@ -69,6 +73,7 @@ class SettingsModelForm(forms.ModelForm):
)
return instance
class BaseSettingsFormSet(BaseModelFormSet):
def __init__(self, *args, **kwargs):
......@@ -81,6 +86,7 @@ class BaseSettingsFormSet(BaseModelFormSet):
subscription__articlesubscription__article__current_revision__deleted=False,
).prefetch_related('subscription_set__articlesubscription',)
SettingsFormSet = modelformset_factory(
Settings,
form=SettingsModelForm,
......@@ -89,6 +95,7 @@ SettingsFormSet = modelformset_factory(
fields=('interval', ),
)
class SubscriptionForm(PluginSettingsFormMixin, forms.Form):
settings_form_headline = _(u'Notifications')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment