1 from django
import forms
2 from django
.forms
import ValidationError
4 from pgweb
.core
.models
import Organisation
5 from models
import NewsArticle
, NewsTag
7 class NewsArticleForm(forms
.ModelForm
):
8 def __init__(self
, *args
, **kwargs
):
9 super(NewsArticleForm
, self
).__init
__(*args
, **kwargs
)
10 def filter_by_user(self
, user
):
11 self
.fields
['org'].queryset
= Organisation
.objects
.filter(managers
=user
, approved
=True)
13 if self
.instance
.pk
and self
.instance
.approved
:
14 if self
.cleaned_data
['date'] != self
.instance
.date
:
15 raise ValidationError("You cannot change the date on an article that has been approved")
16 return self
.cleaned_data
['date']
19 def described_checkboxes(self
):
21 'tags': {t
.id: t
.description
for t
in NewsTag
.objects
.all()}
26 exclude
= ('submitter', 'approved', 'tweeted')
28 'tags': forms
.CheckboxSelectMultiple
,