From 41d623dc0a28507a1ad443e5dfb081d18ec07e5d Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Wed, 21 Sep 2016 19:45:44 +0200 Subject: [PATCH] Add ProjectTopic, re-organize admin menu --- app/local_settings.py | 36 ++++++++++++++++--- app/organization/network/admin.py | 9 ++++- .../migrations/0022_auto_20160921_1934.py | 19 ++++++++++ app/organization/network/models.py | 4 +-- app/organization/projects/admin.py | 1 + .../migrations/0010_auto_20160921_1934.py | 28 +++++++++++++++ app/organization/projects/models.py | 9 ++--- 7 files changed, 91 insertions(+), 15 deletions(-) create mode 100644 app/organization/network/migrations/0022_auto_20160921_1934.py create mode 100644 app/organization/projects/migrations/0010_auto_20160921_1934.py diff --git a/app/local_settings.py b/app/local_settings.py index 6b1bf30d..4953748e 100644 --- a/app/local_settings.py +++ b/app/local_settings.py @@ -70,10 +70,21 @@ SITE_TAGLINE = 'Institut de Recherche et de Coordination Acoustique et Musique' SILENCED_SYSTEM_CHECKS = ['fields.W342',] ADMIN_MENU_ORDER = ( - (_('Pages'), ('pages.Page', 'organization-pages.Home', 'organization-job.JobOffer',)), - (_('Media'), ('organization-media.Video', 'organization-media.VideoCategory', 'organization-media.Audio', 'organization-media.Playlist', (_('Media Library'), 'fb_browse'),)), - (_('Events'), ('mezzanine_agenda.Event', 'mezzanine_agenda.EventLocation', 'mezzanine_agenda.EventPrice', 'mezzanine_agenda.EventCategory')), - (_('Magazine'), ('organization-magazine.Article', 'organization-magazine.Brief',)), + (_('Pages'), ('pages.Page', 'organization-pages.Home', + 'organization-core.LinkType')), + (_('Media'), ('organization-media.Video', + 'organization-media.VideoCategory', + 'organization-media.Audio', + 'organization-media.Playlist', + (_('Media Library'), 'fb_browse'), + )), + (_('Events'), ('mezzanine_agenda.Event', + 'mezzanine_agenda.EventLocation', + 'mezzanine_agenda.EventPrice', + 'mezzanine_agenda.EventCategory', + )), + (_('Magazine'), ('organization-magazine.Article', + 'organization-magazine.Brief',)), (_('Network'), ('organization-network.Organization', 'organization-network.Department', 'organization-network.Team', @@ -82,7 +93,22 @@ ADMIN_MENU_ORDER = ( 'organization-network.OrganizationType', 'organization-network.PersonListBlock', )), - (_('Projects'), ('organization-projects.Project','organization-projects.ProjectProgram', 'organization-projects.ProjectProgramType' )), + (_('Activity'), ('organization-network.ActivityStatus', + 'organization-network.ActivityGrade', + 'organization-network.ActivityFramework', + 'organization-network.ActivityFunction', + 'organization-network.TrainingType', + 'organization-network.TrainingTopic', + 'organization-network.TrainingLevel', + 'organization-network.TrainingSpeciality', + )), + (_('Projects'), ('organization-projects.Project', + 'organization-projects.ProjectProgram', + 'organization-projects.ProjectProgramType', + 'organization-projects.ProjectTopic', + 'organization-projects.ProjectProgramType', + )), + (_('Jobs'), ('organization-job.JobOffer',)), (_('Festival'), ('organization-festival.Artist',)), (_('Users'), ('auth.User', 'auth.Group',)), (_('Site'), ('sites.Site', 'redirects.Redirect', 'conf.Setting')), diff --git a/app/organization/network/admin.py b/app/organization/network/admin.py index ae3607b5..63fe4991 100644 --- a/app/organization/network/admin.py +++ b/app/organization/network/admin.py @@ -136,5 +136,12 @@ admin.site.register(DepartmentPage, DepartmentPageAdmin) admin.site.register(Team, TeamAdmin) admin.site.register(TeamPage, TeamPageAdmin) admin.site.register(Person, PersonAdmin) -admin.site.register(ActivityStatus) admin.site.register(PersonListBlock, PersonListBlockAdmin) +admin.site.register(ActivityStatus) +admin.site.register(ActivityGrade) +admin.site.register(ActivityFramework) +admin.site.register(ActivityFunction) +admin.site.register(TrainingType) +admin.site.register(TrainingLevel) +admin.site.register(TrainingTopic) +admin.site.register(TrainingSpeciality) diff --git a/app/organization/network/migrations/0022_auto_20160921_1934.py b/app/organization/network/migrations/0022_auto_20160921_1934.py new file mode 100644 index 00000000..43e85691 --- /dev/null +++ b/app/organization/network/migrations/0022_auto_20160921_1934.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-09-21 17:34 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('organization-network', '0021_auto_20160921_1908'), + ] + + operations = [ + migrations.RenameModel( + old_name='TrainingSpectiality', + new_name='TrainingSpeciality', + ), + ] diff --git a/app/organization/network/models.py b/app/organization/network/models.py index 9dd190f5..d6f3583f 100644 --- a/app/organization/network/models.py +++ b/app/organization/network/models.py @@ -321,7 +321,7 @@ class TrainingTopic(Named): verbose_name = _('training topic') -class TrainingSpectiality(Named): +class TrainingSpeciality(Named): class Meta: verbose_name = _('training speciality') @@ -370,7 +370,7 @@ class PersonActivity(Period): training_type = models.ForeignKey(TrainingType, verbose_name=_('training type'), blank=True, null=True, on_delete=models.SET_NULL) training_level = models.ForeignKey(TrainingLevel, verbose_name=_('training level'), blank=True, null=True, on_delete=models.SET_NULL) training_topic = models.ForeignKey(TrainingTopic, verbose_name=_('training topic'), blank=True, null=True, on_delete=models.SET_NULL) - training_speciality = models.ForeignKey(TrainingSpectiality, verbose_name=_('training speciality'), blank=True, null=True, on_delete=models.SET_NULL) + training_speciality = models.ForeignKey(TrainingSpeciality, verbose_name=_('training speciality'), blank=True, null=True, on_delete=models.SET_NULL) training_title = models.TextField(_('Training title'), blank=True) record_piece = models.ForeignKey(RecordPiece, blank=True, null=True, on_delete=models.SET_NULL) diff --git a/app/organization/projects/admin.py b/app/organization/projects/admin.py index 3ba01b2e..9ff3d29f 100644 --- a/app/organization/projects/admin.py +++ b/app/organization/projects/admin.py @@ -51,3 +51,4 @@ class ProjectAdminDisplayable(DisplayableAdmin): admin.site.register(Project, ProjectAdminDisplayable) admin.site.register(ProjectProgram) admin.site.register(ProjectProgramType) +admin.site.register(ProjectTopic) diff --git a/app/organization/projects/migrations/0010_auto_20160921_1934.py b/app/organization/projects/migrations/0010_auto_20160921_1934.py new file mode 100644 index 00000000..40469879 --- /dev/null +++ b/app/organization/projects/migrations/0010_auto_20160921_1934.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-09-21 17:34 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('organization-projects', '0009_auto_20160921_1908'), + ] + + operations = [ + migrations.RemoveField( + model_name='project', + name='sub_topic', + ), + migrations.AddField( + model_name='projecttopic', + name='parent', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='topics', to='organization-projects.ProjectTopic', verbose_name='parent topic'), + ), + migrations.DeleteModel( + name='ProjectSubTopic', + ), + ] diff --git a/app/organization/projects/models.py b/app/organization/projects/models.py index 15e100bd..d05e6d31 100644 --- a/app/organization/projects/models.py +++ b/app/organization/projects/models.py @@ -25,7 +25,6 @@ class Project(Displayable, Period, RichText): organizations = models.ManyToManyField('organization-network.Organization', verbose_name=_('organizations'), blank=True) website = models.URLField(_('website'), max_length=512, blank=True) topic = models.ForeignKey('ProjectTopic', verbose_name=_('topic'), related_name='projects', blank=True, null=True) - sub_topic = models.ForeignKey('ProjectSubTopic', verbose_name=_('sub topic'), related_name='projects', blank=True, null=True) class Meta: verbose_name = _('project') @@ -48,14 +47,10 @@ class Project(Displayable, Period, RichText): class ProjectTopic(Named): - class Meta: - verbose_name = _('project topic') - - -class ProjectSubTopic(Named): + parent = models.ForeignKey('ProjectTopic', verbose_name=_('parent topic'), related_name='topics', blank=True, null=True) class Meta: - verbose_name = _('project sub topic') + verbose_name = _('project topic') class ProjectProgram(Named): -- 2.39.5