Change default fields. This breaks existing migrations. Deal with it.

main
Jaap Joris Vens 2020-02-19 22:24:01 +01:00
rodzic 25770feb57
commit d5f5bb4296
6 zmienionych plików z 13 dodań i 16 usunięć

Wyświetl plik

@ -45,8 +45,7 @@ class Migration(migrations.Migration):
('content', models.TextField(blank=True, verbose_name='content')),
('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')),
('button_text', cms.models.VarCharField(blank=True, verbose_name='button text')),
('button_link', cms.models.VarCharField(blank=True, verbose_name='button link')),
('href', 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')),
('polymorphic_ctype', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='polymorphic_cms.section_set+', to='contenttypes.ContentType')),
],

Wyświetl plik

@ -92,8 +92,7 @@ class BaseSection(Numbered, PolymorphicModel):
content = models.TextField(_('content'), blank=True)
image = models.ImageField(_('image'), blank=True)
video = EmbedVideoField(_('video'), blank=True, help_text=_('Paste a YouTube, Vimeo, or SoundCloud link'))
button_text = VarCharField(_('button text'), blank=True)
button_link = VarCharField(_('button link'), blank=True)
href = VarCharField(_('link'), blank=True)
def number_with_respect_to(self):
return self.page.sections.all()

Wyświetl plik

@ -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 %}

Wyświetl plik

@ -185,8 +185,15 @@ class EditPage(UserPassesTestMixin, edit.ModelFormMixin, base.TemplateResponseMi
page = form.save()
formset = SectionFormSet(request.POST, request.FILES, instance=page)
if formset.is_valid():
formset.save()
return HttpResponseRedirect(page.get_absolute_url())
if formset.save():
if page.slug and not page.sections.exists(): # anymore
page.delete()
return HttpResponseRedirect('/')
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))
class CreatePage(EditPage):

Wyświetl plik

@ -43,8 +43,7 @@ class Migration(migrations.Migration):
('content', models.TextField(blank=True, verbose_name='content')),
('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')),
('button_text', cms.models.VarCharField(blank=True, verbose_name='button text')),
('button_link', cms.models.VarCharField(blank=True, verbose_name='button link')),
('href', 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')),
('polymorphic_ctype', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='polymorphic_app.section_set+', to='contenttypes.ContentType')),
],

Wyświetl plik

@ -11,7 +11,7 @@ class Page(BasePage):
class Section(BaseSection):
'''Add custom fields here. Already existing fields: type, position,
title, content, image, video, button_text, button_link
title, content, image, video, href
'''