diff --git a/cms/templates/cms/edit.html b/cms/templates/cms/edit.html index b46e20d..f0ab270 100644 --- a/cms/templates/cms/edit.html +++ b/cms/templates/cms/edit.html @@ -17,21 +17,23 @@ {% endfor %} - {{formset.management_form}} - {% for form in formset %} - {{form.media}} - {% for field in form.hidden_fields %} - {{field}} + {% 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 %} -
-
-

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

- {% for field in form.visible_fields %} - {% include 'cms/formfield.html' with field=field %} - {% endfor %} -
-
- {% endfor %} + {% endblock %}
diff --git a/cms/templates/cms/new.html b/cms/templates/cms/new.html new file mode 100644 index 0000000..611b84c --- /dev/null +++ b/cms/templates/cms/new.html @@ -0,0 +1,3 @@ +{% extends 'cms/edit.html' %} + +{% block sections %}{% endblock %} diff --git a/cms/urls.py b/cms/urls.py index 6ef4f11..1c99084 100644 --- a/cms/urls.py +++ b/cms/urls.py @@ -1,5 +1,5 @@ from django.urls import path -from .views import PageView, UpdatePage, CreatePage, CreateSection +from .views import PageView, UpdatePage, CreatePage app_name = 'cms' @@ -9,5 +9,4 @@ urlpatterns = [ path('cms/homepage/', UpdatePage.as_view(), {'slug': ''}, name='updatehomepage'), path('cms/page//', UpdatePage.as_view(), name='updatepage'), path('cms/newpage/', CreatePage.as_view(), name='createpage'), - #path('cms/page//createsection/', CreateSection.as_view(), name='createsection'), ] diff --git a/cms/views.py b/cms/views.py index e209f11..480a8de 100644 --- a/cms/views.py +++ b/cms/views.py @@ -1,10 +1,10 @@ -from django.views.generic import DetailView, UpdateView, CreateView -from django.views.generic.detail import SingleObjectMixin -from django.shortcuts import redirect, get_object_or_404 +from django.shortcuts import redirect from django.contrib.auth.mixins import UserPassesTestMixin -from .models import * -from .forms import * -from .utils import * +from django.views.generic import DetailView, UpdateView, CreateView + +from .models import Page +from .forms import PageForm, SectionFormSet +from .utils import get_config class StaffRequiredMixin(UserPassesTestMixin): def test_func(self): @@ -25,7 +25,12 @@ class PageView(MenuMixin, DetailView): model = Page template_name = 'cms/page.html' -class EditPageMixin: +class CreatePage(StaffRequiredMixin, MenuMixin, CreateView): + model = Page + form_class = PageForm + template_name = 'cms/new.html' + +class UpdatePage(StaffRequiredMixin, MenuMixin, UpdateView): model = Page form_class = PageForm template_name = 'cms/edit.html' @@ -55,12 +60,3 @@ class EditPageMixin: 'formset': formset, }) return context - -class UpdatePage(StaffRequiredMixin, MenuMixin, EditPageMixin, UpdateView): - pass -class CreatePage(StaffRequiredMixin, MenuMixin, EditPageMixin, CreateView): - def get_object(self): - pass - -class CreateSection: - pass