kopia lustrzana https://github.com/rtts/django-simplecms
only add sections to existing pages to work around formset bug
rodzic
5ad04df8fb
commit
7446b928a4
|
@ -17,21 +17,23 @@
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{formset.management_form}}
|
{% block sections %}
|
||||||
{% for form in formset %}
|
{{formset.management_form}}
|
||||||
{{form.media}}
|
{% for form in formset %}
|
||||||
{% for field in form.hidden_fields %}
|
{{form.media}}
|
||||||
{{field}}
|
{% for field in form.hidden_fields %}
|
||||||
|
{{field}}
|
||||||
|
{% endfor %}
|
||||||
|
<section>
|
||||||
|
<div class="wrapper">
|
||||||
|
<h1>{% trans 'Section' %}: {{form.instance}}</h1>
|
||||||
|
{% for field in form.visible_fields %}
|
||||||
|
{% include 'cms/formfield.html' with field=field %}
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<section>
|
{% endblock %}
|
||||||
<div class="wrapper">
|
|
||||||
<h1>{% trans 'Section' %}: {{form.instance}}</h1>
|
|
||||||
{% for field in form.visible_fields %}
|
|
||||||
{% include 'cms/formfield.html' with field=field %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
<div class="edit">
|
<div class="edit">
|
||||||
<button>{% trans 'save' %}</button>
|
<button>{% trans 'save' %}</button>
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
{% extends 'cms/edit.html' %}
|
||||||
|
|
||||||
|
{% block sections %}{% endblock %}
|
|
@ -1,5 +1,5 @@
|
||||||
from django.urls import path
|
from django.urls import path
|
||||||
from .views import PageView, UpdatePage, CreatePage, CreateSection
|
from .views import PageView, UpdatePage, CreatePage
|
||||||
|
|
||||||
app_name = 'cms'
|
app_name = 'cms'
|
||||||
|
|
||||||
|
@ -9,5 +9,4 @@ urlpatterns = [
|
||||||
path('cms/homepage/', UpdatePage.as_view(), {'slug': ''}, name='updatehomepage'),
|
path('cms/homepage/', UpdatePage.as_view(), {'slug': ''}, name='updatehomepage'),
|
||||||
path('cms/page/<slug:slug>/', UpdatePage.as_view(), name='updatepage'),
|
path('cms/page/<slug:slug>/', UpdatePage.as_view(), name='updatepage'),
|
||||||
path('cms/newpage/', CreatePage.as_view(), name='createpage'),
|
path('cms/newpage/', CreatePage.as_view(), name='createpage'),
|
||||||
#path('cms/page/<slug:slug>/createsection/', CreateSection.as_view(), name='createsection'),
|
|
||||||
]
|
]
|
||||||
|
|
28
cms/views.py
28
cms/views.py
|
@ -1,10 +1,10 @@
|
||||||
from django.views.generic import DetailView, UpdateView, CreateView
|
from django.shortcuts import redirect
|
||||||
from django.views.generic.detail import SingleObjectMixin
|
|
||||||
from django.shortcuts import redirect, get_object_or_404
|
|
||||||
from django.contrib.auth.mixins import UserPassesTestMixin
|
from django.contrib.auth.mixins import UserPassesTestMixin
|
||||||
from .models import *
|
from django.views.generic import DetailView, UpdateView, CreateView
|
||||||
from .forms import *
|
|
||||||
from .utils import *
|
from .models import Page
|
||||||
|
from .forms import PageForm, SectionFormSet
|
||||||
|
from .utils import get_config
|
||||||
|
|
||||||
class StaffRequiredMixin(UserPassesTestMixin):
|
class StaffRequiredMixin(UserPassesTestMixin):
|
||||||
def test_func(self):
|
def test_func(self):
|
||||||
|
@ -25,7 +25,12 @@ class PageView(MenuMixin, DetailView):
|
||||||
model = Page
|
model = Page
|
||||||
template_name = 'cms/page.html'
|
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
|
model = Page
|
||||||
form_class = PageForm
|
form_class = PageForm
|
||||||
template_name = 'cms/edit.html'
|
template_name = 'cms/edit.html'
|
||||||
|
@ -55,12 +60,3 @@ class EditPageMixin:
|
||||||
'formset': formset,
|
'formset': formset,
|
||||||
})
|
})
|
||||||
return context
|
return context
|
||||||
|
|
||||||
class UpdatePage(StaffRequiredMixin, MenuMixin, EditPageMixin, UpdateView):
|
|
||||||
pass
|
|
||||||
class CreatePage(StaffRequiredMixin, MenuMixin, EditPageMixin, CreateView):
|
|
||||||
def get_object(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
class CreateSection:
|
|
||||||
pass
|
|
||||||
|
|
Ładowanie…
Reference in New Issue