From 6af0f61fbbb4c567cdf67e004c395ad35af0abfc Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Thu, 22 Sep 2016 14:48:00 +0200 Subject: [PATCH] Add project models translations, add more ordering --- app/organization/core/models.py | 1 + .../migrations/0023_auto_20160921_2043.py | 31 +++++++ app/organization/network/models.py | 6 +- app/organization/projects/admin.py | 21 ++++- .../migrations/0011_auto_20160922_1438.py | 91 +++++++++++++++++++ app/organization/projects/models.py | 4 + app/organization/projects/translation.py | 18 ++++ lib/django-eve | 2 +- 8 files changed, 169 insertions(+), 5 deletions(-) create mode 100644 app/organization/network/migrations/0023_auto_20160921_2043.py create mode 100644 app/organization/projects/migrations/0011_auto_20160922_1438.py diff --git a/app/organization/core/models.py b/app/organization/core/models.py index e31d0d0e..f9b24067 100644 --- a/app/organization/core/models.py +++ b/app/organization/core/models.py @@ -32,6 +32,7 @@ class Named(models.Model): class Meta: abstract = True + ordering = ['name',] def __str__(self): return self.name diff --git a/app/organization/network/migrations/0023_auto_20160921_2043.py b/app/organization/network/migrations/0023_auto_20160921_2043.py new file mode 100644 index 00000000..c3921e51 --- /dev/null +++ b/app/organization/network/migrations/0023_auto_20160921_2043.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-09-21 18:43 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('organization-network', '0022_auto_20160921_1934'), + ] + + operations = [ + migrations.AlterModelOptions( + name='department', + options={'ordering': ['name'], 'verbose_name': 'department'}, + ), + migrations.AlterModelOptions( + name='organization', + options={'ordering': ['name'], 'verbose_name': 'organization'}, + ), + migrations.AlterModelOptions( + name='organizationtype', + options={'ordering': ['name'], 'verbose_name': 'organization type'}, + ), + migrations.AlterModelOptions( + name='team', + options={'ordering': ['name'], 'verbose_name': 'team'}, + ), + ] diff --git a/app/organization/network/models.py b/app/organization/network/models.py index d6f3583f..37b71265 100644 --- a/app/organization/network/models.py +++ b/app/organization/network/models.py @@ -79,6 +79,7 @@ class Organization(Named, Address, URL): class Meta: verbose_name = _('organization') + ordering = ['name',] class OrganizationAudio(Audio): @@ -111,6 +112,7 @@ class OrganizationType(Named): class Meta: verbose_name = _('organization type') + ordering = ['name',] class Department(Named): @@ -120,6 +122,7 @@ class Department(Named): class Meta: verbose_name = _('department') + ordering = ['name',] def __str__(self): if self.organization: @@ -146,6 +149,7 @@ class Team(Named, URL): class Meta: verbose_name = _('team') + ordering = ['name',] def __str__(self): if self.organization: @@ -184,7 +188,7 @@ class Person(Displayable, AdminThumbMixin): ordering = ['last_name',] def __str__(self): - return ' '.join((self.first_name, self.last_name)) + return ' '.join((self.last_name, self.first_name)) def get_absolute_url(self): return reverse("organization-network-person-detail", kwargs={'slug': self.slug}) diff --git a/app/organization/projects/admin.py b/app/organization/projects/admin.py index 9ff3d29f..2a251267 100644 --- a/app/organization/projects/admin.py +++ b/app/organization/projects/admin.py @@ -48,7 +48,22 @@ class ProjectAdminDisplayable(DisplayableAdmin): list_filter = ['type', 'program', 'program_type', ] +class ProjectTopicAdmin(BaseTranslationModelAdmin): + + model = ProjectTopic + + +class ProjectProgramAdmin(BaseTranslationModelAdmin): + + model = ProjectProgram + + +class ProjectProgramTypeAdmin(BaseTranslationModelAdmin): + + model = ProjectProgramType + + admin.site.register(Project, ProjectAdminDisplayable) -admin.site.register(ProjectProgram) -admin.site.register(ProjectProgramType) -admin.site.register(ProjectTopic) +admin.site.register(ProjectProgram, ProjectProgramAdmin) +admin.site.register(ProjectProgramType, ProjectProgramTypeAdmin) +admin.site.register(ProjectTopic, ProjectTopicAdmin) diff --git a/app/organization/projects/migrations/0011_auto_20160922_1438.py b/app/organization/projects/migrations/0011_auto_20160922_1438.py new file mode 100644 index 00000000..e7e3c676 --- /dev/null +++ b/app/organization/projects/migrations/0011_auto_20160922_1438.py @@ -0,0 +1,91 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-09-22 12:38 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('organization-projects', '0010_auto_20160921_1934'), + ] + + operations = [ + migrations.AlterModelOptions( + name='project', + options={'ordering': ['title'], 'verbose_name': 'project'}, + ), + migrations.AlterModelOptions( + name='projectprogram', + options={'ordering': ['name'], 'verbose_name': 'program'}, + ), + migrations.AlterModelOptions( + name='projectprogramtype', + options={'ordering': ['name'], 'verbose_name': 'program type'}, + ), + migrations.AlterModelOptions( + name='projecttopic', + options={'ordering': ['name'], 'verbose_name': 'project topic'}, + ), + migrations.AddField( + model_name='projectprogram', + name='description_en', + field=models.TextField(blank=True, null=True, verbose_name='description'), + ), + migrations.AddField( + model_name='projectprogram', + name='description_fr', + field=models.TextField(blank=True, null=True, verbose_name='description'), + ), + migrations.AddField( + model_name='projectprogram', + name='name_en', + field=models.CharField(max_length=512, null=True, verbose_name='name'), + ), + migrations.AddField( + model_name='projectprogram', + name='name_fr', + field=models.CharField(max_length=512, null=True, verbose_name='name'), + ), + migrations.AddField( + model_name='projectprogramtype', + name='description_en', + field=models.TextField(blank=True, null=True, verbose_name='description'), + ), + migrations.AddField( + model_name='projectprogramtype', + name='description_fr', + field=models.TextField(blank=True, null=True, verbose_name='description'), + ), + migrations.AddField( + model_name='projectprogramtype', + name='name_en', + field=models.CharField(max_length=512, null=True, verbose_name='name'), + ), + migrations.AddField( + model_name='projectprogramtype', + name='name_fr', + field=models.CharField(max_length=512, null=True, verbose_name='name'), + ), + migrations.AddField( + model_name='projecttopic', + name='description_en', + field=models.TextField(blank=True, null=True, verbose_name='description'), + ), + migrations.AddField( + model_name='projecttopic', + name='description_fr', + field=models.TextField(blank=True, null=True, verbose_name='description'), + ), + migrations.AddField( + model_name='projecttopic', + name='name_en', + field=models.CharField(max_length=512, null=True, verbose_name='name'), + ), + migrations.AddField( + model_name='projecttopic', + name='name_fr', + field=models.CharField(max_length=512, null=True, verbose_name='name'), + ), + ] diff --git a/app/organization/projects/models.py b/app/organization/projects/models.py index d05e6d31..267b3d65 100644 --- a/app/organization/projects/models.py +++ b/app/organization/projects/models.py @@ -28,6 +28,7 @@ class Project(Displayable, Period, RichText): class Meta: verbose_name = _('project') + ordering = ['title',] def __str__(self): return self.title @@ -51,18 +52,21 @@ class ProjectTopic(Named): class Meta: verbose_name = _('project topic') + ordering = ['name',] class ProjectProgram(Named): class Meta: verbose_name = _('program') + ordering = ['name',] class ProjectProgramType(Named): class Meta: verbose_name = _('program type') + ordering = ['name',] class ProjectAudio(Audio): diff --git a/app/organization/projects/translation.py b/app/organization/projects/translation.py index c1a8b6b4..9830cf0b 100644 --- a/app/organization/projects/translation.py +++ b/app/organization/projects/translation.py @@ -37,3 +37,21 @@ class ProjectBlockTranslationOptions(TranslationOptions): class ProjectLinkTranslationOptions(TranslationOptions): pass + + +@register(ProjectProgram) +class ProjectProgramTranslationOptions(TranslationOptions): + + fields = ('name', 'description') + + +@register(ProjectProgramType) +class ProjectProgramTypeTranslationOptions(TranslationOptions): + + fields = ('name', 'description') + + +@register(ProjectTopic) +class ProjectTopicTranslationOptions(TranslationOptions): + + fields = ('name', 'description') diff --git a/lib/django-eve b/lib/django-eve index aea178e1..7e70af53 160000 --- a/lib/django-eve +++ b/lib/django-eve @@ -1 +1 @@ -Subproject commit aea178e1000f7297ed7a76252518048ab8982276 +Subproject commit 7e70af53b0ab7e301d5e2a8fec828284e7a263e8 -- 2.39.5