|
|
|
|
@ -97,6 +97,25 @@ class _BlogForm(forms.Form): |
|
|
|
|
return [] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class BlogForm(_BlogForm): |
|
|
|
|
author = forms.ModelChoiceField(label=_(u'Автор'), queryset=Author.objects.all()) |
|
|
|
|
draft = forms.BooleanField(label=_(u'Черновик'), required=False, localize=True) |
|
|
|
|
|
|
|
|
|
def __init__(self, *args, **kwargs): |
|
|
|
|
super(BlogForm, self).__init__(*args, **kwargs) |
|
|
|
|
if len(settings.LANGUAGES) in range(10): |
|
|
|
|
for lid, (code, name) in enumerate(settings.LANGUAGES): |
|
|
|
|
# required = True if lid == 0 else False |
|
|
|
|
self.fields['short_description_%s' % code] = forms.CharField(label=_(u'Краткое содержание'), required=False, widget=CKEditorWidget) |
|
|
|
|
|
|
|
|
|
def save(self, author, article=None, commit=True): |
|
|
|
|
article = super(BlogForm, self).save(author, article=article, commit=False) |
|
|
|
|
article.draft = self.cleaned_data['draft'] |
|
|
|
|
article.author_s = self.cleaned_data['author'] |
|
|
|
|
article.save() |
|
|
|
|
return article |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class NewsForm(_BlogForm): |
|
|
|
|
type = Article.news |
|
|
|
|
exposition = forms.CharField(label=_(u'Выставка'), widget=forms.HiddenInput(), required=False) |
|
|
|
|
|