From: Emilie Date: Wed, 14 Sep 2016 17:09:47 +0000 (+0200) Subject: CustomPage : add link type | Network : rename verbose name X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=6ea517ebd0b7fc4dd6c01667ffd1191624ad3d88;p=mezzo.git CustomPage : add link type | Network : rename verbose name --- diff --git a/app/organization/core/migrations/0002_linktype_picto.py b/app/organization/core/migrations/0002_linktype_picto.py new file mode 100644 index 00000000..9997fe06 --- /dev/null +++ b/app/organization/core/migrations/0002_linktype_picto.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-09-14 16:18 +from __future__ import unicode_literals + +from django.db import migrations +import mezzanine.core.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ('organization-core', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='linktype', + name='picto', + field=mezzanine.core.fields.FileField(default='', max_length=1024, verbose_name='picto'), + preserve_default=False, + ), + ] diff --git a/app/organization/core/models.py b/app/organization/core/models.py index 3d0bb98e..c355ac87 100644 --- a/app/organization/core/models.py +++ b/app/organization/core/models.py @@ -148,6 +148,7 @@ class LinkType(models.Model): blank=True, ) ordering = models.PositiveIntegerField(verbose_name=_('ordering'), null=True, blank=True) + picto = FileField(_("picto"), max_length=1024, format="Image", upload_to="images/picto") class Meta: ordering = ['ordering', ] diff --git a/app/organization/network/migrations/0007_auto_20160914_1818.py b/app/organization/network/migrations/0007_auto_20160914_1818.py new file mode 100644 index 00000000..b93d3313 --- /dev/null +++ b/app/organization/network/migrations/0007_auto_20160914_1818.py @@ -0,0 +1,66 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-09-14 16:18 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('organization-network', '0006_auto_20160914_1454'), + ] + + operations = [ + migrations.AlterField( + model_name='organizationaudio', + name='organization', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='audios', to='organization-network.Organization', verbose_name='organization'), + ), + migrations.AlterField( + model_name='organizationblock', + name='organization', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='blocks', to='organization-network.Organization', verbose_name='organization'), + ), + migrations.AlterField( + model_name='organizationimage', + name='organization', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='images', to='organization-network.Organization', verbose_name='organization'), + ), + migrations.AlterField( + model_name='organizationlink', + name='organization', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='links', to='organization-network.Organization', verbose_name='organization'), + ), + migrations.AlterField( + model_name='organizationvideo', + name='organization', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='videos', to='organization-network.Organization', verbose_name='organization'), + ), + migrations.AlterField( + model_name='personaudio', + name='person', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='audios', to='organization-network.Person', verbose_name='person'), + ), + migrations.AlterField( + model_name='personblock', + name='person', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='blocks', to='organization-network.Person', verbose_name='person'), + ), + migrations.AlterField( + model_name='personimage', + name='person', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='images', to='organization-network.Person', verbose_name='person'), + ), + migrations.AlterField( + model_name='personlink', + name='person', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='links', to='organization-network.Person', verbose_name='person'), + ), + migrations.AlterField( + model_name='personvideo', + name='person', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='videos', to='organization-network.Person', verbose_name='person'), + ), + ] diff --git a/app/organization/pages/admin.py b/app/organization/pages/admin.py index b53f5e5b..d578689a 100644 --- a/app/organization/pages/admin.py +++ b/app/organization/pages/admin.py @@ -34,9 +34,14 @@ class PageVideoInline(StackedDynamicInlineAdmin): exclude = ("short_url", "keywords", "description", "slug", ) +class PageLinkInline(StackedDynamicInlineAdmin): + + model = PageLink + + class CustomPageAdmin(PageAdmin): - inlines = [PageBlockInline, PageImageInline, PageAudioInline, PageVideoInline, ] + inlines = [PageBlockInline, PageImageInline, PageAudioInline, PageVideoInline, PageLinkInline] class DynamicContentHomeSliderInline(TabularDynamicInlineAdmin): diff --git a/app/organization/pages/migrations/0002_auto_20160914_1838.py b/app/organization/pages/migrations/0002_auto_20160914_1838.py new file mode 100644 index 00000000..ac6be2ea --- /dev/null +++ b/app/organization/pages/migrations/0002_auto_20160914_1838.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-09-14 16:38 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('pages', '0004_auto_20160804_1547'), + ('organization-core', '0002_linktype_picto'), + ('organization-pages', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='PageLink', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('url', models.URLField(blank=True, max_length=512, verbose_name='URL')), + ('link_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-core.LinkType', verbose_name='link type')), + ('page', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='links', to='pages.Page', verbose_name='page')), + ], + options={ + 'verbose_name_plural': 'links', + 'verbose_name': 'link', + }, + ), + migrations.AlterOrderWithRespectTo( + name='pagelink', + order_with_respect_to='page', + ), + ] diff --git a/app/organization/pages/models.py b/app/organization/pages/models.py index dafca374..8561cf29 100644 --- a/app/organization/pages/models.py +++ b/app/organization/pages/models.py @@ -52,6 +52,16 @@ class PageVideo(Video): order_with_respect_to = "page" +class PageLink(Link): + + page = models.ForeignKey(Page, verbose_name=_('page'), related_name='links', blank=True, null=True, on_delete=models.SET_NULL) + + class Meta: + verbose_name = _("link") + verbose_name_plural = _("links") + order_with_respect_to = "page" + + class DynamicContentHomeSlider(DynamicContent, Orderable): home = models.ForeignKey("home", verbose_name=_('home'), blank=True, null=True, on_delete=models.SET_NULL) diff --git a/app/organization/pages/translation.py b/app/organization/pages/translation.py index 873e123a..d84002dc 100644 --- a/app/organization/pages/translation.py +++ b/app/organization/pages/translation.py @@ -50,3 +50,9 @@ class PageVideoTranslationOptions(TranslationOptions): class PageAudioTranslationOptions(TranslationOptions): pass + + +@register(PageLink) +class PageLinkTranslationOptions(TranslationOptions): + + pass diff --git a/app/templates/core/inc/link.html b/app/templates/core/inc/link.html new file mode 100644 index 00000000..2f9615b7 --- /dev/null +++ b/app/templates/core/inc/link.html @@ -0,0 +1,6 @@ +{% load mezzanine_tags %} + diff --git a/app/templates/pages/custompage.html b/app/templates/pages/custompage.html index 8820e006..d56a6ef7 100644 --- a/app/templates/pages/custompage.html +++ b/app/templates/pages/custompage.html @@ -82,6 +82,14 @@ {% endwith %} {% endblock %} +{% block page_link %} +{% with page.custompage.links.all as links %} + {% if links %} + {% include 'core/inc/link.html' %} + {% endif %} +{% endwith %} +{% endblock %} + {% block page_sub_content %} {% with page.custompage.blocks.all as blocks %} {% include "core/inc/block.html" %} diff --git a/app/templates/pages/page.html b/app/templates/pages/page.html index e0a062d4..a1c57863 100644 --- a/app/templates/pages/page.html +++ b/app/templates/pages/page.html @@ -65,6 +65,8 @@ {% endblock %} {% block page_video %} {% endblock %} + {% block page_link %} + {% endblock %} {% block page_sub_content %} {% endblock %} {% block page_related_content %}