--- /dev/null
+# -*- 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,
+ ),
+ ]
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', ]
--- /dev/null
+# -*- 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'),
+ ),
+ ]
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):
--- /dev/null
+# -*- 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',
+ ),
+ ]
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)
class PageAudioTranslationOptions(TranslationOptions):
pass
+
+
+@register(PageLink)
+class PageLinkTranslationOptions(TranslationOptions):
+
+ pass
--- /dev/null
+{% load mezzanine_tags %}
+<ul>
+{% for link in links %}
+ <li><img src="{{ link.link_type.picto.url }}" alt="{{ link.link_type.name }}"/><a href="{{ link.url }}" title="">{{ link.url }}</a></li>
+{% endfor %}
+</ul>
{% 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" %}
{% endblock %}
{% block page_video %}
{% endblock %}
+ {% block page_link %}
+ {% endblock %}
{% block page_sub_content %}
{% endblock %}
{% block page_related_content %}