Move javascript for forms into separate JS file
[pgweb/local.git] / pgweb / news / forms.py
bloba779db01777ed9212c9b3de3e9a890aae860f374
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)
12 def clean_date(self):
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']
18 @property
19 def described_checkboxes(self):
20 return {
21 'tags': {t.id: t.description for t in NewsTag.objects.all()}
24 class Meta:
25 model = NewsArticle
26 exclude = ('submitter', 'approved', 'tweeted')
27 widgets = {
28 'tags': forms.CheckboxSelectMultiple,