From c9f112b1fdd03d26895266713e67db8aa5561473 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Tue, 23 Aug 2016 16:12:02 +0200 Subject: [PATCH] WARNING: huge refactoring! add DepatmentPage and TeamPage, rename modules, add various data --- app/local_settings.py | 6 +- .../migrations/0013_auto_20160823_1359.py | 25 ++ app/organization/core/models.py | 2 + app/organization/magazine/models.py | 1 + app/organization/magazine/views.py | 2 +- .../{project => network}/__init__.py | 2 +- app/organization/{team => network}/admin.py | 22 +- app/organization/network/apps.py | 9 + .../network/migrations/0001_initial.py | 354 ++++++++++++++++++ .../migrations/0002_auto_20160823_1425.py | 122 ++++++ .../migrations/0003_auto_20160823_1438.py | 42 +++ .../migrations/__init__.py | 0 app/organization/{team => network}/models.py | 73 ++-- .../nationalities}/__init__.py | 0 .../{team => network}/nationalities/fields.py | 0 .../nationalities/nationalities.py | 0 .../{project => network}/tests.py | 0 .../{team => network}/translation.py | 15 +- app/organization/{team => network}/urls.py | 4 +- app/organization/{team => network}/views.py | 2 +- app/organization/project/apps.py | 9 - .../project/migrations/0001_initial.py | 52 --- .../migrations/0002_auto_20160715_1807.py | 45 --- .../migrations/0003_auto_20160808_0118.py | 80 ---- .../migrations/0004_auto_20160809_1413.py | 84 ----- .../migrations/0005_auto_20160818_1539.py | 53 --- .../migrations/0006_auto_20160818_1656.py | 25 -- .../migrations/0007_auto_20160819_1920.py | 25 -- .../{team => projects}/__init__.py | 2 +- .../{project => projects}/admin.py | 4 +- app/organization/projects/apps.py | 9 + .../projects/migrations/0001_initial.py | 108 ++++++ .../migrations}/__init__.py | 0 .../{project => projects}/models.py | 8 +- app/organization/{team => projects}/tests.py | 0 .../{project => projects}/translation.py | 2 +- .../{project => projects}/urls.py | 4 +- .../{project => projects}/views.py | 2 +- app/organization/team/apps.py | 9 - .../team/migrations/0001_initial.py | 208 ---------- .../migrations/0002_auto_20160714_1905.py | 71 ---- .../migrations/0003_auto_20160714_1943.py | 20 - .../migrations/0004_auto_20160715_1807.py | 128 ------- .../0005_remove_person_nationality.py | 19 - .../migrations/0006_auto_20160720_2136.py | 25 -- .../migrations/0007_auto_20160721_1351.py | 116 ------ .../migrations/0008_auto_20160725_0117.py | 217 ----------- .../migrations/0009_auto_20160725_0143.py | 36 -- .../migrations/0010_auto_20160725_0201.py | 35 -- .../migrations/0011_auto_20160727_1631.py | 96 ----- .../migrations/0012_auto_20160808_0118.py | 60 --- .../migrations/0013_auto_20160809_1413.py | 76 ---- .../0014_department_articles_related.py | 21 -- .../migrations/0015_auto_20160810_1829.py | 20 - .../migrations/0016_auto_20160812_1521.py | 20 - .../migrations/0017_auto_20160823_0744.py | 283 -------------- app/organization/urls.py | 4 +- app/settings.py | 4 +- .../{team => network}/department_detail.html | 0 .../{team => network}/department_list.html | 0 .../{team => network}/person_detail.html | 0 .../{team => network}/person_list.html | 0 .../{team => network}/team_detail.html | 0 .../{team => network}/team_list.html | 0 .../{department.html => departmentpage.html} | 30 +- .../pages/{team.html => teampage.html} | 22 +- .../{project => projects}/project_detail.html | 0 .../{project => projects}/project_list.html | 0 docker-compose.yml | 2 +- 69 files changed, 804 insertions(+), 1911 deletions(-) create mode 100644 app/organization/core/migrations/0013_auto_20160823_1359.py rename app/organization/{project => network}/__init__.py (74%) rename app/organization/{team => network}/admin.py (74%) create mode 100644 app/organization/network/apps.py create mode 100644 app/organization/network/migrations/0001_initial.py create mode 100644 app/organization/network/migrations/0002_auto_20160823_1425.py create mode 100644 app/organization/network/migrations/0003_auto_20160823_1438.py rename app/organization/{project => network}/migrations/__init__.py (100%) rename app/organization/{team => network}/models.py (81%) rename app/organization/{team/migrations => network/nationalities}/__init__.py (100%) rename app/organization/{team => network}/nationalities/fields.py (100%) rename app/organization/{team => network}/nationalities/nationalities.py (100%) rename app/organization/{project => network}/tests.py (100%) rename app/organization/{team => network}/translation.py (72%) rename app/organization/{team => network}/urls.py (80%) rename app/organization/{team => network}/views.py (97%) delete mode 100644 app/organization/project/apps.py delete mode 100644 app/organization/project/migrations/0001_initial.py delete mode 100644 app/organization/project/migrations/0002_auto_20160715_1807.py delete mode 100644 app/organization/project/migrations/0003_auto_20160808_0118.py delete mode 100644 app/organization/project/migrations/0004_auto_20160809_1413.py delete mode 100644 app/organization/project/migrations/0005_auto_20160818_1539.py delete mode 100644 app/organization/project/migrations/0006_auto_20160818_1656.py delete mode 100644 app/organization/project/migrations/0007_auto_20160819_1920.py rename app/organization/{team => projects}/__init__.py (73%) rename app/organization/{project => projects}/admin.py (94%) create mode 100644 app/organization/projects/apps.py create mode 100644 app/organization/projects/migrations/0001_initial.py rename app/organization/{team/nationalities => projects/migrations}/__init__.py (100%) rename app/organization/{project => projects}/models.py (65%) rename app/organization/{team => projects}/tests.py (100%) rename app/organization/{project => projects}/translation.py (92%) rename app/organization/{project => projects}/urls.py (78%) rename app/organization/{project => projects}/views.py (88%) delete mode 100644 app/organization/team/apps.py delete mode 100644 app/organization/team/migrations/0001_initial.py delete mode 100644 app/organization/team/migrations/0002_auto_20160714_1905.py delete mode 100644 app/organization/team/migrations/0003_auto_20160714_1943.py delete mode 100644 app/organization/team/migrations/0004_auto_20160715_1807.py delete mode 100644 app/organization/team/migrations/0005_remove_person_nationality.py delete mode 100644 app/organization/team/migrations/0006_auto_20160720_2136.py delete mode 100644 app/organization/team/migrations/0007_auto_20160721_1351.py delete mode 100644 app/organization/team/migrations/0008_auto_20160725_0117.py delete mode 100644 app/organization/team/migrations/0009_auto_20160725_0143.py delete mode 100644 app/organization/team/migrations/0010_auto_20160725_0201.py delete mode 100644 app/organization/team/migrations/0011_auto_20160727_1631.py delete mode 100644 app/organization/team/migrations/0012_auto_20160808_0118.py delete mode 100644 app/organization/team/migrations/0013_auto_20160809_1413.py delete mode 100644 app/organization/team/migrations/0014_department_articles_related.py delete mode 100644 app/organization/team/migrations/0015_auto_20160810_1829.py delete mode 100644 app/organization/team/migrations/0016_auto_20160812_1521.py delete mode 100644 app/organization/team/migrations/0017_auto_20160823_0744.py rename app/templates/{team => network}/department_detail.html (100%) rename app/templates/{team => network}/department_list.html (100%) rename app/templates/{team => network}/person_detail.html (100%) rename app/templates/{team => network}/person_list.html (100%) rename app/templates/{team => network}/team_detail.html (100%) rename app/templates/{team => network}/team_list.html (100%) rename app/templates/pages/{department.html => departmentpage.html} (75%) rename app/templates/pages/{team.html => teampage.html} (80%) rename app/templates/{project => projects}/project_detail.html (100%) rename app/templates/{project => projects}/project_list.html (100%) diff --git a/app/local_settings.py b/app/local_settings.py index fde9ff70..d4aa4178 100644 --- a/app/local_settings.py +++ b/app/local_settings.py @@ -73,8 +73,8 @@ ADMIN_MENU_ORDER = ( (_('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',)), (_('Magazine'), ('organization-magazine.Article', 'organization-magazine.Brief',)), - (_('Organization'), ('organization-team.Organization', 'organization-team.Department', 'organization-team.Team', 'organization-team.Person', 'organization-team.Activity', 'organization-team.OrganizationType',)), - (_('Projects'), ('organization-project.Project',)), + (_('Network'), ('organization-network.Organization', 'organization-network.Department', 'organization-network.Team', 'organization-network.Person', 'organization-network.Activity', 'organization-network.OrganizationType',)), + (_('Projects'), ('organization-projects.Project',)), (_('Festival'), ('organization-festival.Artist',)), (_('Users'), ('auth.User', 'auth.Group',)), (_('Site'), ('sites.Site', 'redirects.Redirect', 'conf.Setting')), @@ -140,4 +140,4 @@ DEBUG_TOOLBAR_PANELS = [ GRAPPELLI_INSTALLED = True # JQUERY_FILENAME = 'jquery-3.1.0.min.js' -# JQUERY_UI_FILENAME = 'jquery-ui-1.12.0.min.js' +JQUERY_UI_FILENAME = 'jquery-ui-1.9.2.min.js' diff --git a/app/organization/core/migrations/0013_auto_20160823_1359.py b/app/organization/core/migrations/0013_auto_20160823_1359.py new file mode 100644 index 00000000..e667ec83 --- /dev/null +++ b/app/organization/core/migrations/0013_auto_20160823_1359.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-08-23 11:59 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('organization-core', '0012_auto_20160818_1656'), + ] + + operations = [ + migrations.AddField( + model_name='category', + name='description', + field=models.TextField(blank=True, verbose_name='description'), + ), + migrations.AddField( + model_name='pageblock', + name='description', + field=models.TextField(blank=True, verbose_name='description'), + ), + ] diff --git a/app/organization/core/models.py b/app/organization/core/models.py index 1170ddaf..914169a6 100644 --- a/app/organization/core/models.py +++ b/app/organization/core/models.py @@ -27,6 +27,7 @@ class Named(models.Model): """Abstract model providing a name field""" name = models.CharField(_('name'), max_length=512) + description = models.TextField(_('description'), blank=True) class Meta: abstract = True @@ -43,6 +44,7 @@ class Titled(models.Model): """Abstract model providing a title field""" title = models.CharField(_('title'), max_length=1024) + description = models.TextField(_('description'), blank=True) class Meta: abstract = True diff --git a/app/organization/magazine/models.py b/app/organization/magazine/models.py index a5e02f11..9c8c8e72 100644 --- a/app/organization/magazine/models.py +++ b/app/organization/magazine/models.py @@ -13,6 +13,7 @@ from mezzanine.blog.models import BlogPost #from orderable.models import Orderable from organization.core.models import Named, Description, Image, Photo + class ArticleImage(Image): article_fk = models.ForeignKey("Article", verbose_name=_('article')) diff --git a/app/organization/magazine/views.py b/app/organization/magazine/views.py index be89739c..366d75cb 100644 --- a/app/organization/magazine/views.py +++ b/app/organization/magazine/views.py @@ -11,7 +11,7 @@ from dal import autocomplete from dal_select2_queryset_sequence.views import Select2QuerySetSequenceView from mezzanine_agenda.models import Event from organization.magazine.models import Article, Topic, Brief -from organization.team.models import Department +from organization.network.models import Department from organization.core.models import BasicPage from organization.core.views import SlugMixin from django.template.defaultfilters import slugify diff --git a/app/organization/project/__init__.py b/app/organization/network/__init__.py similarity index 74% rename from app/organization/project/__init__.py rename to app/organization/network/__init__.py index 03586203..61799f68 100644 --- a/app/organization/project/__init__.py +++ b/app/organization/network/__init__.py @@ -7,4 +7,4 @@ from __future__ import unicode_literals from mezzanine import __version__ # noqa -default_app_config = 'organization.project.apps.ProjectConfig' +default_app_config = 'organization.network.apps.NetworkConfig' diff --git a/app/organization/team/admin.py b/app/organization/network/admin.py similarity index 74% rename from app/organization/team/admin.py rename to app/organization/network/admin.py index ad764068..91a71ceb 100644 --- a/app/organization/team/admin.py +++ b/app/organization/network/admin.py @@ -4,7 +4,7 @@ from copy import deepcopy from mezzanine.core.admin import * from mezzanine.pages.admin import PageAdmin -from organization.team.models import * +from organization.network.models import * from organization.core.admin import * @@ -19,17 +19,27 @@ class PersonActivityInline(StackedDynamicInlineAdmin): fk_name = 'person' -class TeamAdmin(PageAdmin): +class DepartmentAdmin(BaseTranslationModelAdmin): + + model = Department + + +class DepartmentPageAdmin(PageAdmin): inlines = [PageBlockInline, PageImageInline] -class DepartmentAdmin(PageAdmin): +class TeamAdmin(BaseTranslationModelAdmin): + + model = Team + + +class TeamPageAdmin(PageAdmin): inlines = [PageBlockInline, PageImageInline] -class PersonAdminBase(admin.ModelAdmin): +class PersonAdminBase(BaseTranslationModelAdmin): model = Person @@ -56,5 +66,7 @@ class PersonAdmin(BaseTranslationModelAdmin): admin.site.register(Organization, OrganizationAdmin) admin.site.register(OrganizationType) admin.site.register(Department, DepartmentAdmin) -# admin.site.register(Team, TeamAdmin) +admin.site.register(Team, TeamAdmin) +admin.site.register(DepartmentPage, DepartmentPageAdmin) +admin.site.register(TeamPage, TeamPageAdmin) admin.site.register(Person, PersonAdmin) diff --git a/app/organization/network/apps.py b/app/organization/network/apps.py new file mode 100644 index 00000000..a0087883 --- /dev/null +++ b/app/organization/network/apps.py @@ -0,0 +1,9 @@ +from __future__ import unicode_literals + +from django.apps import AppConfig + + +class NetworkConfig(AppConfig): + + name = 'organization.network' + label = 'organization-network' diff --git a/app/organization/network/migrations/0001_initial.py b/app/organization/network/migrations/0001_initial.py new file mode 100644 index 00000000..29f36742 --- /dev/null +++ b/app/organization/network/migrations/0001_initial.py @@ -0,0 +1,354 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-08-23 12:25 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion +import django_countries.fields +import mezzanine.core.fields +import mezzanine.utils.models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('pages', '0004_auto_20160804_1547'), + ('organization-core', '0013_auto_20160823_1359'), + ] + + operations = [ + migrations.CreateModel( + name='ActivityFramework', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=512, verbose_name='name')), + ('description', models.TextField(blank=True, verbose_name='description')), + ], + options={ + 'verbose_name': 'activity framework', + }, + ), + migrations.CreateModel( + name='ActivityGrade', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=512, verbose_name='name')), + ('description', models.TextField(blank=True, verbose_name='description')), + ], + options={ + 'verbose_name': 'activity grade', + }, + ), + migrations.CreateModel( + name='ActivityStatus', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=512, verbose_name='name')), + ('description', models.TextField(blank=True, verbose_name='description')), + ], + options={ + 'verbose_name': 'activity status', + }, + ), + migrations.CreateModel( + name='Address', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('address', models.TextField(blank=True, verbose_name='address')), + ('postal_code', models.CharField(blank=True, max_length=16, verbose_name='postal code')), + ('country', django_countries.fields.CountryField(max_length=2, verbose_name='country')), + ], + ), + migrations.CreateModel( + name='BudgetCode', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=512, verbose_name='name')), + ('description', models.TextField(blank=True, verbose_name='description')), + ], + options={ + 'verbose_name': 'budget code', + }, + ), + migrations.CreateModel( + name='Department', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=512, verbose_name='name')), + ('name_fr', models.CharField(max_length=512, null=True, verbose_name='name')), + ('name_en', models.CharField(max_length=512, null=True, verbose_name='name')), + ('description', models.TextField(blank=True, verbose_name='description')), + ('description_fr', models.TextField(blank=True, null=True, verbose_name='description')), + ('description_en', models.TextField(blank=True, null=True, verbose_name='description')), + ], + options={ + 'verbose_name': 'department', + }, + ), + migrations.CreateModel( + name='DepartmentPage', + fields=[ + ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='pages.Page')), + ('content', mezzanine.core.fields.RichTextField(verbose_name='Content')), + ('content_fr', mezzanine.core.fields.RichTextField(null=True, verbose_name='Content')), + ('content_en', mezzanine.core.fields.RichTextField(null=True, verbose_name='Content')), + ('sub_title', models.TextField(blank=True, max_length=1024, verbose_name='sub title')), + ('sub_title_fr', models.TextField(blank=True, max_length=1024, null=True, verbose_name='sub title')), + ('sub_title_en', models.TextField(blank=True, max_length=1024, null=True, verbose_name='sub title')), + ('photo', mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='photo')), + ('photo_credits', models.CharField(blank=True, max_length=255, null=True, verbose_name='photo credits')), + ('photo_alignment', models.CharField(blank=True, choices=[('left', 'left'), ('center', 'center'), ('right', 'right')], default='left', max_length=32, verbose_name='photo alignment')), + ('photo_description', models.TextField(blank=True, verbose_name='photo description')), + ('photo_card', mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='card photo')), + ('photo_card_credits', models.CharField(blank=True, max_length=255, null=True, verbose_name='photo card credits')), + ('photo_slider', mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='slider photo')), + ('photo_slider_credits', models.CharField(blank=True, max_length=255, null=True, verbose_name='photo slider credits')), + ('weaving_css_class', models.CharField(blank=True, choices=[('pattern-bg--circles', 'circles'), ('pattern-bg--squares', 'squares'), ('pattern-bg--stripes', 'stripes'), ('pattern-bg--triangles', 'triangles')], max_length=64, verbose_name='background pattern')), + ], + options={ + 'ordering': ('_order',), + 'verbose_name': 'department page', + }, + bases=('pages.page', models.Model), + ), + migrations.CreateModel( + name='OrganizationType', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=512, verbose_name='name')), + ('description', models.TextField(blank=True, verbose_name='description')), + ], + options={ + 'verbose_name': 'organization type', + }, + ), + migrations.CreateModel( + name='Person', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('keywords_string', models.CharField(blank=True, editable=False, max_length=500)), + ('title', models.CharField(max_length=500, verbose_name='Title')), + ('slug', models.CharField(blank=True, help_text='Leave blank to have the URL auto-generated from the title.', max_length=2000, null=True, verbose_name='URL')), + ('_meta_title', models.CharField(blank=True, help_text='Optional title to be used in the HTML title tag. If left blank, the main title field will be used.', max_length=500, null=True, verbose_name='Title')), + ('description', models.TextField(blank=True, verbose_name='Description')), + ('gen_description', models.BooleanField(default=True, help_text='If checked, the description will be automatically generated from content. Uncheck if you want to manually set a custom description.', verbose_name='Generate description')), + ('created', models.DateTimeField(editable=False, null=True)), + ('updated', models.DateTimeField(editable=False, null=True)), + ('status', models.IntegerField(choices=[(1, 'Draft'), (2, 'Published')], default=2, help_text='With Draft chosen, will only be shown for admin users on the site.', verbose_name='Status')), + ('publish_date', models.DateTimeField(blank=True, db_index=True, help_text="With Published chosen, won't be shown until this time", null=True, verbose_name='Published from')), + ('expiry_date', models.DateTimeField(blank=True, help_text="With Published chosen, won't be shown after this time", null=True, verbose_name='Expires on')), + ('short_url', models.URLField(blank=True, null=True)), + ('in_sitemap', models.BooleanField(default=True, verbose_name='Show in sitemap')), + ('photo', mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='photo')), + ('photo_credits', models.CharField(blank=True, max_length=255, null=True, verbose_name='photo credits')), + ('photo_alignment', models.CharField(blank=True, choices=[('left', 'left'), ('center', 'center'), ('right', 'right')], default='left', max_length=32, verbose_name='photo alignment')), + ('photo_description', models.TextField(blank=True, verbose_name='photo description')), + ('photo_card', mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='card photo')), + ('photo_card_credits', models.CharField(blank=True, max_length=255, null=True, verbose_name='photo card credits')), + ('photo_slider', mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='slider photo')), + ('photo_slider_credits', models.CharField(blank=True, max_length=255, null=True, verbose_name='photo slider credits')), + ('person_title', models.CharField(blank=True, choices=[('Dr', 'Dr'), ('Prof', 'Prof'), ('Prof Dr', 'Prof Dr')], max_length=16, verbose_name='title')), + ('gender', models.CharField(blank=True, choices=[('male', 'male'), ('female', 'female')], max_length=16, verbose_name='gender')), + ('first_name', models.CharField(blank=True, max_length=255, null=True, verbose_name='first name')), + ('last_name', models.CharField(blank=True, max_length=255, null=True, verbose_name='last name')), + ('birthday', models.DateField(blank=True, null=True, verbose_name='birthday')), + ('bio', mezzanine.core.fields.RichTextField(blank=True, verbose_name='biography')), + ('bio_fr', mezzanine.core.fields.RichTextField(blank=True, null=True, verbose_name='biography')), + ('bio_en', mezzanine.core.fields.RichTextField(blank=True, null=True, verbose_name='biography')), + ('permanent', models.BooleanField(default=False, verbose_name='permanent')), + ], + options={ + 'ordering': ['last_name'], + 'verbose_name': 'person', + }, + bases=(mezzanine.utils.models.AdminThumbMixin, models.Model), + ), + migrations.CreateModel( + name='PersonActivity', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('content', mezzanine.core.fields.RichTextField(verbose_name='Content')), + ('content_fr', mezzanine.core.fields.RichTextField(null=True, verbose_name='Content')), + ('content_en', mezzanine.core.fields.RichTextField(null=True, verbose_name='Content')), + ('description', models.TextField(blank=True, verbose_name='description')), + ('description_fr', models.TextField(blank=True, null=True, verbose_name='description')), + ('description_en', models.TextField(blank=True, null=True, verbose_name='description')), + ('date_begin', models.DateField(blank=True, null=True, verbose_name='begin date')), + ('date_end', models.DateField(blank=True, null=True, verbose_name='end date')), + ('function', models.CharField(blank=True, max_length=1024, verbose_name='fonction')), + ('hdr', models.BooleanField(default=False, verbose_name='HDR')), + ('rd_quota', models.IntegerField(blank=True, null=True, verbose_name='R&D quota')), + ('rd_program', models.TextField(blank=True, verbose_name='R&D program')), + ('phd_defense_date', models.DateField(blank=True, null=True, verbose_name='PhD defense date')), + ('phd_title', models.TextField(blank=True, verbose_name='PhD title')), + ('phd_postdoctoralsituation', models.CharField(blank=True, max_length=256, verbose_name='post-doctoral situation')), + ('training_title', models.TextField(blank=True, verbose_name='Training title')), + ('comments', models.TextField(blank=True, verbose_name='comments')), + ('date_added', models.DateTimeField(auto_now_add=True, verbose_name='add date')), + ('date_modified', models.DateTimeField(auto_now=True, verbose_name='modification date')), + ('date_modified_manual', models.DateTimeField(blank=True, null=True, verbose_name='manual modification date')), + ('budget_code', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-network.BudgetCode')), + ('framework', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-network.ActivityFramework', verbose_name='framework')), + ('grade', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-network.ActivityGrade', verbose_name='grade')), + ('person', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-network.Person', verbose_name='person')), + ('phd_director', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='phd_director_activity', to='organization-network.Person', verbose_name='PhD director')), + ('phd_officer_1', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='phd_officer_1_activity', to='organization-network.Person', verbose_name='PhD officer 1')), + ('phd_officer_2', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='phd_officer_2_activity', to='organization-network.Person', verbose_name='PhD officer 2')), + ], + options={ + 'verbose_name_plural': 'activities', + 'verbose_name': 'activity', + }, + ), + migrations.CreateModel( + name='PersonLink', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('url', models.URLField(verbose_name='URL')), + ('link_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-core.LinkType', verbose_name='link type')), + ('person', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-network.Person', verbose_name='person')), + ], + options={ + 'verbose_name': 'person link', + }, + ), + migrations.CreateModel( + name='RecordPiece', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=512, verbose_name='name')), + ('description', models.TextField(blank=True, verbose_name='description')), + ], + options={ + 'verbose_name': 'record piece', + }, + ), + migrations.CreateModel( + name='Team', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=512, verbose_name='name')), + ('name_fr', models.CharField(max_length=512, null=True, verbose_name='name')), + ('name_en', models.CharField(max_length=512, null=True, verbose_name='name')), + ('description', models.TextField(blank=True, verbose_name='description')), + ('description_fr', models.TextField(blank=True, null=True, verbose_name='description')), + ('description_en', models.TextField(blank=True, null=True, verbose_name='description')), + ('web_site', models.URLField(blank=True, max_length=512, verbose_name='web site')), + ('department', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='teams', to='organization-network.Department', verbose_name='department')), + ], + options={ + 'verbose_name': 'team', + }, + ), + migrations.CreateModel( + name='TeamLink', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('url', models.URLField(verbose_name='URL')), + ('link_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-core.LinkType', verbose_name='link type')), + ('team', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-network.Team', verbose_name='links')), + ], + options={ + 'verbose_name_plural': 'links', + 'abstract': False, + 'verbose_name': 'link', + }, + ), + migrations.CreateModel( + name='TeamPage', + fields=[ + ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='pages.Page')), + ('content', mezzanine.core.fields.RichTextField(verbose_name='Content')), + ('content_fr', mezzanine.core.fields.RichTextField(null=True, verbose_name='Content')), + ('content_en', mezzanine.core.fields.RichTextField(null=True, verbose_name='Content')), + ('sub_title', models.TextField(blank=True, max_length=1024, verbose_name='sub title')), + ('sub_title_fr', models.TextField(blank=True, max_length=1024, null=True, verbose_name='sub title')), + ('sub_title_en', models.TextField(blank=True, max_length=1024, null=True, verbose_name='sub title')), + ('photo', mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='photo')), + ('photo_credits', models.CharField(blank=True, max_length=255, null=True, verbose_name='photo credits')), + ('photo_alignment', models.CharField(blank=True, choices=[('left', 'left'), ('center', 'center'), ('right', 'right')], default='left', max_length=32, verbose_name='photo alignment')), + ('photo_description', models.TextField(blank=True, verbose_name='photo description')), + ('photo_card', mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='card photo')), + ('photo_card_credits', models.CharField(blank=True, max_length=255, null=True, verbose_name='photo card credits')), + ('photo_slider', mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='slider photo')), + ('photo_slider_credits', models.CharField(blank=True, max_length=255, null=True, verbose_name='photo slider credits')), + ('team', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-network.Team', verbose_name='team')), + ], + options={ + 'ordering': ('_order',), + 'verbose_name': 'team page', + }, + bases=('pages.page', models.Model), + ), + migrations.CreateModel( + name='TrainingLevel', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=512, verbose_name='name')), + ('description', models.TextField(blank=True, verbose_name='description')), + ], + options={ + 'verbose_name': 'training level', + }, + ), + migrations.CreateModel( + name='TrainingSpectiality', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=512, verbose_name='name')), + ('description', models.TextField(blank=True, verbose_name='description')), + ], + options={ + 'verbose_name': 'training speciality', + }, + ), + migrations.CreateModel( + name='TrainingTopic', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=512, verbose_name='name')), + ('description', models.TextField(blank=True, verbose_name='description')), + ], + options={ + 'verbose_name': 'training topic', + }, + ), + migrations.CreateModel( + name='TrainingType', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=512, verbose_name='name')), + ('description', models.TextField(blank=True, verbose_name='description')), + ], + options={ + 'verbose_name': 'training type', + }, + ), + migrations.CreateModel( + name='Organization', + fields=[ + ('address_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='organization-network.Address')), + ('title', models.CharField(max_length=500, verbose_name='Title')), + ('slug', models.CharField(blank=True, help_text='Leave blank to have the URL auto-generated from the title.', max_length=2000, null=True, verbose_name='URL')), + ('description', models.TextField(blank=True, verbose_name='description')), + ('description_fr', models.TextField(blank=True, null=True, verbose_name='description')), + ('description_en', models.TextField(blank=True, null=True, verbose_name='description')), + ('photo', mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='photo')), + ('photo_credits', models.CharField(blank=True, max_length=255, null=True, verbose_name='photo credits')), + ('photo_alignment', models.CharField(blank=True, choices=[('left', 'left'), ('center', 'center'), ('right', 'right')], default='left', max_length=32, verbose_name='photo alignment')), + ('photo_description', models.TextField(blank=True, verbose_name='photo description')), + ('photo_card', mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='card photo')), + ('photo_card_credits', models.CharField(blank=True, max_length=255, null=True, verbose_name='photo card credits')), + ('photo_slider', mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='slider photo')), + ('photo_slider_credits', models.CharField(blank=True, max_length=255, null=True, verbose_name='photo slider credits')), + ('website', models.URLField(blank=True, max_length=512, verbose_name='website')), + ('is_on_map', models.BooleanField(default=True, verbose_name='is on map')), + ], + options={ + 'verbose_name': 'organization', + }, + bases=('organization-network.address', models.Model), + ), + ] diff --git a/app/organization/network/migrations/0002_auto_20160823_1425.py b/app/organization/network/migrations/0002_auto_20160823_1425.py new file mode 100644 index 00000000..4926eb69 --- /dev/null +++ b/app/organization/network/migrations/0002_auto_20160823_1425.py @@ -0,0 +1,122 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-08-23 12:25 +from __future__ import unicode_literals + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('organization-network', '0001_initial'), + ('sites', '0002_alter_domain_unique'), + ('organization-projects', '0001_initial'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.AddField( + model_name='personactivity', + name='project', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-projects.Project', verbose_name='project'), + ), + migrations.AddField( + model_name='personactivity', + name='record_piece', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-network.RecordPiece'), + ), + migrations.AddField( + model_name='personactivity', + name='second_team', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='second_team_activity', to='organization-network.Team', verbose_name='second team'), + ), + migrations.AddField( + model_name='personactivity', + name='status', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-network.ActivityStatus', verbose_name='status'), + ), + migrations.AddField( + model_name='personactivity', + name='team', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='team_activity', to='organization-network.Team', verbose_name='team'), + ), + migrations.AddField( + model_name='personactivity', + name='training_level', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-network.TrainingLevel', verbose_name='training level'), + ), + migrations.AddField( + model_name='personactivity', + name='training_speciality', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-network.TrainingSpectiality', verbose_name='training speciality'), + ), + migrations.AddField( + model_name='personactivity', + name='training_topic', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-network.TrainingTopic', verbose_name='training topic'), + ), + migrations.AddField( + model_name='personactivity', + name='training_type', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-network.TrainingType', verbose_name='training type'), + ), + migrations.AddField( + model_name='person', + name='site', + field=models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.Site'), + ), + migrations.AddField( + model_name='person', + name='user', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='user'), + ), + migrations.AddField( + model_name='departmentpage', + name='department', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-network.Department', verbose_name='department'), + ), + migrations.AddField( + model_name='team', + name='organization', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='teams', to='organization-network.Organization', verbose_name='organization'), + ), + migrations.AddField( + model_name='personactivity', + name='attachment_organization', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='attachment_activity', to='organization-network.Organization', verbose_name='attachment organization'), + ), + migrations.AddField( + model_name='personactivity', + name='employer', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='employer_activity', to='organization-network.Organization', verbose_name='employer'), + ), + migrations.AddField( + model_name='personactivity', + name='phd_doctoral_school', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-network.Organization', verbose_name='doctoral school'), + ), + migrations.AddField( + model_name='personactivity', + name='second_employer', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='second_employer_activity', to='organization-network.Organization', verbose_name='second employer'), + ), + migrations.AddField( + model_name='organization', + name='site', + field=models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.Site'), + ), + migrations.AddField( + model_name='organization', + name='type', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-network.OrganizationType', verbose_name='organization type'), + ), + migrations.AddField( + model_name='department', + name='organization', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='departments', to='organization-network.Organization', verbose_name='organization'), + ), + ] diff --git a/app/organization/network/migrations/0003_auto_20160823_1438.py b/app/organization/network/migrations/0003_auto_20160823_1438.py new file mode 100644 index 00000000..1d9b3394 --- /dev/null +++ b/app/organization/network/migrations/0003_auto_20160823_1438.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-08-23 12:38 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('organization-network', '0002_auto_20160823_1425'), + ] + + operations = [ + migrations.RemoveField( + model_name='organization', + name='site', + ), + migrations.RemoveField( + model_name='organization', + name='slug', + ), + migrations.RemoveField( + model_name='organization', + name='title', + ), + migrations.RemoveField( + model_name='organization', + name='website', + ), + migrations.AddField( + model_name='organization', + name='name', + field=models.CharField(default='', max_length=512, verbose_name='name'), + preserve_default=False, + ), + migrations.AddField( + model_name='organization', + name='web_site', + field=models.URLField(blank=True, max_length=512, verbose_name='web site'), + ), + ] diff --git a/app/organization/project/migrations/__init__.py b/app/organization/network/migrations/__init__.py similarity index 100% rename from app/organization/project/migrations/__init__.py rename to app/organization/network/migrations/__init__.py diff --git a/app/organization/team/models.py b/app/organization/network/models.py similarity index 81% rename from app/organization/team/models.py rename to app/organization/network/models.py index 74841f0c..d0835438 100644 --- a/app/organization/team/models.py +++ b/app/organization/network/models.py @@ -65,11 +65,11 @@ class Address(models.Model): abstract = True -class Organization(Slugged, Description, Address, Photo): +class Organization(Named, Address, Photo): """(Organization description)""" type = models.ForeignKey('OrganizationType', verbose_name=_('organization type'), blank=True, null=True, on_delete=models.SET_NULL) - website = models.URLField(_('website'), max_length=512, blank=True) + web_site = models.URLField(_('web site'), max_length=512, blank=True) is_on_map = models.BooleanField(_('is on map'), default=True) class Meta: @@ -83,28 +83,59 @@ class OrganizationType(Named): verbose_name = _('organization type') -class Department(Page, SubTitle, RichText, Photo): +class Department(Named): """(Department description)""" - organization = models.ForeignKey('Organization', verbose_name=_('organization')) - url = models.URLField(_('URL'), max_length=512, blank=True) - weaving_css_class = models.CharField(_('background pattern'), choices=PATTERN_CHOICES, max_length=64, blank=True) - articles_related = models.ManyToManyField('organization-magazine.Article', verbose_name=_('Related articles'), blank=True) + organization = models.ForeignKey('Organization', verbose_name=_('organization'), related_name="departments") class Meta: verbose_name = _('department') + def __str__(self): + if self.organization: + return ' - '.join((self.organization.name, self.name)) + return self.name + + +class DepartmentPage(Page, SubTitle, RichText, Photo): + """(Department description)""" + + department = models.ForeignKey('Department', verbose_name=_('department')) + weaving_css_class = models.CharField(_('background pattern'), choices=PATTERN_CHOICES, max_length=64, blank=True) + + class Meta: + verbose_name = _('department page') + -class Team(Page, SubTitle, RichText, Photo): +class Team(Named): """(Team description)""" - # department = models.ForeignKey('Department', verbose_name=_('department'), related_name="teams", blank=True, null=True, on_delete=models.SET_NULL) - partner_organizations = models.ManyToManyField(Organization, verbose_name=_('partner organizations'), blank=True) - partner_teams = models.ManyToManyField('Team', verbose_name=_('partner teams'), blank=True) + organization = models.ForeignKey('Organization', verbose_name=_('organization'), related_name="teams", blank=True, null=True, on_delete=models.SET_NULL) + department = models.ForeignKey('Department', verbose_name=_('department'), related_name="teams", blank=True, null=True, on_delete=models.SET_NULL) + web_site = models.URLField(_('web site'), max_length=512, blank=True) class Meta: verbose_name = _('team') + def __str__(self): + if self.organization: + return ' - '.join((self.organization.name, self.name)) + elif self.department: + if self.department.organization: + return ' - '.join((self.department.organization.name, self.department.name, self.name)) + else: + return ' - '.join((self.department.name, self.name)) + return self.name + + +class TeamPage(Page, SubTitle, RichText, Photo): + """(Team description)""" + + team = models.ForeignKey('Team', verbose_name=_('team')) + + class Meta: + verbose_name = _('team page') + class Person(Displayable, AdminThumbMixin, Photo): """(Person description)""" @@ -157,55 +188,55 @@ class TeamLink(Link): return self.url -class ActivityStatus(Named, Description): +class ActivityStatus(Named): class Meta: verbose_name = _('activity status') -class ActivityGrade(Named, Description): +class ActivityGrade(Named): class Meta: verbose_name = _('activity grade') -class ActivityFramework(Named, Description): +class ActivityFramework(Named): class Meta: verbose_name = _('activity framework') -class BudgetCode(Named, Description): +class BudgetCode(Named): class Meta: verbose_name = _('budget code') -class RecordPiece(Named, Description): +class RecordPiece(Named): class Meta: verbose_name = _('record piece') -class TrainingType(Named, Description): +class TrainingType(Named): class Meta: verbose_name = _('training type') -class TrainingLevel(Named, Description): +class TrainingLevel(Named): class Meta: verbose_name = _('training level') -class TrainingTopic(Named, Description): +class TrainingTopic(Named): class Meta: verbose_name = _('training topic') -class TrainingSpectiality(Named, Description): +class TrainingSpectiality(Named): class Meta: verbose_name = _('training speciality') @@ -228,7 +259,7 @@ class PersonActivity(Description, Period, RichText): second_employer = models.ForeignKey(Organization, verbose_name=_('second employer'), related_name='second_employer_activity', blank=True, null=True, on_delete=models.SET_NULL) attachment_organization = models.ForeignKey(Organization, verbose_name=_('attachment organization'), related_name='attachment_activity', blank=True, null=True, on_delete=models.SET_NULL) - project = models.ForeignKey('organization-project.Project', verbose_name=_('project'), blank=True, null=True, on_delete=models.SET_NULL) + project = models.ForeignKey('organization-projects.Project', verbose_name=_('project'), blank=True, null=True, on_delete=models.SET_NULL) rd_quota = models.IntegerField(_('R&D quota'), blank=True, null=True) rd_program = models.TextField(_('R&D program'), blank=True) budget_code = models.ForeignKey(BudgetCode, blank=True, null=True, on_delete=models.SET_NULL) diff --git a/app/organization/team/migrations/__init__.py b/app/organization/network/nationalities/__init__.py similarity index 100% rename from app/organization/team/migrations/__init__.py rename to app/organization/network/nationalities/__init__.py diff --git a/app/organization/team/nationalities/fields.py b/app/organization/network/nationalities/fields.py similarity index 100% rename from app/organization/team/nationalities/fields.py rename to app/organization/network/nationalities/fields.py diff --git a/app/organization/team/nationalities/nationalities.py b/app/organization/network/nationalities/nationalities.py similarity index 100% rename from app/organization/team/nationalities/nationalities.py rename to app/organization/network/nationalities/nationalities.py diff --git a/app/organization/project/tests.py b/app/organization/network/tests.py similarity index 100% rename from app/organization/project/tests.py rename to app/organization/network/tests.py diff --git a/app/organization/team/translation.py b/app/organization/network/translation.py similarity index 72% rename from app/organization/team/translation.py rename to app/organization/network/translation.py index 8d439fb9..8a310062 100644 --- a/app/organization/team/translation.py +++ b/app/organization/network/translation.py @@ -1,6 +1,6 @@ from modeltranslation.translator import translator, register, TranslationOptions -from organization.team.models import * +from organization.network.models import * @register(Organization) @@ -12,9 +12,20 @@ class OrganizationTranslationOptions(TranslationOptions): @register(Department) class DepartmentTranslationOptions(TranslationOptions): - fields = ('sub_title', 'content',) + fields = ('name', 'description') @register(Team) +class TeamTranslationOptions(TranslationOptions): + + fields = ('name', 'description') + + +@register(DepartmentPage) +class DepartmentTranslationOptions(TranslationOptions): + + fields = ('sub_title', 'content',) + +@register(TeamPage) class TeamTranslationOptions(TranslationOptions): fields = ('sub_title', 'content',) diff --git a/app/organization/team/urls.py b/app/organization/network/urls.py similarity index 80% rename from app/organization/team/urls.py rename to app/organization/network/urls.py index 59b66b53..bd52ca92 100644 --- a/app/organization/team/urls.py +++ b/app/organization/network/urls.py @@ -7,9 +7,9 @@ from django.conf.urls.i18n import i18n_patterns from mezzanine.core.views import direct_to_template from mezzanine.conf import settings -from organization.team.views import * +from organization.network.views import * urlpatterns = [ - url(r'^(?P.*)/teams/$', TeamListView.as_view(), name="organization-team-team-list"), + url(r'^(?P.*)/teams/$', TeamListView.as_view(), name="organization-network-team-list"), ] diff --git a/app/organization/team/views.py b/app/organization/network/views.py similarity index 97% rename from app/organization/team/views.py rename to app/organization/network/views.py index 3d4649fb..bc01c20c 100644 --- a/app/organization/team/views.py +++ b/app/organization/network/views.py @@ -1,6 +1,6 @@ from django.shortcuts import render -from organization.team.models import * +from organization.network.models import * from organization.core.views import * diff --git a/app/organization/project/apps.py b/app/organization/project/apps.py deleted file mode 100644 index 95f7c465..00000000 --- a/app/organization/project/apps.py +++ /dev/null @@ -1,9 +0,0 @@ -from __future__ import unicode_literals - -from django.apps import AppConfig - - -class ProjectConfig(AppConfig): - - name = 'organization.project' - label = 'organization-project' diff --git a/app/organization/project/migrations/0001_initial.py b/app/organization/project/migrations/0001_initial.py deleted file mode 100644 index 27b60488..00000000 --- a/app/organization/project/migrations/0001_initial.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-07-14 16:54 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion -import mezzanine.core.fields - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('organization-team', '__first__'), - ('sites', '0002_alter_domain_unique'), - ] - - operations = [ - migrations.CreateModel( - name='Project', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('keywords_string', models.CharField(blank=True, editable=False, max_length=500)), - ('title', models.CharField(max_length=500, verbose_name='Title')), - ('title_fr', models.CharField(max_length=500, null=True, verbose_name='Title')), - ('title_en', models.CharField(max_length=500, null=True, verbose_name='Title')), - ('slug', models.CharField(blank=True, help_text='Leave blank to have the URL auto-generated from the title.', max_length=2000, null=True, verbose_name='URL')), - ('_meta_title', models.CharField(blank=True, help_text='Optional title to be used in the HTML title tag. If left blank, the main title field will be used.', max_length=500, null=True, verbose_name='Title')), - ('description', models.TextField(blank=True, verbose_name='Description')), - ('description_fr', models.TextField(blank=True, null=True, verbose_name='Description')), - ('description_en', models.TextField(blank=True, null=True, verbose_name='Description')), - ('gen_description', models.BooleanField(default=True, help_text='If checked, the description will be automatically generated from content. Uncheck if you want to manually set a custom description.', verbose_name='Generate description')), - ('created', models.DateTimeField(editable=False, null=True)), - ('updated', models.DateTimeField(editable=False, null=True)), - ('status', models.IntegerField(choices=[(1, 'Draft'), (2, 'Published')], default=2, help_text='With Draft chosen, will only be shown for admin users on the site.', verbose_name='Status')), - ('publish_date', models.DateTimeField(blank=True, db_index=True, help_text="With Published chosen, won't be shown until this time", null=True, verbose_name='Published from')), - ('expiry_date', models.DateTimeField(blank=True, help_text="With Published chosen, won't be shown after this time", null=True, verbose_name='Expires on')), - ('short_url', models.URLField(blank=True, null=True)), - ('in_sitemap', models.BooleanField(default=True, verbose_name='Show in sitemap')), - ('content', mezzanine.core.fields.RichTextField(verbose_name='Content')), - ('content_fr', mezzanine.core.fields.RichTextField(null=True, verbose_name='Content')), - ('content_en', mezzanine.core.fields.RichTextField(null=True, verbose_name='Content')), - ('partners', models.ManyToManyField(to='organization-team.Organization', verbose_name='organizations')), - ('persons', models.ManyToManyField(to='organization-team.Person', verbose_name='persons')), - ('site', models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.Site')), - ], - options={ - 'abstract': False, - }, - ), - ] diff --git a/app/organization/project/migrations/0002_auto_20160715_1807.py b/app/organization/project/migrations/0002_auto_20160715_1807.py deleted file mode 100644 index c1f563ed..00000000 --- a/app/organization/project/migrations/0002_auto_20160715_1807.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-07-15 16:07 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('organization-team', '0004_auto_20160715_1807'), - ('organization-project', '0001_initial'), - ] - - operations = [ - migrations.RemoveField( - model_name='project', - name='partners', - ), - migrations.RemoveField( - model_name='project', - name='persons', - ), - migrations.AddField( - model_name='project', - name='leader_team', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='project_leader', to='organization-team.Team', verbose_name='lead team'), - ), - migrations.AddField( - model_name='project', - name='partner_organizations', - field=models.ManyToManyField(blank=True, to='organization-team.Organization', verbose_name='partner organizations'), - ), - migrations.AddField( - model_name='project', - name='partner_persons', - field=models.ManyToManyField(blank=True, to='organization-team.Person', verbose_name='partner persons'), - ), - migrations.AddField( - model_name='project', - name='partner_teams', - field=models.ManyToManyField(blank=True, related_name='project_partners', to='organization-team.Team', verbose_name='partner teams'), - ), - ] diff --git a/app/organization/project/migrations/0003_auto_20160808_0118.py b/app/organization/project/migrations/0003_auto_20160808_0118.py deleted file mode 100644 index 1838ed61..00000000 --- a/app/organization/project/migrations/0003_auto_20160808_0118.py +++ /dev/null @@ -1,80 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-08-07 23:18 -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 = [ - ('organization-core', '0010_auto_20160808_0118'), - ('organization-project', '0002_auto_20160715_1807'), - ] - - operations = [ - migrations.CreateModel( - name='ProjectBlock', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('content', mezzanine.core.fields.RichTextField(verbose_name='Content')), - ('title', models.CharField(max_length=1024, verbose_name='title')), - ('with_separator', models.BooleanField(default=False)), - ('background_color', models.CharField(blank=True, choices=[('black', 'black'), ('yellow', 'yellow'), ('red', 'red')], max_length=32, verbose_name='background color')), - ], - options={ - 'verbose_name': 'project block', - }, - ), - migrations.CreateModel( - name='ProjectImage', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('_order', mezzanine.core.fields.OrderField(null=True, verbose_name='Order')), - ('file', mezzanine.core.fields.FileField(max_length=1024, verbose_name='Image')), - ('description', models.TextField(blank=True, verbose_name='photo description')), - ('credits', models.CharField(blank=True, max_length=256, null=True, verbose_name='photo credits')), - ], - options={ - 'ordering': ('_order',), - 'verbose_name': 'project image', - }, - ), - migrations.CreateModel( - name='ProjectLink', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('url', models.URLField(verbose_name='URL')), - ('link_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-core.LinkType', verbose_name='link type')), - ], - options={ - 'verbose_name': 'project link', - }, - ), - migrations.AlterModelOptions( - name='project', - options={'verbose_name': 'project'}, - ), - migrations.AddField( - model_name='project', - name='website', - field=models.URLField(blank=True, max_length=512, verbose_name='website'), - ), - migrations.AddField( - model_name='projectlink', - name='project', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-project.Project'), - ), - migrations.AddField( - model_name='projectimage', - name='project', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-project.Project'), - ), - migrations.AddField( - model_name='projectblock', - name='project', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-project.Project', verbose_name='project'), - ), - ] diff --git a/app/organization/project/migrations/0004_auto_20160809_1413.py b/app/organization/project/migrations/0004_auto_20160809_1413.py deleted file mode 100644 index 3863030d..00000000 --- a/app/organization/project/migrations/0004_auto_20160809_1413.py +++ /dev/null @@ -1,84 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-08-09 12:13 -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 = [ - ('organization-project', '0003_auto_20160808_0118'), - ] - - operations = [ - migrations.AlterModelOptions( - name='projectblock', - options={}, - ), - migrations.AlterModelOptions( - name='projectimage', - options={'ordering': ('_order',)}, - ), - migrations.AlterModelOptions( - name='projectlink', - options={'verbose_name': 'link', 'verbose_name_plural': 'links'}, - ), - migrations.AddField( - model_name='projectblock', - name='content_en', - field=mezzanine.core.fields.RichTextField(null=True, verbose_name='Content'), - ), - migrations.AddField( - model_name='projectblock', - name='content_fr', - field=mezzanine.core.fields.RichTextField(null=True, verbose_name='Content'), - ), - migrations.AddField( - model_name='projectblock', - name='title_en', - field=models.CharField(max_length=1024, null=True, verbose_name='title'), - ), - migrations.AddField( - model_name='projectblock', - name='title_fr', - field=models.CharField(max_length=1024, null=True, verbose_name='title'), - ), - migrations.AddField( - model_name='projectimage', - name='description_en', - field=models.TextField(blank=True, null=True, verbose_name='description'), - ), - migrations.AddField( - model_name='projectimage', - name='description_fr', - field=models.TextField(blank=True, null=True, verbose_name='description'), - ), - migrations.AlterField( - model_name='projectblock', - name='project', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='blocks', to='organization-project.Project', verbose_name='project'), - ), - migrations.AlterField( - model_name='projectimage', - name='credits', - field=models.CharField(blank=True, max_length=256, null=True, verbose_name='credits'), - ), - migrations.AlterField( - model_name='projectimage', - name='description', - field=models.TextField(blank=True, verbose_name='description'), - ), - migrations.AlterField( - model_name='projectimage', - name='project', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='images', to='organization-project.Project'), - ), - migrations.AlterField( - model_name='projectlink', - name='project', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='links', to='organization-project.Project'), - ), - ] diff --git a/app/organization/project/migrations/0005_auto_20160818_1539.py b/app/organization/project/migrations/0005_auto_20160818_1539.py deleted file mode 100644 index b7de17f8..00000000 --- a/app/organization/project/migrations/0005_auto_20160818_1539.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-08-18 13:39 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('organization-team', '0016_auto_20160812_1521'), - ('organization-project', '0004_auto_20160809_1413'), - ] - - operations = [ - migrations.RemoveField( - model_name='project', - name='leader_team', - ), - migrations.RemoveField( - model_name='project', - name='partner_organizations', - ), - migrations.RemoveField( - model_name='project', - name='partner_persons', - ), - migrations.RemoveField( - model_name='project', - name='partner_teams', - ), - migrations.AddField( - model_name='project', - name='lead_team', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='leader_projects', to='organization-team.Team', verbose_name='lead team'), - ), - migrations.AddField( - model_name='project', - name='organizations', - field=models.ManyToManyField(blank=True, to='organization-team.Organization', verbose_name='organizations'), - ), - migrations.AddField( - model_name='project', - name='persons', - field=models.ManyToManyField(blank=True, to='organization-team.Person', verbose_name='persons'), - ), - migrations.AddField( - model_name='project', - name='teams', - field=models.ManyToManyField(blank=True, related_name='patner_projects', to='organization-team.Team', verbose_name='teams'), - ), - ] diff --git a/app/organization/project/migrations/0006_auto_20160818_1656.py b/app/organization/project/migrations/0006_auto_20160818_1656.py deleted file mode 100644 index 5182c62e..00000000 --- a/app/organization/project/migrations/0006_auto_20160818_1656.py +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-08-18 14:56 -from __future__ import unicode_literals - -from django.db import migrations -import mezzanine.core.fields - - -class Migration(migrations.Migration): - - dependencies = [ - ('organization-project', '0005_auto_20160818_1539'), - ] - - operations = [ - migrations.AlterModelOptions( - name='projectblock', - options={'ordering': ('_order',)}, - ), - migrations.AddField( - model_name='projectblock', - name='_order', - field=mezzanine.core.fields.OrderField(null=True, verbose_name='Order'), - ), - ] diff --git a/app/organization/project/migrations/0007_auto_20160819_1920.py b/app/organization/project/migrations/0007_auto_20160819_1920.py deleted file mode 100644 index 22cb41c3..00000000 --- a/app/organization/project/migrations/0007_auto_20160819_1920.py +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-08-19 17:20 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('organization-project', '0006_auto_20160818_1656'), - ] - - operations = [ - migrations.AddField( - model_name='project', - name='date_begin', - field=models.DateField(blank=True, null=True, verbose_name='begin date'), - ), - migrations.AddField( - model_name='project', - name='date_end', - field=models.DateField(blank=True, null=True, verbose_name='end date'), - ), - ] diff --git a/app/organization/team/__init__.py b/app/organization/projects/__init__.py similarity index 73% rename from app/organization/team/__init__.py rename to app/organization/projects/__init__.py index 2de9352f..346037ab 100644 --- a/app/organization/team/__init__.py +++ b/app/organization/projects/__init__.py @@ -7,4 +7,4 @@ from __future__ import unicode_literals from mezzanine import __version__ # noqa -default_app_config = 'organization.team.apps.teamConfig' +default_app_config = 'organization.projects.apps.ProjectsConfig' diff --git a/app/organization/project/admin.py b/app/organization/projects/admin.py similarity index 94% rename from app/organization/project/admin.py rename to app/organization/projects/admin.py index 89f9c40a..890604bc 100644 --- a/app/organization/project/admin.py +++ b/app/organization/projects/admin.py @@ -5,7 +5,7 @@ from django.utils.translation import ugettext_lazy as _ from mezzanine.core.admin import * -from organization.project.models import * +from organization.projects.models import * class ProjectLinkInline(StackedDynamicInlineAdmin): @@ -33,6 +33,6 @@ class ProjectAdminDisplayable(DisplayableAdmin): fieldsets = deepcopy(ProjectAdmin.fieldsets) inlines = [ProjectImageInline, ProjectBlockInline, ProjectLinkInline, ] filter_horizontal = ['persons', 'teams', 'organizations'] - + admin.site.register(Project, ProjectAdminDisplayable) diff --git a/app/organization/projects/apps.py b/app/organization/projects/apps.py new file mode 100644 index 00000000..55e9eacb --- /dev/null +++ b/app/organization/projects/apps.py @@ -0,0 +1,9 @@ +from __future__ import unicode_literals + +from django.apps import AppConfig + + +class ProjectsConfig(AppConfig): + + name = 'organization.projects' + label = 'organization-projects' diff --git a/app/organization/projects/migrations/0001_initial.py b/app/organization/projects/migrations/0001_initial.py new file mode 100644 index 00000000..e0503a10 --- /dev/null +++ b/app/organization/projects/migrations/0001_initial.py @@ -0,0 +1,108 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-08-23 12:25 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion +import mezzanine.core.fields + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('organization-network', '0001_initial'), + ('sites', '0002_alter_domain_unique'), + ('organization-core', '0013_auto_20160823_1359'), + ] + + operations = [ + migrations.CreateModel( + name='Project', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('keywords_string', models.CharField(blank=True, editable=False, max_length=500)), + ('title', models.CharField(max_length=500, verbose_name='Title')), + ('title_fr', models.CharField(max_length=500, null=True, verbose_name='Title')), + ('title_en', models.CharField(max_length=500, null=True, verbose_name='Title')), + ('slug', models.CharField(blank=True, help_text='Leave blank to have the URL auto-generated from the title.', max_length=2000, null=True, verbose_name='URL')), + ('_meta_title', models.CharField(blank=True, help_text='Optional title to be used in the HTML title tag. If left blank, the main title field will be used.', max_length=500, null=True, verbose_name='Title')), + ('description', models.TextField(blank=True, verbose_name='Description')), + ('description_fr', models.TextField(blank=True, null=True, verbose_name='Description')), + ('description_en', models.TextField(blank=True, null=True, verbose_name='Description')), + ('gen_description', models.BooleanField(default=True, help_text='If checked, the description will be automatically generated from content. Uncheck if you want to manually set a custom description.', verbose_name='Generate description')), + ('created', models.DateTimeField(editable=False, null=True)), + ('updated', models.DateTimeField(editable=False, null=True)), + ('status', models.IntegerField(choices=[(1, 'Draft'), (2, 'Published')], default=2, help_text='With Draft chosen, will only be shown for admin users on the site.', verbose_name='Status')), + ('publish_date', models.DateTimeField(blank=True, db_index=True, help_text="With Published chosen, won't be shown until this time", null=True, verbose_name='Published from')), + ('expiry_date', models.DateTimeField(blank=True, help_text="With Published chosen, won't be shown after this time", null=True, verbose_name='Expires on')), + ('short_url', models.URLField(blank=True, null=True)), + ('in_sitemap', models.BooleanField(default=True, verbose_name='Show in sitemap')), + ('content', mezzanine.core.fields.RichTextField(verbose_name='Content')), + ('content_fr', mezzanine.core.fields.RichTextField(null=True, verbose_name='Content')), + ('content_en', mezzanine.core.fields.RichTextField(null=True, verbose_name='Content')), + ('date_begin', models.DateField(blank=True, null=True, verbose_name='begin date')), + ('date_end', models.DateField(blank=True, null=True, verbose_name='end date')), + ('website', models.URLField(blank=True, max_length=512, verbose_name='website')), + ('lead_team', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='leader_projects', to='organization-network.Team', verbose_name='lead team')), + ('organizations', models.ManyToManyField(blank=True, to='organization-network.Organization', verbose_name='organizations')), + ('persons', models.ManyToManyField(blank=True, to='organization-network.Person', verbose_name='persons')), + ('site', models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.Site')), + ('teams', models.ManyToManyField(blank=True, related_name='patner_projects', to='organization-network.Team', verbose_name='teams')), + ], + options={ + 'verbose_name': 'project', + }, + ), + migrations.CreateModel( + name='ProjectBlock', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('content', mezzanine.core.fields.RichTextField(verbose_name='Content')), + ('content_fr', mezzanine.core.fields.RichTextField(null=True, verbose_name='Content')), + ('content_en', mezzanine.core.fields.RichTextField(null=True, verbose_name='Content')), + ('_order', mezzanine.core.fields.OrderField(null=True, verbose_name='Order')), + ('title', models.CharField(max_length=1024, verbose_name='title')), + ('title_fr', models.CharField(max_length=1024, null=True, verbose_name='title')), + ('title_en', models.CharField(max_length=1024, null=True, verbose_name='title')), + ('description', models.TextField(blank=True, verbose_name='description')), + ('with_separator', models.BooleanField(default=False)), + ('background_color', models.CharField(blank=True, choices=[('black', 'black'), ('yellow', 'yellow'), ('red', 'red')], max_length=32, verbose_name='background color')), + ('project', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='blocks', to='organization-projects.Project', verbose_name='project')), + ], + options={ + 'ordering': ('_order',), + }, + ), + migrations.CreateModel( + name='ProjectImage', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('_order', mezzanine.core.fields.OrderField(null=True, verbose_name='Order')), + ('description', models.TextField(blank=True, verbose_name='description')), + ('description_fr', models.TextField(blank=True, null=True, verbose_name='description')), + ('description_en', models.TextField(blank=True, null=True, verbose_name='description')), + ('file', mezzanine.core.fields.FileField(max_length=1024, verbose_name='Image')), + ('credits', models.CharField(blank=True, max_length=256, null=True, verbose_name='credits')), + ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='images', to='organization-projects.Project')), + ], + options={ + 'ordering': ('_order',), + }, + ), + migrations.CreateModel( + name='ProjectLink', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('url', models.URLField(verbose_name='URL')), + ('link_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-core.LinkType', verbose_name='link type')), + ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='links', to='organization-projects.Project')), + ], + options={ + 'verbose_name_plural': 'links', + 'abstract': False, + 'verbose_name': 'link', + }, + ), + ] diff --git a/app/organization/team/nationalities/__init__.py b/app/organization/projects/migrations/__init__.py similarity index 100% rename from app/organization/team/nationalities/__init__.py rename to app/organization/projects/migrations/__init__.py diff --git a/app/organization/project/models.py b/app/organization/projects/models.py similarity index 65% rename from app/organization/project/models.py rename to app/organization/projects/models.py index c0e4d6e0..36826646 100644 --- a/app/organization/project/models.py +++ b/app/organization/projects/models.py @@ -11,10 +11,10 @@ from organization.core.models import * class Project(Displayable, Period, RichText): """(Project description)""" - lead_team = models.ForeignKey('organization-team.Team', verbose_name=_('lead team'), related_name='leader_projects', blank=True, null=True) - persons = models.ManyToManyField('organization-team.Person', verbose_name=_('persons'), blank=True) - teams = models.ManyToManyField('organization-team.Team', verbose_name=_('teams'), related_name='patner_projects', blank=True) - organizations = models.ManyToManyField('organization-team.Organization', verbose_name=_('organizations'), blank=True) + lead_team = models.ForeignKey('organization-network.Team', verbose_name=_('lead team'), related_name='leader_projects', blank=True, null=True) + persons = models.ManyToManyField('organization-network.Person', verbose_name=_('persons'), blank=True) + teams = models.ManyToManyField('organization-network.Team', verbose_name=_('teams'), related_name='patner_projects', blank=True) + organizations = models.ManyToManyField('organization-network.Organization', verbose_name=_('organizations'), blank=True) website = models.URLField(_('website'), max_length=512, blank=True) class Meta: diff --git a/app/organization/team/tests.py b/app/organization/projects/tests.py similarity index 100% rename from app/organization/team/tests.py rename to app/organization/projects/tests.py diff --git a/app/organization/project/translation.py b/app/organization/projects/translation.py similarity index 92% rename from app/organization/project/translation.py rename to app/organization/projects/translation.py index cb835d1a..b5bc433e 100644 --- a/app/organization/project/translation.py +++ b/app/organization/projects/translation.py @@ -1,6 +1,6 @@ from modeltranslation.translator import translator, register, TranslationOptions -from organization.project.models import * +from organization.projects.models import * @register(Project) diff --git a/app/organization/project/urls.py b/app/organization/projects/urls.py similarity index 78% rename from app/organization/project/urls.py rename to app/organization/projects/urls.py index 0ccbd110..b1aad884 100644 --- a/app/organization/project/urls.py +++ b/app/organization/projects/urls.py @@ -7,8 +7,8 @@ from django.conf.urls.i18n import i18n_patterns from mezzanine.core.views import direct_to_template from mezzanine.conf import settings -from organization.project.views import * +from organization.projects.views import * urlpatterns = [ - url("^project/detail/(?P.*)/$", ProjectDetailView.as_view(), name='organization-project-detail'), + url("^project/detail/(?P.*)/$", ProjectDetailView.as_view(), name='organization-projects-project-detail'), ] diff --git a/app/organization/project/views.py b/app/organization/projects/views.py similarity index 88% rename from app/organization/project/views.py rename to app/organization/projects/views.py index 73898ff4..4a43447b 100644 --- a/app/organization/project/views.py +++ b/app/organization/projects/views.py @@ -1,6 +1,6 @@ from django.shortcuts import render -from organization.project.models import * +from organization.projects.models import * from organization.core.views import * diff --git a/app/organization/team/apps.py b/app/organization/team/apps.py deleted file mode 100644 index 38c45219..00000000 --- a/app/organization/team/apps.py +++ /dev/null @@ -1,9 +0,0 @@ -from __future__ import unicode_literals - -from django.apps import AppConfig - - -class teamConfig(AppConfig): - - name = 'organization.team' - label = 'organization-team' diff --git a/app/organization/team/migrations/0001_initial.py b/app/organization/team/migrations/0001_initial.py deleted file mode 100644 index 2a2dac6e..00000000 --- a/app/organization/team/migrations/0001_initial.py +++ /dev/null @@ -1,208 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-07-14 16:55 -from __future__ import unicode_literals - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion -import django_countries.fields -import mezzanine.core.fields -import mezzanine.utils.models - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('sites', '0002_alter_domain_unique'), - ] - - operations = [ - migrations.CreateModel( - name='Activity', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('content', mezzanine.core.fields.RichTextField(verbose_name='Content')), - ('content_fr', mezzanine.core.fields.RichTextField(null=True, verbose_name='Content')), - ('content_en', mezzanine.core.fields.RichTextField(null=True, verbose_name='Content')), - ('date_begin', models.DateField(blank=True, null=True, verbose_name='begin date')), - ('date_end', models.DateField(blank=True, null=True, verbose_name='end date')), - ('role', models.CharField(blank=True, max_length=512, verbose_name='role')), - ('description', models.TextField(blank=True, verbose_name='work')), - ('description_fr', models.TextField(blank=True, null=True, verbose_name='work')), - ('description_en', models.TextField(blank=True, null=True, verbose_name='work')), - ], - options={ - 'abstract': False, - }, - ), - migrations.CreateModel( - name='Address', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('address', models.TextField(blank=True, verbose_name='address')), - ('postal_code', models.CharField(blank=True, max_length=16, verbose_name='postal code')), - ('country', django_countries.fields.CountryField(max_length=2, verbose_name='country')), - ], - ), - migrations.CreateModel( - name='Department', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=512, verbose_name='name')), - ('name_fr', models.CharField(max_length=512, null=True, verbose_name='name')), - ('name_en', models.CharField(max_length=512, null=True, verbose_name='name')), - ('description', models.TextField(blank=True, verbose_name='description')), - ('description_fr', models.TextField(blank=True, null=True, verbose_name='description')), - ('description_en', models.TextField(blank=True, null=True, verbose_name='description')), - ('url', models.URLField(blank=True, max_length=512, verbose_name='URL')), - ('weaving_css_class', models.CharField(blank=True, max_length=64, verbose_name='weaving CSS class')), - ], - options={ - 'verbose_name': 'department', - }, - ), - migrations.CreateModel( - name='Link', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('url', models.URLField(verbose_name='URL')), - ], - ), - migrations.CreateModel( - name='LinkType', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=256, verbose_name='Name')), - ('slug', models.SlugField(blank=True, help_text='Use this field to define a simple identifier that can be used to style the different link types (i.e. assign social media icons to them)', max_length=256, verbose_name='Slug')), - ('ordering', models.PositiveIntegerField(blank=True, null=True, verbose_name='Ordering')), - ], - options={ - 'ordering': ['ordering'], - }, - ), - migrations.CreateModel( - name='Nationality', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=128, verbose_name='name')), - ], - ), - migrations.CreateModel( - name='OrganizationType', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=512, verbose_name='name')), - ('description', models.TextField(blank=True, verbose_name='description')), - ], - options={ - 'verbose_name': 'organization type', - }, - ), - migrations.CreateModel( - name='Person', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('keywords_string', models.CharField(blank=True, editable=False, max_length=500)), - ('title', models.CharField(max_length=500, verbose_name='Title')), - ('slug', models.CharField(blank=True, help_text='Leave blank to have the URL auto-generated from the title.', max_length=2000, null=True, verbose_name='URL')), - ('_meta_title', models.CharField(blank=True, help_text='Optional title to be used in the HTML title tag. If left blank, the main title field will be used.', max_length=500, null=True, verbose_name='Title')), - ('description', models.TextField(blank=True, verbose_name='Description')), - ('gen_description', models.BooleanField(default=True, help_text='If checked, the description will be automatically generated from content. Uncheck if you want to manually set a custom description.', verbose_name='Generate description')), - ('created', models.DateTimeField(editable=False, null=True)), - ('updated', models.DateTimeField(editable=False, null=True)), - ('status', models.IntegerField(choices=[(1, 'Draft'), (2, 'Published')], default=2, help_text='With Draft chosen, will only be shown for admin users on the site.', verbose_name='Status')), - ('publish_date', models.DateTimeField(blank=True, db_index=True, help_text="With Published chosen, won't be shown until this time", null=True, verbose_name='Published from')), - ('expiry_date', models.DateTimeField(blank=True, help_text="With Published chosen, won't be shown after this time", null=True, verbose_name='Expires on')), - ('short_url', models.URLField(blank=True, null=True)), - ('in_sitemap', models.BooleanField(default=True, verbose_name='Show in sitemap')), - ('photo', mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='photo')), - ('photo_credits', models.CharField(blank=True, max_length=255, null=True, verbose_name='photo credits')), - ('photo_alignment', models.CharField(blank=True, choices=[('left', 'left'), ('center', 'center'), ('right', 'right')], default='left', max_length=32, verbose_name='photo alignment')), - ('photo_description', models.TextField(blank=True, verbose_name='photo description')), - ('photo_card', mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='card photo')), - ('photo_card_credits', models.CharField(blank=True, max_length=255, null=True, verbose_name='photo card credits')), - ('photo_slider', mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='slider photo')), - ('photo_slider_credits', models.CharField(blank=True, max_length=255, null=True, verbose_name='photo slider credits')), - ('person_title', models.CharField(blank=True, choices=[('Dr', 'Dr'), ('Prof', 'Prof'), ('Prof Dr', 'Prof Dr')], max_length=16, verbose_name='title')), - ('gender', models.CharField(blank=True, choices=[('male', 'male'), ('female', 'female')], max_length=16, verbose_name='gender')), - ('first_name', models.CharField(blank=True, max_length=255, null=True, verbose_name='first name')), - ('last_name', models.CharField(blank=True, max_length=255, null=True, verbose_name='last name')), - ('birthday', models.DateField(blank=True, verbose_name='birthday')), - ('bio', mezzanine.core.fields.RichTextField(blank=True, verbose_name='biography')), - ('bio_fr', mezzanine.core.fields.RichTextField(blank=True, null=True, verbose_name='biography')), - ('bio_en', mezzanine.core.fields.RichTextField(blank=True, null=True, verbose_name='biography')), - ('site', models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.Site')), - ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='user')), - ], - options={ - 'verbose_name': 'person', - 'ordering': ['last_name'], - }, - bases=(mezzanine.utils.models.AdminThumbMixin, models.Model), - ), - migrations.CreateModel( - name='Team', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=512, verbose_name='name')), - ('name_fr', models.CharField(max_length=512, null=True, verbose_name='name')), - ('name_en', models.CharField(max_length=512, null=True, verbose_name='name')), - ('description', models.TextField(blank=True, verbose_name='description')), - ('description_fr', models.TextField(blank=True, null=True, verbose_name='description')), - ('description_en', models.TextField(blank=True, null=True, verbose_name='description')), - ('department', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-team.Department', verbose_name='department')), - ], - options={ - 'abstract': False, - }, - ), - migrations.CreateModel( - name='Organization', - fields=[ - ('address_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='organization-team.Address')), - ('name', models.CharField(max_length=512, verbose_name='name')), - ('description', models.TextField(blank=True, verbose_name='description')), - ('description_fr', models.TextField(blank=True, null=True, verbose_name='description')), - ('description_en', models.TextField(blank=True, null=True, verbose_name='description')), - ('url', models.URLField(blank=True, max_length=512, verbose_name='URL')), - ('type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-team.OrganizationType', verbose_name='organization type')), - ], - options={ - 'verbose_name': 'organization', - }, - bases=('organization-team.address', models.Model), - ), - migrations.AddField( - model_name='link', - name='link_type', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-team.LinkType', verbose_name='Link type'), - ), - migrations.AddField( - model_name='link', - name='person', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-team.Person', verbose_name='Person'), - ), - migrations.AddField( - model_name='activity', - name='person', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-team.Person', verbose_name='person'), - ), - migrations.AddField( - model_name='activity', - name='teams', - field=models.ManyToManyField(to='organization-team.Team', verbose_name='teams'), - ), - migrations.AddField( - model_name='person', - name='organization', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-team.Organization', verbose_name='organization'), - ), - migrations.AddField( - model_name='department', - name='organization', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-team.Organization', verbose_name='organization'), - ), - ] diff --git a/app/organization/team/migrations/0002_auto_20160714_1905.py b/app/organization/team/migrations/0002_auto_20160714_1905.py deleted file mode 100644 index faca81fa..00000000 --- a/app/organization/team/migrations/0002_auto_20160714_1905.py +++ /dev/null @@ -1,71 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-07-14 17:05 -from __future__ import unicode_literals - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('organization-team', '0001_initial'), - ] - - operations = [ - migrations.RemoveField( - model_name='person', - name='_meta_title', - ), - migrations.RemoveField( - model_name='person', - name='created', - ), - migrations.RemoveField( - model_name='person', - name='description', - ), - migrations.RemoveField( - model_name='person', - name='expiry_date', - ), - migrations.RemoveField( - model_name='person', - name='gen_description', - ), - migrations.RemoveField( - model_name='person', - name='in_sitemap', - ), - migrations.RemoveField( - model_name='person', - name='keywords_string', - ), - migrations.RemoveField( - model_name='person', - name='publish_date', - ), - migrations.RemoveField( - model_name='person', - name='short_url', - ), - migrations.RemoveField( - model_name='person', - name='site', - ), - migrations.RemoveField( - model_name='person', - name='slug', - ), - migrations.RemoveField( - model_name='person', - name='status', - ), - migrations.RemoveField( - model_name='person', - name='title', - ), - migrations.RemoveField( - model_name='person', - name='updated', - ), - ] diff --git a/app/organization/team/migrations/0003_auto_20160714_1943.py b/app/organization/team/migrations/0003_auto_20160714_1943.py deleted file mode 100644 index 0b2c300b..00000000 --- a/app/organization/team/migrations/0003_auto_20160714_1943.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-07-14 17:43 -from __future__ import unicode_literals - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('organization-team', '0002_auto_20160714_1905'), - ] - - operations = [ - migrations.RenameField( - model_name='person', - old_name='person_title', - new_name='title', - ), - ] diff --git a/app/organization/team/migrations/0004_auto_20160715_1807.py b/app/organization/team/migrations/0004_auto_20160715_1807.py deleted file mode 100644 index 1150a2d8..00000000 --- a/app/organization/team/migrations/0004_auto_20160715_1807.py +++ /dev/null @@ -1,128 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-07-15 16:07 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion -import mezzanine.core.fields -import organization.team.nationalities.fields - - -class Migration(migrations.Migration): - - dependencies = [ - ('organization-team', '0003_auto_20160714_1943'), - ] - - operations = [ - migrations.DeleteModel( - name='Nationality', - ), - migrations.AlterModelOptions( - name='activity', - options={'verbose_name': 'activity'}, - ), - migrations.AlterModelOptions( - name='link', - options={'verbose_name': 'link'}, - ), - migrations.AlterModelOptions( - name='team', - options={'verbose_name': 'team'}, - ), - migrations.AddField( - model_name='organization', - name='photo', - field=mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='photo'), - ), - migrations.AddField( - model_name='organization', - name='photo_alignment', - field=models.CharField(blank=True, choices=[('left', 'left'), ('center', 'center'), ('right', 'right')], default='left', max_length=32, verbose_name='photo alignment'), - ), - migrations.AddField( - model_name='organization', - name='photo_card', - field=mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='card photo'), - ), - migrations.AddField( - model_name='organization', - name='photo_card_credits', - field=models.CharField(blank=True, max_length=255, null=True, verbose_name='photo card credits'), - ), - migrations.AddField( - model_name='organization', - name='photo_credits', - field=models.CharField(blank=True, max_length=255, null=True, verbose_name='photo credits'), - ), - migrations.AddField( - model_name='organization', - name='photo_description', - field=models.TextField(blank=True, verbose_name='photo description'), - ), - migrations.AddField( - model_name='organization', - name='photo_slider', - field=mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='slider photo'), - ), - migrations.AddField( - model_name='organization', - name='photo_slider_credits', - field=models.CharField(blank=True, max_length=255, null=True, verbose_name='photo slider credits'), - ), - migrations.AddField( - model_name='person', - name='nationality', - field=organization.team.nationalities.fields.NationalityField(blank=True, choices=[('AF', 'Afghan'), ('AL', 'Albanian'), ('DZ', 'Algerian'), ('AD', 'Andorran'), ('AO', 'Angolan'), ('AR', 'Argentinian'), ('AM', 'Armenian'), ('AU', 'Australian'), ('AT', 'Austrian'), ('AZ', 'Azerbaijani'), ('BS', 'Bahamian'), ('BH', 'Bahraini'), ('BD', 'Bangladeshi'), ('BB', 'Barbadian'), ('BY', 'Belorussian'), ('BE', 'Belgian'), ('BZ', 'Belizian'), ('BJ', 'Beninese'), ('BT', 'Bhutanese'), ('BO', 'Bolivian'), ('BA', 'Bosnian'), ('BW', 'Botswanan'), ('BR', 'Brazilian'), ('GB', 'British'), ('BN', 'Bruneian'), ('BG', 'Bulgarian'), ('BF', 'Burkinese'), ('MM', 'Burmese'), ('BF', 'Burundian'), ('BI', 'Cambodian'), ('CM', 'Cameroonian'), ('CA', 'Canadian'), ('CV', 'Cape Verdean'), ('TD', 'Chadian'), ('CL', 'Chilean'), ('CN', 'Chinese'), ('CO', 'Colombian'), ('CG', 'Congolese'), ('CR', 'Costa Rican'), ('HR', 'Croatian'), ('CU', 'Cuban'), ('CY', 'Cypriot'), ('CZ', 'Czech'), ('DK', 'Danish'), ('DJ', 'Djiboutian'), ('DM', 'Dominican'), ('DO', 'Dominican'), ('EC', 'Ecuadorean'), ('EG', 'Egyptian'), ('SV', 'Salvadorean'), ('GB', 'English'), ('ER', 'Eritrean'), ('EE', 'Estonian'), ('ET', 'Ethiopian'), ('FJ', 'Fijian'), ('FI', 'Finnish'), ('FR', 'French'), ('GA', 'Gabonese'), ('GM', 'Gambian'), ('GE', 'Georgian'), ('DE', 'German'), ('GH', 'Ghanaian'), ('GR', 'Greek'), ('GD', 'Grenadian'), ('GT', 'Guatemalan'), ('GQ', 'Guinean'), ('GY', 'Guyanese'), ('HT', 'Haitian'), ('NL', 'Dutch'), ('HN', 'Honduran'), ('HU', 'Hungarian'), ('IS', 'Icelandic'), ('IO', 'Indian'), ('ID', 'Indonesian'), ('IR', 'Iranian'), ('IQ', 'Iraqi'), ('IE', 'Irish'), ('IL', 'Israeli'), ('IT', 'Italian'), ('JM', 'Jamaican'), ('JP', 'Japanese'), ('JO', 'Jordanian'), ('KZ', 'Kazakh'), ('KE', 'Kenyan'), ('KW', 'Kuwaiti'), ('LA', 'Laotian'), ('LV', 'Latvian'), ('LB', 'Lebanese'), ('LR', 'Liberian'), ('LY', 'Libyan'), ('LT', 'Lithuanian'), ('MK', 'Macedonian'), ('MG', 'Malagasay'), ('MW', 'Malawian'), ('MY', 'Malaysian'), ('MV', 'Maldivian'), ('ML', 'Malian'), ('MT', 'Maltese'), ('MR', 'Mauritanian'), ('MU', 'Mauritian'), ('MX', 'Mexican'), ('MD', 'Moldovan'), ('MC', 'Monacan'), ('MN', 'Mongolian'), ('ME', 'Montenegrin'), ('MA', 'Moroccan'), ('MZ', 'Mozambican'), ('NA', 'Namibian'), ('NP', 'Nepalese'), ('NI', 'Nicaraguan'), ('NE', 'Nigerien'), ('NG', 'Nigerian'), ('KP', 'North Korean'), ('NO', 'Norwegian'), ('OM', 'Omani'), ('PK', 'Pakistani'), ('PA', 'Panamanian'), ('PG', 'Guinean'), ('PY', 'Paraguayan'), ('PE', 'Peruvian'), ('PH', 'Philippine'), ('PL', 'Polish'), ('PT', 'Portuguese'), ('QA', 'Qatari'), ('RO', 'Romanian'), ('RU', 'Russian'), ('RW', 'Rwandan'), ('SA', 'Saudi'), ('AE', 'Scottish'), ('SN', 'Senegalese'), ('RS', 'Serbian'), ('SC', 'Seychellois'), ('SL', 'Sierra Leonian'), ('SG', 'Singaporean'), ('SK', 'Slovak'), ('SI', 'Slovenian'), ('SO', 'Somali'), ('ZA', 'South African'), ('KR', 'South Korean'), ('ES', 'Spanish'), ('LK', 'Sri Lankan'), ('SD', 'Sudanese'), ('SR', 'Surinamese'), ('SZ', 'Swazi'), ('SE', 'Swedish'), ('CH', 'Swiss'), ('SY', 'Syrian'), ('TW', 'Taiwanese'), ('TJ', 'Tadjik'), ('TZ', 'Tanzanian'), ('TH', 'Thai'), ('TG', 'Togolese'), ('TT', 'Trinidadian'), ('TN', 'Tunisian'), ('TR', 'Turkish'), ('TM', 'Turkmen'), ('TV', 'Tuvaluan'), ('UG', 'Ugandan'), ('UA', 'Ukrainian'), ('UY', 'Uruguayan'), ('UZ', 'Uzbek'), ('VU', 'Vanuatuan'), ('VE', 'Venezuelan'), ('VN', 'Vietnamese'), ('GB', 'Welsh'), ('YE', 'Yemeni'), ('ZM', 'Zambian'), ('ZW', 'Zimbabwean')], max_length=2, verbose_name='nationality'), - ), - migrations.AddField( - model_name='team', - name='partner_organizations', - field=models.ManyToManyField(blank=True, to='organization-team.Organization', verbose_name='partner organizations'), - ), - migrations.AddField( - model_name='team', - name='partner_teams', - field=models.ManyToManyField(blank=True, to='organization-team.Team', verbose_name='partner teams'), - ), - migrations.AlterField( - model_name='activity', - name='description', - field=models.TextField(blank=True, verbose_name='description'), - ), - migrations.AlterField( - model_name='activity', - name='description_en', - field=models.TextField(blank=True, null=True, verbose_name='description'), - ), - migrations.AlterField( - model_name='activity', - name='description_fr', - field=models.TextField(blank=True, null=True, verbose_name='description'), - ), - migrations.AlterField( - model_name='link', - name='link_type', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-team.LinkType', verbose_name='link type'), - ), - migrations.AlterField( - model_name='link', - name='person', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-team.Person', verbose_name='person'), - ), - migrations.AlterField( - model_name='linktype', - name='name', - field=models.CharField(max_length=256, verbose_name='name'), - ), - migrations.AlterField( - model_name='linktype', - name='ordering', - field=models.PositiveIntegerField(blank=True, null=True, verbose_name='ordering'), - ), - migrations.AlterField( - model_name='linktype', - name='slug', - field=models.SlugField(blank=True, help_text='Use this field to define a simple identifier that can be used to style the different link types (i.e. assign social media icons to them)', max_length=256, verbose_name='slug'), - ), - ] diff --git a/app/organization/team/migrations/0005_remove_person_nationality.py b/app/organization/team/migrations/0005_remove_person_nationality.py deleted file mode 100644 index 78bda7a6..00000000 --- a/app/organization/team/migrations/0005_remove_person_nationality.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-07-15 16:15 -from __future__ import unicode_literals - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('organization-team', '0004_auto_20160715_1807'), - ] - - operations = [ - migrations.RemoveField( - model_name='person', - name='nationality', - ), - ] diff --git a/app/organization/team/migrations/0006_auto_20160720_2136.py b/app/organization/team/migrations/0006_auto_20160720_2136.py deleted file mode 100644 index b68db6b9..00000000 --- a/app/organization/team/migrations/0006_auto_20160720_2136.py +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-07-20 19:36 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('organization-team', '0005_remove_person_nationality'), - ] - - operations = [ - migrations.AddField( - model_name='organization', - name='is_on_map', - field=models.BooleanField(default=True, verbose_name='is on map'), - ), - migrations.AlterField( - model_name='person', - name='birthday', - field=models.DateField(blank=True, null=True, verbose_name='birthday'), - ), - ] diff --git a/app/organization/team/migrations/0007_auto_20160721_1351.py b/app/organization/team/migrations/0007_auto_20160721_1351.py deleted file mode 100644 index c3a6a373..00000000 --- a/app/organization/team/migrations/0007_auto_20160721_1351.py +++ /dev/null @@ -1,116 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-07-21 11:51 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('sites', '0002_alter_domain_unique'), - ('organization-team', '0006_auto_20160720_2136'), - ] - - operations = [ - migrations.RemoveField( - model_name='department', - name='name', - ), - migrations.RemoveField( - model_name='department', - name='name_en', - ), - migrations.RemoveField( - model_name='department', - name='name_fr', - ), - migrations.RemoveField( - model_name='organization', - name='name', - ), - migrations.RemoveField( - model_name='team', - name='name', - ), - migrations.RemoveField( - model_name='team', - name='name_en', - ), - migrations.RemoveField( - model_name='team', - name='name_fr', - ), - migrations.AddField( - model_name='department', - name='site', - field=models.ForeignKey(default=1, editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.Site'), - preserve_default=False, - ), - migrations.AddField( - model_name='department', - name='slug', - field=models.CharField(blank=True, help_text='Leave blank to have the URL auto-generated from the title.', max_length=2000, null=True, verbose_name='URL'), - ), - migrations.AddField( - model_name='department', - name='title', - field=models.CharField(default='', max_length=500, verbose_name='Title'), - preserve_default=False, - ), - migrations.AddField( - model_name='department', - name='title_en', - field=models.CharField(max_length=500, null=True, verbose_name='Title'), - ), - migrations.AddField( - model_name='department', - name='title_fr', - field=models.CharField(max_length=500, null=True, verbose_name='Title'), - ), - migrations.AddField( - model_name='organization', - name='site', - field=models.ForeignKey(default=1, editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.Site'), - preserve_default=False, - ), - migrations.AddField( - model_name='organization', - name='slug', - field=models.CharField(blank=True, help_text='Leave blank to have the URL auto-generated from the title.', max_length=2000, null=True, verbose_name='URL'), - ), - migrations.AddField( - model_name='organization', - name='title', - field=models.CharField(default='', max_length=500, verbose_name='Title'), - preserve_default=False, - ), - migrations.AddField( - model_name='team', - name='site', - field=models.ForeignKey(default=1, editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.Site'), - preserve_default=False, - ), - migrations.AddField( - model_name='team', - name='slug', - field=models.CharField(blank=True, help_text='Leave blank to have the URL auto-generated from the title.', max_length=2000, null=True, verbose_name='URL'), - ), - migrations.AddField( - model_name='team', - name='title', - field=models.CharField(default='', max_length=500, verbose_name='Title'), - preserve_default=False, - ), - migrations.AddField( - model_name='team', - name='title_en', - field=models.CharField(max_length=500, null=True, verbose_name='Title'), - ), - migrations.AddField( - model_name='team', - name='title_fr', - field=models.CharField(max_length=500, null=True, verbose_name='Title'), - ), - ] diff --git a/app/organization/team/migrations/0008_auto_20160725_0117.py b/app/organization/team/migrations/0008_auto_20160725_0117.py deleted file mode 100644 index f9e1dd21..00000000 --- a/app/organization/team/migrations/0008_auto_20160725_0117.py +++ /dev/null @@ -1,217 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-07-24 23:17 -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', '0001_initial'), - ('sites', '0002_alter_domain_unique'), - ('organization-team', '0007_auto_20160721_1351'), - ] - - operations = [ - migrations.AlterModelOptions( - name='department', - options={'ordering': ('_order',), 'verbose_name': 'department'}, - ), - migrations.AlterModelOptions( - name='team', - options={'ordering': ('_order',), 'verbose_name': 'team'}, - ), - migrations.RemoveField( - model_name='department', - name='description', - ), - migrations.RemoveField( - model_name='department', - name='description_en', - ), - migrations.RemoveField( - model_name='department', - name='description_fr', - ), - migrations.RemoveField( - model_name='department', - name='id', - ), - migrations.RemoveField( - model_name='department', - name='site', - ), - migrations.RemoveField( - model_name='department', - name='slug', - ), - migrations.RemoveField( - model_name='department', - name='title', - ), - migrations.RemoveField( - model_name='department', - name='title_en', - ), - migrations.RemoveField( - model_name='department', - name='title_fr', - ), - migrations.RemoveField( - model_name='organizationtype', - name='description', - ), - migrations.RemoveField( - model_name='team', - name='department', - ), - migrations.RemoveField( - model_name='team', - name='description', - ), - migrations.RemoveField( - model_name='team', - name='description_en', - ), - migrations.RemoveField( - model_name='team', - name='description_fr', - ), - migrations.RemoveField( - model_name='team', - name='id', - ), - migrations.RemoveField( - model_name='team', - name='site', - ), - migrations.RemoveField( - model_name='team', - name='slug', - ), - migrations.RemoveField( - model_name='team', - name='title', - ), - migrations.RemoveField( - model_name='team', - name='title_en', - ), - migrations.RemoveField( - model_name='team', - name='title_fr', - ), - migrations.AddField( - model_name='department', - name='content', - field=mezzanine.core.fields.RichTextField(default='', verbose_name='Content'), - preserve_default=False, - ), - migrations.AddField( - model_name='department', - name='page_ptr', - field=models.OneToOneField(auto_created=True, default=1, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='pages.Page'), - preserve_default=False, - ), - migrations.AddField( - model_name='department', - name='sub_title', - field=models.TextField(blank=True, max_length=1024, verbose_name='sub title'), - ), - migrations.AddField( - model_name='person', - name='_meta_title', - field=models.CharField(blank=True, help_text='Optional title to be used in the HTML title tag. If left blank, the main title field will be used.', max_length=500, null=True, verbose_name='Title'), - ), - migrations.AddField( - model_name='person', - name='created', - field=models.DateTimeField(editable=False, null=True), - ), - migrations.AddField( - model_name='person', - name='description', - field=models.TextField(blank=True, verbose_name='Description'), - ), - migrations.AddField( - model_name='person', - name='expiry_date', - field=models.DateTimeField(blank=True, help_text="With Published chosen, won't be shown after this time", null=True, verbose_name='Expires on'), - ), - migrations.AddField( - model_name='person', - name='gen_description', - field=models.BooleanField(default=True, help_text='If checked, the description will be automatically generated from content. Uncheck if you want to manually set a custom description.', verbose_name='Generate description'), - ), - migrations.AddField( - model_name='person', - name='in_sitemap', - field=models.BooleanField(default=True, verbose_name='Show in sitemap'), - ), - migrations.AddField( - model_name='person', - name='keywords_string', - field=models.CharField(blank=True, editable=False, max_length=500), - ), - migrations.AddField( - model_name='person', - name='person_title', - field=models.CharField(blank=True, choices=[('Dr', 'Dr'), ('Prof', 'Prof'), ('Prof Dr', 'Prof Dr')], max_length=16, verbose_name='title'), - ), - migrations.AddField( - model_name='person', - name='publish_date', - field=models.DateTimeField(blank=True, db_index=True, help_text="With Published chosen, won't be shown until this time", null=True, verbose_name='Published from'), - ), - migrations.AddField( - model_name='person', - name='short_url', - field=models.URLField(blank=True, null=True), - ), - migrations.AddField( - model_name='person', - name='site', - field=models.ForeignKey(default=1, editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.Site'), - preserve_default=False, - ), - migrations.AddField( - model_name='person', - name='slug', - field=models.CharField(blank=True, help_text='Leave blank to have the URL auto-generated from the title.', max_length=2000, null=True, verbose_name='URL'), - ), - migrations.AddField( - model_name='person', - name='status', - field=models.IntegerField(choices=[(1, 'Draft'), (2, 'Published')], default=2, help_text='With Draft chosen, will only be shown for admin users on the site.', verbose_name='Status'), - ), - migrations.AddField( - model_name='person', - name='updated', - field=models.DateTimeField(editable=False, null=True), - ), - migrations.AddField( - model_name='team', - name='content', - field=mezzanine.core.fields.RichTextField(default='', verbose_name='Content'), - preserve_default=False, - ), - migrations.AddField( - model_name='team', - name='page_ptr', - field=models.OneToOneField(auto_created=True, default=1, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='pages.Page'), - preserve_default=False, - ), - migrations.AddField( - model_name='team', - name='sub_title', - field=models.TextField(blank=True, max_length=1024, verbose_name='sub title'), - ), - migrations.AlterField( - model_name='person', - name='title', - field=models.CharField(max_length=500, verbose_name='Title'), - ), - ] diff --git a/app/organization/team/migrations/0009_auto_20160725_0143.py b/app/organization/team/migrations/0009_auto_20160725_0143.py deleted file mode 100644 index 409e9859..00000000 --- a/app/organization/team/migrations/0009_auto_20160725_0143.py +++ /dev/null @@ -1,36 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-07-24 23:43 -from __future__ import unicode_literals - -from django.db import migrations -import mezzanine.core.fields - - -class Migration(migrations.Migration): - - dependencies = [ - ('organization-team', '0008_auto_20160725_0117'), - ] - - operations = [ - migrations.AddField( - model_name='department', - name='content_en', - field=mezzanine.core.fields.RichTextField(null=True, verbose_name='Content'), - ), - migrations.AddField( - model_name='department', - name='content_fr', - field=mezzanine.core.fields.RichTextField(null=True, verbose_name='Content'), - ), - migrations.AddField( - model_name='team', - name='content_en', - field=mezzanine.core.fields.RichTextField(null=True, verbose_name='Content'), - ), - migrations.AddField( - model_name='team', - name='content_fr', - field=mezzanine.core.fields.RichTextField(null=True, verbose_name='Content'), - ), - ] diff --git a/app/organization/team/migrations/0010_auto_20160725_0201.py b/app/organization/team/migrations/0010_auto_20160725_0201.py deleted file mode 100644 index cc1284d3..00000000 --- a/app/organization/team/migrations/0010_auto_20160725_0201.py +++ /dev/null @@ -1,35 +0,0 @@ -# -*- 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/migrations/0011_auto_20160727_1631.py b/app/organization/team/migrations/0011_auto_20160727_1631.py deleted file mode 100644 index 6c37a93a..00000000 --- a/app/organization/team/migrations/0011_auto_20160727_1631.py +++ /dev/null @@ -1,96 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-07-27 14:31 -from __future__ import unicode_literals - -from django.db import migrations, models -import mezzanine.core.fields - - -class Migration(migrations.Migration): - - dependencies = [ - ('organization-team', '0010_auto_20160725_0201'), - ] - - operations = [ - migrations.AddField( - model_name='department', - name='photo', - field=mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='photo'), - ), - migrations.AddField( - model_name='department', - name='photo_alignment', - field=models.CharField(blank=True, choices=[('left', 'left'), ('center', 'center'), ('right', 'right')], default='left', max_length=32, verbose_name='photo alignment'), - ), - migrations.AddField( - model_name='department', - name='photo_card', - field=mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='card photo'), - ), - migrations.AddField( - model_name='department', - name='photo_card_credits', - field=models.CharField(blank=True, max_length=255, null=True, verbose_name='photo card credits'), - ), - migrations.AddField( - model_name='department', - name='photo_credits', - field=models.CharField(blank=True, max_length=255, null=True, verbose_name='photo credits'), - ), - migrations.AddField( - model_name='department', - name='photo_description', - field=models.TextField(blank=True, verbose_name='photo description'), - ), - migrations.AddField( - model_name='department', - name='photo_slider', - field=mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='slider photo'), - ), - migrations.AddField( - model_name='department', - name='photo_slider_credits', - field=models.CharField(blank=True, max_length=255, null=True, verbose_name='photo slider credits'), - ), - migrations.AddField( - model_name='team', - name='photo', - field=mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='photo'), - ), - migrations.AddField( - model_name='team', - name='photo_alignment', - field=models.CharField(blank=True, choices=[('left', 'left'), ('center', 'center'), ('right', 'right')], default='left', max_length=32, verbose_name='photo alignment'), - ), - migrations.AddField( - model_name='team', - name='photo_card', - field=mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='card photo'), - ), - migrations.AddField( - model_name='team', - name='photo_card_credits', - field=models.CharField(blank=True, max_length=255, null=True, verbose_name='photo card credits'), - ), - migrations.AddField( - model_name='team', - name='photo_credits', - field=models.CharField(blank=True, max_length=255, null=True, verbose_name='photo credits'), - ), - migrations.AddField( - model_name='team', - name='photo_description', - field=models.TextField(blank=True, verbose_name='photo description'), - ), - migrations.AddField( - model_name='team', - name='photo_slider', - field=mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='slider photo'), - ), - migrations.AddField( - model_name='team', - name='photo_slider_credits', - field=models.CharField(blank=True, max_length=255, null=True, verbose_name='photo slider credits'), - ), - ] diff --git a/app/organization/team/migrations/0012_auto_20160808_0118.py b/app/organization/team/migrations/0012_auto_20160808_0118.py deleted file mode 100644 index e18a1024..00000000 --- a/app/organization/team/migrations/0012_auto_20160808_0118.py +++ /dev/null @@ -1,60 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-08-07 23:18 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('organization-core', '0010_auto_20160808_0118'), - ('organization-team', '0011_auto_20160727_1631'), - ] - - operations = [ - migrations.CreateModel( - name='PersonLink', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('url', models.URLField(verbose_name='URL')), - ], - options={ - 'verbose_name': 'person link', - }, - ), - migrations.RemoveField( - model_name='link', - name='link_type', - ), - migrations.RemoveField( - model_name='link', - name='person', - ), - migrations.RemoveField( - model_name='organization', - name='url', - ), - migrations.AddField( - model_name='organization', - name='website', - field=models.URLField(blank=True, max_length=512, verbose_name='website'), - ), - migrations.DeleteModel( - name='Link', - ), - migrations.DeleteModel( - name='LinkType', - ), - migrations.AddField( - model_name='personlink', - name='link_type', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-core.LinkType', verbose_name='link type'), - ), - migrations.AddField( - model_name='personlink', - name='person', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-team.Person', verbose_name='person'), - ), - ] diff --git a/app/organization/team/migrations/0013_auto_20160809_1413.py b/app/organization/team/migrations/0013_auto_20160809_1413.py deleted file mode 100644 index d1e0a906..00000000 --- a/app/organization/team/migrations/0013_auto_20160809_1413.py +++ /dev/null @@ -1,76 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-08-09 12:13 -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 = [ - ('organization-core', '0011_auto_20160809_1413'), - ('organization-team', '0012_auto_20160808_0118'), - ] - - operations = [ - migrations.CreateModel( - name='PersonActivity', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('content', mezzanine.core.fields.RichTextField(verbose_name='Content')), - ('content_fr', mezzanine.core.fields.RichTextField(null=True, verbose_name='Content')), - ('content_en', mezzanine.core.fields.RichTextField(null=True, verbose_name='Content')), - ('description', models.TextField(blank=True, verbose_name='description')), - ('description_fr', models.TextField(blank=True, null=True, verbose_name='description')), - ('description_en', models.TextField(blank=True, null=True, verbose_name='description')), - ('date_begin', models.DateField(blank=True, null=True, verbose_name='begin date')), - ('date_end', models.DateField(blank=True, null=True, verbose_name='end date')), - ('role', models.CharField(blank=True, max_length=512, verbose_name='role')), - ], - options={ - 'verbose_name_plural': 'activities', - 'verbose_name': 'activity', - }, - ), - migrations.CreateModel( - name='TeamLink', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('url', models.URLField(verbose_name='URL')), - ('link_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-core.LinkType', verbose_name='link type')), - ('team', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-team.Team', verbose_name='links')), - ], - options={ - 'verbose_name': 'link', - 'verbose_name_plural': 'links', - 'abstract': False, - }, - ), - migrations.RemoveField( - model_name='activity', - name='person', - ), - migrations.RemoveField( - model_name='activity', - name='teams', - ), - migrations.RemoveField( - model_name='person', - name='organization', - ), - migrations.DeleteModel( - name='Activity', - ), - migrations.AddField( - model_name='personactivity', - name='person', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-team.Person', verbose_name='person'), - ), - migrations.AddField( - model_name='personactivity', - name='team', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-team.Team', verbose_name='team'), - ), - ] diff --git a/app/organization/team/migrations/0014_department_articles_related.py b/app/organization/team/migrations/0014_department_articles_related.py deleted file mode 100644 index 28c80956..00000000 --- a/app/organization/team/migrations/0014_department_articles_related.py +++ /dev/null @@ -1,21 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-08-10 16:26 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('organization-magazine', '0010_auto_20160808_0118'), - ('organization-team', '0013_auto_20160809_1413'), - ] - - operations = [ - migrations.AddField( - model_name='department', - name='articles_related', - field=models.ManyToManyField(blank=True, to='organization-magazine.Article', verbose_name='articles_related'), - ), - ] diff --git a/app/organization/team/migrations/0015_auto_20160810_1829.py b/app/organization/team/migrations/0015_auto_20160810_1829.py deleted file mode 100644 index 75d12bf2..00000000 --- a/app/organization/team/migrations/0015_auto_20160810_1829.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-08-10 16:29 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('organization-team', '0014_department_articles_related'), - ] - - operations = [ - migrations.AlterField( - model_name='department', - name='articles_related', - field=models.ManyToManyField(blank=True, to='organization-magazine.Article', verbose_name='Related articles'), - ), - ] diff --git a/app/organization/team/migrations/0016_auto_20160812_1521.py b/app/organization/team/migrations/0016_auto_20160812_1521.py deleted file mode 100644 index 98a083d7..00000000 --- a/app/organization/team/migrations/0016_auto_20160812_1521.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-08-12 13:21 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('organization-team', '0015_auto_20160810_1829'), - ] - - operations = [ - migrations.AlterField( - model_name='department', - name='weaving_css_class', - field=models.CharField(blank=True, choices=[('pattern-bg--circles', 'circles'), ('pattern-bg--squares', 'squares'), ('pattern-bg--stripes', 'stripes'), ('pattern-bg--triangles', 'triangles')], max_length=64, verbose_name='background pattern'), - ), - ] diff --git a/app/organization/team/migrations/0017_auto_20160823_0744.py b/app/organization/team/migrations/0017_auto_20160823_0744.py deleted file mode 100644 index 37e5cd90..00000000 --- a/app/organization/team/migrations/0017_auto_20160823_0744.py +++ /dev/null @@ -1,283 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-08-23 05:44 -from __future__ import unicode_literals - -import datetime -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('organization-project', '0007_auto_20160819_1920'), - ('organization-team', '0016_auto_20160812_1521'), - ] - - operations = [ - migrations.CreateModel( - name='ActivityFramework', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('description', models.TextField(blank=True, verbose_name='description')), - ('name', models.CharField(max_length=512, verbose_name='name')), - ], - options={ - 'verbose_name': 'activity framework', - }, - ), - migrations.CreateModel( - name='ActivityGrade', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('description', models.TextField(blank=True, verbose_name='description')), - ('name', models.CharField(max_length=512, verbose_name='name')), - ], - options={ - 'verbose_name': 'activity grade', - }, - ), - migrations.CreateModel( - name='ActivityStatus', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('description', models.TextField(blank=True, verbose_name='description')), - ('name', models.CharField(max_length=512, verbose_name='name')), - ], - options={ - 'verbose_name': 'activity status', - }, - ), - migrations.CreateModel( - name='BudgetCode', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('description', models.TextField(blank=True, verbose_name='description')), - ('name', models.CharField(max_length=512, verbose_name='name')), - ], - options={ - 'verbose_name': 'budget code', - }, - ), - migrations.CreateModel( - name='RecordPiece', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('description', models.TextField(blank=True, verbose_name='description')), - ('name', models.CharField(max_length=512, verbose_name='name')), - ], - options={ - 'verbose_name': 'record piece', - }, - ), - migrations.CreateModel( - name='TrainingLevel', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('description', models.TextField(blank=True, verbose_name='description')), - ('name', models.CharField(max_length=512, verbose_name='name')), - ], - options={ - 'verbose_name': 'training level', - }, - ), - migrations.CreateModel( - name='TrainingSpectiality', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('description', models.TextField(blank=True, verbose_name='description')), - ('name', models.CharField(max_length=512, verbose_name='name')), - ], - options={ - 'verbose_name': 'training speciality', - }, - ), - migrations.CreateModel( - name='TrainingTopic', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('description', models.TextField(blank=True, verbose_name='description')), - ('name', models.CharField(max_length=512, verbose_name='name')), - ], - options={ - 'verbose_name': 'training topic', - }, - ), - migrations.CreateModel( - name='TrainingType', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('description', models.TextField(blank=True, verbose_name='description')), - ('name', models.CharField(max_length=512, verbose_name='name')), - ], - options={ - 'verbose_name': 'training type', - }, - ), - migrations.RemoveField( - model_name='personactivity', - name='role', - ), - migrations.AddField( - model_name='person', - name='permanent', - field=models.BooleanField(default=False, verbose_name='permanent'), - ), - migrations.AddField( - model_name='personactivity', - name='attachment_organization', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='attachment_activity', to='organization-team.Organization', verbose_name='attachment organization'), - ), - migrations.AddField( - model_name='personactivity', - name='comments', - field=models.TextField(blank=True, verbose_name='comments'), - ), - migrations.AddField( - model_name='personactivity', - name='date_added', - field=models.DateTimeField(auto_now_add=True, default=datetime.datetime(2016, 8, 23, 7, 44, 31, 896290), verbose_name='add date'), - preserve_default=False, - ), - migrations.AddField( - model_name='personactivity', - name='date_modified', - field=models.DateTimeField(auto_now=True, default=datetime.datetime(2016, 8, 23, 7, 44, 41, 729673), verbose_name='modification date'), - preserve_default=False, - ), - migrations.AddField( - model_name='personactivity', - name='date_modified_manual', - field=models.DateTimeField(blank=True, null=True, verbose_name='manual modification date'), - ), - migrations.AddField( - model_name='personactivity', - name='employer', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='employer_activity', to='organization-team.Organization', verbose_name='employer'), - ), - migrations.AddField( - model_name='personactivity', - name='function', - field=models.CharField(blank=True, max_length=1024, verbose_name='fonction'), - ), - migrations.AddField( - model_name='personactivity', - name='hdr', - field=models.BooleanField(default=False, verbose_name='HDR'), - ), - migrations.AddField( - model_name='personactivity', - name='phd_defense_date', - field=models.DateField(blank=True, null=True, verbose_name='PhD defense date'), - ), - migrations.AddField( - model_name='personactivity', - name='phd_director', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='phd_director_activity', to='organization-team.Person', verbose_name='PhD director'), - ), - migrations.AddField( - model_name='personactivity', - name='phd_doctoral_school', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-team.Organization', verbose_name='doctoral school'), - ), - migrations.AddField( - model_name='personactivity', - name='phd_officer_1', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='phd_officer_1_activity', to='organization-team.Person', verbose_name='PhD officer 1'), - ), - migrations.AddField( - model_name='personactivity', - name='phd_officer_2', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='phd_officer_2_activity', to='organization-team.Person', verbose_name='PhD officer 2'), - ), - migrations.AddField( - model_name='personactivity', - name='phd_postdoctoralsituation', - field=models.CharField(blank=True, max_length=256, verbose_name='post-doctoral situation'), - ), - migrations.AddField( - model_name='personactivity', - name='phd_title', - field=models.TextField(blank=True, verbose_name='PhD title'), - ), - migrations.AddField( - model_name='personactivity', - name='project', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-project.Project', verbose_name='project'), - ), - migrations.AddField( - model_name='personactivity', - name='rd_program', - field=models.TextField(blank=True, verbose_name='R&D program'), - ), - migrations.AddField( - model_name='personactivity', - name='rd_quota', - field=models.IntegerField(blank=True, null=True, verbose_name='R&D quota'), - ), - migrations.AddField( - model_name='personactivity', - name='second_employer', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='second_employer_activity', to='organization-team.Organization', verbose_name='second employer'), - ), - migrations.AddField( - model_name='personactivity', - name='second_team', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='second_team_activity', to='organization-team.Team', verbose_name='second team'), - ), - migrations.AddField( - model_name='personactivity', - name='training_title', - field=models.TextField(blank=True, verbose_name='Training title'), - ), - migrations.AlterField( - model_name='personactivity', - name='team', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='team_activity', to='organization-team.Team', verbose_name='team'), - ), - migrations.AddField( - model_name='personactivity', - name='budget_code', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-team.BudgetCode'), - ), - migrations.AddField( - model_name='personactivity', - name='framework', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-team.ActivityFramework', verbose_name='framework'), - ), - migrations.AddField( - model_name='personactivity', - name='grade', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-team.ActivityGrade', verbose_name='grade'), - ), - migrations.AddField( - model_name='personactivity', - name='record_piece', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-team.RecordPiece'), - ), - migrations.AddField( - model_name='personactivity', - name='status', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-team.ActivityStatus', verbose_name='status'), - ), - migrations.AddField( - model_name='personactivity', - name='training_level', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-team.TrainingLevel', verbose_name='training level'), - ), - migrations.AddField( - model_name='personactivity', - name='training_speciality', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-team.TrainingSpectiality', verbose_name='training speciality'), - ), - migrations.AddField( - model_name='personactivity', - name='training_topic', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-team.TrainingTopic', verbose_name='training topic'), - ), - migrations.AddField( - model_name='personactivity', - name='training_type', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization-team.TrainingType', verbose_name='training type'), - ), - ] diff --git a/app/organization/urls.py b/app/organization/urls.py index 28fe59a3..af320802 100644 --- a/app/organization/urls.py +++ b/app/organization/urls.py @@ -17,6 +17,6 @@ urlpatterns = [ url("^", include('organization.festival.urls')), url("^", include('organization.magazine.urls')), url("^", include('organization.media.urls')), - url("^", include('organization.project.urls')), - url("^", include('organization.team.urls')), + url("^", include('organization.projects.urls')), + url("^", include('organization.network.urls')), ] diff --git a/app/settings.py b/app/settings.py index ded9b9ad..4b7fe385 100644 --- a/app/settings.py +++ b/app/settings.py @@ -228,11 +228,11 @@ INSTALLED_APPS = [ # "orderable", "organization.core", "organization.pages", - "organization.team", + "organization.network", "organization.festival", "organization.magazine", "organization.media", - "organization.project", + "organization.projects", ] diff --git a/app/templates/team/department_detail.html b/app/templates/network/department_detail.html similarity index 100% rename from app/templates/team/department_detail.html rename to app/templates/network/department_detail.html diff --git a/app/templates/team/department_list.html b/app/templates/network/department_list.html similarity index 100% rename from app/templates/team/department_list.html rename to app/templates/network/department_list.html diff --git a/app/templates/team/person_detail.html b/app/templates/network/person_detail.html similarity index 100% rename from app/templates/team/person_detail.html rename to app/templates/network/person_detail.html diff --git a/app/templates/team/person_list.html b/app/templates/network/person_list.html similarity index 100% rename from app/templates/team/person_list.html rename to app/templates/network/person_list.html diff --git a/app/templates/team/team_detail.html b/app/templates/network/team_detail.html similarity index 100% rename from app/templates/team/team_detail.html rename to app/templates/network/team_detail.html diff --git a/app/templates/team/team_list.html b/app/templates/network/team_list.html similarity index 100% rename from app/templates/team/team_list.html rename to app/templates/network/team_list.html diff --git a/app/templates/pages/department.html b/app/templates/pages/departmentpage.html similarity index 75% rename from app/templates/pages/department.html rename to app/templates/pages/departmentpage.html index 3a8b6733..b59643d9 100644 --- a/app/templates/pages/department.html +++ b/app/templates/pages/departmentpage.html @@ -20,35 +20,35 @@ {% endblock %} {% block body_class %} - pattern pattern-bg {{ page.department.weaving_css_class }} + pattern pattern-bg {{ page.departmentpage.weaving_css_class }} {% endblock %} {% block page_title %} - {% editable page.department.title %} -

{{ page.department.title }}

+ {% editable page.departmentpage.title %} +

{{ page.departmentpage.title }}

{% endeditable %} {% endblock %} {% block page_content %} - {% if page.department.sub_title %} - {% editable page.department.sub_title %} + {% if page.departmentpage.sub_title %} + {% editable page.departmentpage.sub_title %}
- {{ page.department.sub_title }} + {{ page.departmentpage.sub_title }}
{% endeditable %} {% endif %} - {% editable page.department.content %} - {{ page.department.content|richtext_filters|safe }} + {% editable page.departmentpage.content %} + {{ page.departmentpage.content|richtext_filters|safe }} {% endeditable %} {% endblock %} {% block page_slider %} - {% if page.department.pageimage_set.all %} - {% with page.department.pageimage_set.all as slider_images %} + {% if page.departmentpage.pageimage_set.all %} + {% with page.departmentpage.pageimage_set.all as slider_images %} {% include 'core/inc/slider.html' %} {% endwith %} {% endif %} @@ -56,13 +56,13 @@ {% block page_sub_content %} - {% if page.department.pageblock_set.all %} + {% if page.departmentpage.pageblock_set.all %}

- {% for pageblock in page.department.pageblock_set.all %} + {% for pageblock in page.departmentpage.pageblock_set.all %} {% if not forloop.first and pageblock.with_separator %}
{% endif %} @@ -83,8 +83,8 @@ {% block page_related_content %} - {% if page.department.articles_related.all %} - + {% if page.departmentpage.articles_related.all %} +
@@ -93,7 +93,7 @@
- {% for article in page.department.articles_related.all %} + {% for article in page.departmentpage.articles_related.all %}
{% include 'magazine/article/includes/article_card.html' %}
diff --git a/app/templates/pages/team.html b/app/templates/pages/teampage.html similarity index 80% rename from app/templates/pages/team.html rename to app/templates/pages/teampage.html index f8cbe12e..3b0f989d 100644 --- a/app/templates/pages/team.html +++ b/app/templates/pages/teampage.html @@ -21,15 +21,15 @@ {% block page_title %} - {% editable page.team.title %} -

{{ page.team.title }}

+ {% editable page.teampage.title %} +

{{ page.teampage.title }}

{% endeditable %} {% endblock %} {% block page_slider %} - {% if page.team.pageimage_set.all %} - {% with page.team.pageimage_set.all as slider_images %} + {% if page.teampage.pageimage_set.all %} + {% with page.teampage.pageimage_set.all as slider_images %} {% include 'core/inc/slider.html' %} {% endwith %} {% endif %} @@ -37,16 +37,16 @@ {% block page_content %} - {% if page.team.sub_title %} - {% editable page.team.sub_title %} + {% if page.teampage.sub_title %} + {% editable page.teampage.sub_title %}
- {{ page.team.sub_title }} + {{ page.teampage.sub_title }}
{% endeditable %} {% endif %} - {% editable page.team.content %} - {{ page.team.content|richtext_filters|safe }} + {% editable page.teampage.content %} + {{ page.teampage.content|richtext_filters|safe }} {% endeditable %} {% if page.get_ascendants|length == 1 %} @@ -66,13 +66,13 @@ {% block page_sub_content %} - {% if page.team.pageblock_set.all %} + {% if page.teampage.pageblock_set.all %}

- {% for pageblock in page.team.pageblock_set.all %} + {% for pageblock in page.teampage.pageblock_set.all %}
{% if not forloop.first and pageblock.with_separator %} diff --git a/app/templates/project/project_detail.html b/app/templates/projects/project_detail.html similarity index 100% rename from app/templates/project/project_detail.html rename to app/templates/projects/project_detail.html diff --git a/app/templates/project/project_list.html b/app/templates/projects/project_list.html similarity index 100% rename from app/templates/project/project_list.html rename to app/templates/projects/project_list.html diff --git a/docker-compose.yml b/docker-compose.yml index 0ea2016f..cf3df696 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -44,7 +44,7 @@ app: volumes: - ./app/:/srv/app - ./lib/mezzanine-agenda/:/srv/lib/mezzanine-agenda - # - ./lib/mezzanine/:/srv/lib/mezzanine + - ./lib/mezzanine/:/srv/lib/mezzanine volumes_from: - data expose: -- 2.39.5