def pre_dispatch(self, request, *args, **kwargs): response = super().pre_dispatch(request, *args, **kwargs) if self.page: self.page_form = PageForm(page=self.page, request=request) self.snippets_form_en = SnippetsForm(self.page, locale='en') self.snippets_form_fr = SnippetsForm(self.page, locale='fr') self.images_form = PageImagesForm(self.page, locale='en') return response
def post(self, request, *args, **kwargs): edit_url = reverse('corp-site.pages-edit', kwargs={'page_pk': self.page.pk}) if 'settings' in request.POST: self.page_form = PageForm(request=request, data=request.POST, page=self.page) if self.page_form.is_valid(): for field in self.page_form.cleaned_data: setattr(self.page, field, self.page_form.cleaned_data[field]) try: self.page.save() except IntegrityError: messages.add_message(request, messages.ERROR, _('An error occured.')) else: messages.add_message(request, messages.SUCCESS, _('Changes saved.')) return redirect(edit_url) elif 'snippets_en' in request.POST or 'snippets_fr' in request.POST: self.snippets_form_en = SnippetsForm(self.page, 'en', request.POST) self.snippets_form_fr = SnippetsForm(self.page, 'fr', request.POST) locale = 'en' snippet_form = self.snippets_form_en if 'snippets_fr' in request.POST: locale = 'fr' snippet_form = self.snippets_form_fr if snippet_form.is_valid(): for field in snippet_form.fields: value = snippet_form.cleaned_data.get(field, None) if value: self.page.set_snippet(field, locale, value) else: self.page.snippets.filter(slug=field, locale=locale).delete() messages.add_message(request, messages.SUCCESS, _('Changes saved.')) return redirect('{}?edit-snippets&locale={}'.format(edit_url, locale)) elif 'images' in request.POST: self.images_form = PageImagesForm(self.page, 'en', request.POST, request.FILES) if self.images_form.is_valid(): for field in self.images_form.fields: value = self.images_form.cleaned_data.get(field, None) if value: CorpImage.objects.update_or_create( page=self.page, slug=field, locale='en', defaults={'image': value}) messages.add_message(request, messages.SUCCESS, _('Changes saved.')) return redirect('{}?edit-images'.format(edit_url)) return self.get(request, *args, **kwargs)
def post(self, request, *args, **kwargs): self.form = PageForm(request=request, data=request.POST) if self.form.is_valid(): # import pdb; pdb.set_trace() try: page = CorpPage.objects.create(**self.form.cleaned_data) except IntegrityError: messages.add_message(request, messages.ERROR, _('An error occured.')) else: edit_url = reverse('corp-site.pages-edit', kwargs={'page_pk': page.pk}) messages.add_message(request, messages.SUCCESS, _('Page was created.')) return redirect(edit_url) return self.get(request, *args, **kwargs)
class PagesAddView(PagesView): template = 'cms/corp_site/pages-add.jinja' form = None def pre_dispatch(self, request, *args, **kwargs): response = super().pre_dispatch(request, *args, **kwargs) self.form = PageForm(request=request) 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) return crumbs + [ (reverse('corp-site.pages-add'), _('Add New')), ] def post(self, request, *args, **kwargs): self.form = PageForm(request=request, data=request.POST) if self.form.is_valid(): # import pdb; pdb.set_trace() try: page = CorpPage.objects.create(**self.form.cleaned_data) except IntegrityError: messages.add_message(request, messages.ERROR, _('An error occured.')) else: edit_url = reverse('corp-site.pages-edit', kwargs={'page_pk': page.pk}) messages.add_message(request, messages.SUCCESS, _('Page was created.')) 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 = PageForm(request=request) return response
class PagesEditView(PagesDetailsView): template = 'cms/corp_site/pages-edit.jinja' page_form = None snippets_form_en = None snippets_form_fr = None images_form = None def pre_dispatch(self, request, *args, **kwargs): response = super().pre_dispatch(request, *args, **kwargs) if self.page: self.page_form = PageForm(page=self.page, request=request) self.snippets_form_en = SnippetsForm(self.page, locale='en') self.snippets_form_fr = SnippetsForm(self.page, locale='fr') self.images_form = PageImagesForm(self.page, locale='en') return response def get_extra_context(self, request, *args, **kwargs): context = super().get_extra_context(request, *args, **kwargs) context.update({ 'page_form': self.page_form, 'snippets_form_en': self.snippets_form_en, 'snippets_form_fr': self.snippets_form_fr, 'images_form': self.images_form, }) return context def get_breadcrumbs(self, request, *args, **kwargs): crumbs = super().get_breadcrumbs(request, *args, **kwargs) edit_url = reverse('corp-site.pages-edit', kwargs={'page_pk': self.page.pk}) return crumbs + [(edit_url, _('Edit'))] def post(self, request, *args, **kwargs): edit_url = reverse('corp-site.pages-edit', kwargs={'page_pk': self.page.pk}) if 'settings' in request.POST: self.page_form = PageForm(request=request, data=request.POST, page=self.page) if self.page_form.is_valid(): for field in self.page_form.cleaned_data: setattr(self.page, field, self.page_form.cleaned_data[field]) try: self.page.save() except IntegrityError: messages.add_message(request, messages.ERROR, _('An error occured.')) else: messages.add_message(request, messages.SUCCESS, _('Changes saved.')) return redirect(edit_url) elif 'snippets_en' in request.POST or 'snippets_fr' in request.POST: self.snippets_form_en = SnippetsForm(self.page, 'en', request.POST) self.snippets_form_fr = SnippetsForm(self.page, 'fr', request.POST) locale = 'en' snippet_form = self.snippets_form_en if 'snippets_fr' in request.POST: locale = 'fr' snippet_form = self.snippets_form_fr if snippet_form.is_valid(): for field in snippet_form.fields: value = snippet_form.cleaned_data.get(field, None) if value: self.page.set_snippet(field, locale, value) else: self.page.snippets.filter(slug=field, locale=locale).delete() messages.add_message(request, messages.SUCCESS, _('Changes saved.')) return redirect('{}?edit-snippets&locale={}'.format( edit_url, locale)) elif 'images' in request.POST: self.images_form = PageImagesForm(self.page, 'en', request.POST, request.FILES) if self.images_form.is_valid(): for field in self.images_form.fields: value = self.images_form.cleaned_data.get(field, None) if value: CorpImage.objects.update_or_create( page=self.page, slug=field, locale='en', defaults={'image': value}) messages.add_message(request, messages.SUCCESS, _('Changes saved.')) return redirect('{}?edit-images'.format(edit_url)) return self.get(request, *args, **kwargs)