From 644ec5b6b40b0b081967760bcd9bb3485fc99a5b Mon Sep 17 00:00:00 2001 From: Jaap Joris Vens Date: Mon, 26 Aug 2019 09:47:52 +0200 Subject: [PATCH] better forms --- cms/models.py | 21 ++++++++++---- cms/templates/cms/edit.html | 11 ++++---- cms/templates/cms/edit_page.html | 42 ---------------------------- cms/templates/cms/edit_section.html | 43 ----------------------------- cms/views.py | 10 +++---- 5 files changed, 26 insertions(+), 101 deletions(-) delete mode 100644 cms/templates/cms/edit_page.html delete mode 100644 cms/templates/cms/edit_section.html diff --git a/cms/models.py b/cms/models.py index e5f3f60..0c45ed6 100644 --- a/cms/models.py +++ b/cms/models.py @@ -63,7 +63,10 @@ class Page(NumberedModel): menu = models.BooleanField(_('visible in menu'), default=True) def __str__(self): - return '{}: {}. {}'.format(self._meta.verbose_name.title(), self.position, self.title) + if not self.pk: + return str(_('New page')) + else: + return self.title def get_absolute_url(self): if self.slug: @@ -93,8 +96,12 @@ class Section(NumberedModel): return self.page.sections.all() def __str__(self): - title = self.title if self.title else _('Untitled') - return '{}: {}. {}'.format(self._meta.verbose_name.title(), self.position, title) + if not self.pk: + return str(_('New section')) + elif not self.title: + return str(_('Untitled')) + else: + return self.title class Meta: verbose_name = _('section') @@ -116,8 +123,12 @@ class SubSection(NumberedModel): return self.section.subsections.all() def __str__(self): - title = self.title if self.title else _('Untitled') - return '{}: {}. {}'.format(self._meta.verbose_name.title(), self.position, title) + if not self.pk: + return str(_('New subsection')) + elif not self.title: + return str(_('Untitled')) + else: + return self.title class Meta: verbose_name = _('subsection') diff --git a/cms/templates/cms/edit.html b/cms/templates/cms/edit.html index 623ad4c..e89726e 100644 --- a/cms/templates/cms/edit.html +++ b/cms/templates/cms/edit.html @@ -1,9 +1,6 @@ {% extends 'base.html' %} {% load i18n %} -{% block header %}{% endblock %} -{% block nav %}{% endblock %} - {% block content %}
{% csrf_token %} @@ -11,7 +8,9 @@
-

{{form.instance}}

+
+

{{form.instance}}

+
{% if form.errors or formset.errors %}
{% trans 'Please correct the error(s) below and save again' %} @@ -42,9 +41,9 @@
- diff --git a/cms/templates/cms/edit_page.html b/cms/templates/cms/edit_page.html deleted file mode 100644 index f0ab270..0000000 --- a/cms/templates/cms/edit_page.html +++ /dev/null @@ -1,42 +0,0 @@ -{% extends 'base.html' %} -{% load i18n %} - -{% block content %} - - {% csrf_token %} - {{form.media}} - -
- {% if form.errors or formset.errors %} -
- {% trans 'Please correct the error(s) below and save again' %} -
- {% endif %} - {% for field in form %} - {% include 'cms/formfield.html' with field=field %} - {% endfor %} -
- - {% block sections %} - {{formset.management_form}} - {% for form in formset %} - {{form.media}} - {% for field in form.hidden_fields %} - {{field}} - {% endfor %} -
-
-

{% trans 'Section' %}: {{form.instance}}

- {% for field in form.visible_fields %} - {% include 'cms/formfield.html' with field=field %} - {% endfor %} -
-
- {% endfor %} - {% endblock %} - -
- -
- -{% endblock %} diff --git a/cms/templates/cms/edit_section.html b/cms/templates/cms/edit_section.html deleted file mode 100644 index 2262864..0000000 --- a/cms/templates/cms/edit_section.html +++ /dev/null @@ -1,43 +0,0 @@ -{% extends 'base.html' %} -{% load i18n %} - -{% block content %} -
- {% csrf_token %} - {{form.media}} - -
-
-

{{form.model}}: {{form.object}}

- {% if form.errors or formset.errors %} -
- {% trans 'Please correct the error(s) below and save again' %} -
- {% endif %} - {% for field in form %} - {% include 'cms/formfield.html' with field=field %} - {% endfor %} -
-
- - {{formset.management_form}} - {% for form in formset %} - {{form.media}} - {% for field in form.hidden_fields %} - {{field}} - {% endfor %} -
-
-

{% trans 'Subsection' %}: {{form.instance}}

- {% for field in form.visible_fields %} - {% include 'cms/formfield.html' with field=field %} - {% endfor %} -
-
- {% endfor %} - -
- -
-
-{% endblock %} diff --git a/cms/views.py b/cms/views.py index 71a2f8e..5fd010a 100644 --- a/cms/views.py +++ b/cms/views.py @@ -32,12 +32,12 @@ class PageView(MenuMixin, MemoryMixin, DetailView): model = Page template_name = 'cms/page.html' -class CreatePage(StaffRequiredMixin, CreateView): +class CreatePage(StaffRequiredMixin, MenuMixin, CreateView): model = Page form_class = PageForm template_name = 'cms/new.html' -class CreateSection(StaffRequiredMixin, CreateView): +class CreateSection(StaffRequiredMixin, MenuMixin, CreateView): model = Section form_class = SectionForm template_name = 'cms/new.html' @@ -47,7 +47,7 @@ class CreateSection(StaffRequiredMixin, CreateView): form.save() return redirect(self.request.session.get('previous_url')) -class CreateSubSection(StaffRequiredMixin, CreateView): +class CreateSubSection(StaffRequiredMixin, MenuMixin, CreateView): model = SubSection form_class = SubSectionForm template_name = 'cms/new.html' @@ -57,7 +57,7 @@ class CreateSubSection(StaffRequiredMixin, CreateView): form.save() return redirect(self.request.session.get('previous_url')) -class BaseUpdateView(StaffRequiredMixin, UpdateView): +class BaseUpdateView(StaffRequiredMixin, MenuMixin, UpdateView): template_name = 'cms/edit.html' def post(self, request, *args, **kwargs): @@ -84,7 +84,7 @@ class BaseUpdateView(StaffRequiredMixin, UpdateView): context.update({ 'formset': formset, 'formset_form_url': self.get_formset_form_url(self.object), - 'formset_description': self.formset_class.model._meta.verbose_name.title(), + 'formset_description': self.formset_class.model._meta.verbose_name, }) return context