From: Guillaume Pellerin Date: Mon, 25 Jul 2016 00:01:50 +0000 (+0200) Subject: add page blocks to team pages, add various translations X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=dc9cc2c5206102e615d8a7d20080aa0591be5cf1;p=mezzo.git add page blocks to team pages, add various translations --- diff --git a/app/organization/core/admin.py b/app/organization/core/admin.py index 14b200a0..006c1654 100644 --- a/app/organization/core/admin.py +++ b/app/organization/core/admin.py @@ -1,9 +1,13 @@ from django.contrib import admin from copy import deepcopy -from mezzanine.pages.models import Page +from mezzanine.core.admin import * from mezzanine.pages.admin import PageAdmin -from mezzanine.pages.models import RichTextPage -from organization.core.models import BasicPage +from organization.core.models import * + + +class PageBlockInline(StackedDynamicInlineAdmin): + + model = PageBlock admin.site.register(BasicPage, PageAdmin) diff --git a/app/organization/core/migrations/0004_auto_20160725_0159.py b/app/organization/core/migrations/0004_auto_20160725_0159.py new file mode 100644 index 00000000..580e7f2f --- /dev/null +++ b/app/organization/core/migrations/0004_auto_20160725_0159.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-24 23:59 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion +import mezzanine.core.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ('pages', '0002_auto_20160725_0143'), + ('organization-core', '0003_category_pageblock'), + ] + + operations = [ + migrations.AddField( + model_name='pageblock', + name='content_en', + field=mezzanine.core.fields.RichTextField(null=True, verbose_name='Content'), + ), + migrations.AddField( + model_name='pageblock', + name='content_fr', + field=mezzanine.core.fields.RichTextField(null=True, verbose_name='Content'), + ), + migrations.AddField( + model_name='pageblock', + name='page', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='pages.Page', verbose_name='page'), + ), + migrations.AddField( + model_name='pageblock', + name='title_en', + field=models.CharField(max_length=1024, null=True, verbose_name='name'), + ), + migrations.AddField( + model_name='pageblock', + name='title_fr', + field=models.CharField(max_length=1024, null=True, verbose_name='name'), + ), + ] diff --git a/app/organization/core/migrations/0005_auto_20160725_0201.py b/app/organization/core/migrations/0005_auto_20160725_0201.py new file mode 100644 index 00000000..3e00ae9c --- /dev/null +++ b/app/organization/core/migrations/0005_auto_20160725_0201.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-25 00:01 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('organization-core', '0004_auto_20160725_0159'), + ] + + operations = [ + migrations.AlterField( + model_name='pageblock', + name='title', + field=models.CharField(max_length=1024, verbose_name='title'), + ), + migrations.AlterField( + model_name='pageblock', + name='title_en', + field=models.CharField(max_length=1024, null=True, verbose_name='title'), + ), + migrations.AlterField( + model_name='pageblock', + name='title_fr', + field=models.CharField(max_length=1024, null=True, verbose_name='title'), + ), + ] diff --git a/app/organization/core/models.py b/app/organization/core/models.py index 377d057e..7a84a078 100644 --- a/app/organization/core/models.py +++ b/app/organization/core/models.py @@ -39,7 +39,7 @@ class Named(models.Model): class Titled(models.Model): """Abstract model providing a title field""" - title = models.CharField(_('name'), max_length=1024) + title = models.CharField(_('title'), max_length=1024) class Meta: abstract = True @@ -74,6 +74,7 @@ class BasicPage(Page, SubTitle, RichText): class PageBlock(Titled, RichText): + page = models.ForeignKey(Page, verbose_name=_('page'), blank=True, null=True, on_delete=models.SET_NULL) background_color = models.CharField(_('background color'), max_length=32, choices=COLOR_CHOICES, blank=True) class Meta: diff --git a/app/organization/core/translation.py b/app/organization/core/translation.py index f57a82e1..432b32c8 100644 --- a/app/organization/core/translation.py +++ b/app/organization/core/translation.py @@ -1,8 +1,7 @@ from modeltranslation.translator import translator, register, TranslationOptions from mezzanine.pages.models import Page, RichText from mezzanine.pages.translation import TranslatedRichText - -from organization.core.models import BasicPage +from organization.core.models import BasicPage, PageBlock # @register(SubTitle) # class SubTitleTranslationOptions(TranslationOptions): @@ -13,3 +12,9 @@ from organization.core.models import BasicPage class BasicPageTranslationOptions(TranslationOptions): fields = ('sub_title', 'content') + + +@register(PageBlock) +class PageBlockTranslationOptions(TranslationOptions): + + fields = ('title', 'content') diff --git a/app/organization/team/admin.py b/app/organization/team/admin.py index efd91b60..b1ead7ce 100644 --- a/app/organization/team/admin.py +++ b/app/organization/team/admin.py @@ -4,6 +4,7 @@ from copy import deepcopy from mezzanine.core.admin import * from mezzanine.pages.admin import PageAdmin from organization.team.models import * +from organization.core.admin import PageBlockInline class OrganizationAdmin(BaseTranslationModelAdmin): @@ -21,6 +22,11 @@ class ActivityInline(StackedDynamicInlineAdmin): model = Activity +class TeamAdmin(PageAdmin): + + inlines = [PageBlockInline,] + + class PersonAdminBase(admin.ModelAdmin): model = Person @@ -40,10 +46,9 @@ class PersonAdmin(BaseTranslationModelAdmin): return res - admin.site.register(Organization, OrganizationAdmin) admin.site.register(OrganizationType) admin.site.register(Department, PageAdmin) -admin.site.register(Team, PageAdmin) +admin.site.register(Team, TeamAdmin) admin.site.register(Person, PersonAdmin) admin.site.register(Activity, ActivityAdmin) diff --git a/app/organization/team/migrations/0010_auto_20160725_0201.py b/app/organization/team/migrations/0010_auto_20160725_0201.py new file mode 100644 index 00000000..cc1284d3 --- /dev/null +++ b/app/organization/team/migrations/0010_auto_20160725_0201.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-25 00:01 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('organization-team', '0009_auto_20160725_0143'), + ] + + operations = [ + migrations.AddField( + model_name='department', + name='sub_title_en', + field=models.TextField(blank=True, max_length=1024, null=True, verbose_name='sub title'), + ), + migrations.AddField( + model_name='department', + name='sub_title_fr', + field=models.TextField(blank=True, max_length=1024, null=True, verbose_name='sub title'), + ), + migrations.AddField( + model_name='team', + name='sub_title_en', + field=models.TextField(blank=True, max_length=1024, null=True, verbose_name='sub title'), + ), + migrations.AddField( + model_name='team', + name='sub_title_fr', + field=models.TextField(blank=True, max_length=1024, null=True, verbose_name='sub title'), + ), + ] diff --git a/app/organization/team/translation.py b/app/organization/team/translation.py index 837f4c45..f93844cf 100644 --- a/app/organization/team/translation.py +++ b/app/organization/team/translation.py @@ -12,12 +12,13 @@ class OrganizationTranslationOptions(TranslationOptions): @register(Department) class DepartmentTranslationOptions(TranslationOptions): - fields = ('content',) + fields = ('sub_title', 'content',) @register(Team) class TeamTranslationOptions(TranslationOptions): - fields = ('content',) + fields = ('sub_title', 'content',) + @register(Person) class PersonTranslationOptions(TranslationOptions):