class NewsAddView(NewsView): template = 'cms/corp_site/news-add.jinja' form = NewsForm() def get_extra_context(self, request, *args, **kwargs): context = super().get_extra_context(request, *args, **kwargs) context.update({'form': self.form}) return context def get_breadcrumbs(self, request, *args, **kwargs): crumbs = super().get_breadcrumbs(request, *args, **kwargs) return crumbs + [(reverse('corp-site.news-add'), _('Add New'))] def post(self, request, *args, **kwargs): self.form = NewsForm(request.POST, request.FILES) if self.form.is_valid(): data = self.form.cleaned_data news_item = News.objects.create(**data) edit_url = reverse('corp-site.news-edit', kwargs={'news_item_pk': news_item.pk}) messages.add_message(request, messages.SUCCESS, _('News item was created.')) return redirect(edit_url) return self.get(request, *args, **kwargs)
def post(self, request, *args, **kwargs): self.form = NewsForm(request.POST, request.FILES) if self.form.is_valid(): data = self.form.cleaned_data news_item = News.objects.create(**data) edit_url = reverse('corp-site.news-edit', kwargs={'news_item_pk': news_item.pk}) messages.add_message(request, messages.SUCCESS, _('News item was created.')) return redirect(edit_url) return self.get(request, *args, **kwargs)
def post(self, request, *args, **kwargs): edit_url = reverse('corp-site.news-edit', kwargs={'news_item_pk': self.news_item.pk}) self.form = NewsForm(request.POST, request.FILES, news=self.news_item) if self.form.is_valid(): news_item = News.objects.filter(pk=self.news_item.pk) data = self.form.cleaned_data photo = data.pop('photo') news_item.update(**data) if photo: news_item = news_item.first() news_item.photo = photo news_item.save() messages.add_message(request, messages.SUCCESS, _('Changes saved.')) return redirect(edit_url) return self.get(request, *args, **kwargs)
class NewsEditView(NewsDetailsView): template = 'cms/corp_site/news-edit.jinja' form = None def pre_dispatch(self, request, *args, **kwargs): response = super().pre_dispatch(request, *args, **kwargs) self.form = NewsForm(news=self.news_item) return response def get_extra_context(self, request, *args, **kwargs): context = super().get_extra_context(request, *args, **kwargs) context.update({'form': self.form}) return context def get_breadcrumbs(self, request, *args, **kwargs): crumbs = super().get_breadcrumbs(request, *args, **kwargs) edit_url = reverse('corp-site.news-edit', kwargs={'news_item_pk': self.news_item.pk}) return crumbs + [(edit_url, _('Edit'))] def post(self, request, *args, **kwargs): edit_url = reverse('corp-site.news-edit', kwargs={'news_item_pk': self.news_item.pk}) self.form = NewsForm(request.POST, request.FILES, news=self.news_item) if self.form.is_valid(): news_item = News.objects.filter(pk=self.news_item.pk) data = self.form.cleaned_data photo = data.pop('photo') news_item.update(**data) if photo: news_item = news_item.first() news_item.photo = photo news_item.save() messages.add_message(request, messages.SUCCESS, _('Changes saved.')) return redirect(edit_url) return self.get(request, *args, **kwargs)
def pre_dispatch(self, request, *args, **kwargs): response = super().pre_dispatch(request, *args, **kwargs) self.form = NewsForm(news=self.news_item) return response