kopia lustrzana https://github.com/rtts/django-simplecms
Change default fields. This breaks existing migrations. Deal with it.
rodzic
25770feb57
commit
d5f5bb4296
|
@ -45,8 +45,7 @@ class Migration(migrations.Migration):
|
||||||
('content', models.TextField(blank=True, verbose_name='content')),
|
('content', models.TextField(blank=True, verbose_name='content')),
|
||||||
('image', models.ImageField(blank=True, upload_to='', verbose_name='image')),
|
('image', models.ImageField(blank=True, upload_to='', verbose_name='image')),
|
||||||
('video', embed_video.fields.EmbedVideoField(blank=True, help_text='Paste a YouTube, Vimeo, or SoundCloud link', verbose_name='video')),
|
('video', embed_video.fields.EmbedVideoField(blank=True, help_text='Paste a YouTube, Vimeo, or SoundCloud link', verbose_name='video')),
|
||||||
('button_text', cms.models.VarCharField(blank=True, verbose_name='button text')),
|
('href', cms.models.VarCharField(blank=True, verbose_name='button link')),
|
||||||
('button_link', cms.models.VarCharField(blank=True, verbose_name='button link')),
|
|
||||||
('page', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='sections', to=settings.CMS_PAGE_MODEL, verbose_name='page')),
|
('page', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='sections', to=settings.CMS_PAGE_MODEL, verbose_name='page')),
|
||||||
('polymorphic_ctype', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='polymorphic_cms.section_set+', to='contenttypes.ContentType')),
|
('polymorphic_ctype', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='polymorphic_cms.section_set+', to='contenttypes.ContentType')),
|
||||||
],
|
],
|
||||||
|
|
|
@ -92,8 +92,7 @@ class BaseSection(Numbered, PolymorphicModel):
|
||||||
content = models.TextField(_('content'), blank=True)
|
content = models.TextField(_('content'), blank=True)
|
||||||
image = models.ImageField(_('image'), blank=True)
|
image = models.ImageField(_('image'), blank=True)
|
||||||
video = EmbedVideoField(_('video'), blank=True, help_text=_('Paste a YouTube, Vimeo, or SoundCloud link'))
|
video = EmbedVideoField(_('video'), blank=True, help_text=_('Paste a YouTube, Vimeo, or SoundCloud link'))
|
||||||
button_text = VarCharField(_('button text'), blank=True)
|
href = VarCharField(_('link'), blank=True)
|
||||||
button_link = VarCharField(_('button link'), blank=True)
|
|
||||||
|
|
||||||
def number_with_respect_to(self):
|
def number_with_respect_to(self):
|
||||||
return self.page.sections.all()
|
return self.page.sections.all()
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
{% load i18n %}
|
|
||||||
|
|
||||||
{% if request.user.is_staff %}
|
|
||||||
<div class="edit">
|
|
||||||
<a href="{% url 'cms:updatesection' section.pk %}">{% trans 'edit this section' %}</a>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
|
@ -185,8 +185,15 @@ class EditPage(UserPassesTestMixin, edit.ModelFormMixin, base.TemplateResponseMi
|
||||||
page = form.save()
|
page = form.save()
|
||||||
formset = SectionFormSet(request.POST, request.FILES, instance=page)
|
formset = SectionFormSet(request.POST, request.FILES, instance=page)
|
||||||
if formset.is_valid():
|
if formset.is_valid():
|
||||||
formset.save()
|
if formset.save():
|
||||||
|
if page.slug and not page.sections.exists(): # anymore
|
||||||
|
page.delete()
|
||||||
|
return HttpResponseRedirect('/')
|
||||||
return HttpResponseRedirect(page.get_absolute_url())
|
return HttpResponseRedirect(page.get_absolute_url())
|
||||||
|
else:
|
||||||
|
# TODO: show sensible error
|
||||||
|
formset.errors.append([{}, {'title': ['You have to add sections']}])
|
||||||
|
formset = SectionFormSet(request.POST, request.FILES)
|
||||||
return self.render_to_response(self.get_context_data(form=form, formset=formset))
|
return self.render_to_response(self.get_context_data(form=form, formset=formset))
|
||||||
|
|
||||||
class CreatePage(EditPage):
|
class CreatePage(EditPage):
|
||||||
|
|
|
@ -43,8 +43,7 @@ class Migration(migrations.Migration):
|
||||||
('content', models.TextField(blank=True, verbose_name='content')),
|
('content', models.TextField(blank=True, verbose_name='content')),
|
||||||
('image', models.ImageField(blank=True, upload_to='', verbose_name='image')),
|
('image', models.ImageField(blank=True, upload_to='', verbose_name='image')),
|
||||||
('video', embed_video.fields.EmbedVideoField(blank=True, help_text='Paste a YouTube, Vimeo, or SoundCloud link', verbose_name='video')),
|
('video', embed_video.fields.EmbedVideoField(blank=True, help_text='Paste a YouTube, Vimeo, or SoundCloud link', verbose_name='video')),
|
||||||
('button_text', cms.models.VarCharField(blank=True, verbose_name='button text')),
|
('href', cms.models.VarCharField(blank=True, verbose_name='button link')),
|
||||||
('button_link', cms.models.VarCharField(blank=True, verbose_name='button link')),
|
|
||||||
('page', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='sections', to=settings.CMS_PAGE_MODEL, verbose_name='page')),
|
('page', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='sections', to=settings.CMS_PAGE_MODEL, verbose_name='page')),
|
||||||
('polymorphic_ctype', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='polymorphic_app.section_set+', to='contenttypes.ContentType')),
|
('polymorphic_ctype', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='polymorphic_app.section_set+', to='contenttypes.ContentType')),
|
||||||
],
|
],
|
||||||
|
|
|
@ -11,7 +11,7 @@ class Page(BasePage):
|
||||||
|
|
||||||
class Section(BaseSection):
|
class Section(BaseSection):
|
||||||
'''Add custom fields here. Already existing fields: type, position,
|
'''Add custom fields here. Already existing fields: type, position,
|
||||||
title, content, image, video, button_text, button_link
|
title, content, image, video, href
|
||||||
|
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue