From 396e7a289fd0c4fe6bd9c98a284623669505e90e Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Fri, 16 Dec 2016 16:09:21 +0100 Subject: [PATCH] Add OrganizationService and bio --- README.rst | 2 +- app/organization/network/admin.py | 8 ++- .../migrations/0066_auto_20161216_1603.py | 55 +++++++++++++++++++ .../migrations/0067_auto_20161216_1606.py | 25 +++++++++ app/organization/network/models.py | 7 +++ app/organization/network/translation.py | 8 ++- app/templates/projects/project_detail.html | 2 +- 7 files changed, 103 insertions(+), 4 deletions(-) create mode 100644 app/organization/network/migrations/0066_auto_20161216_1603.py create mode 100644 app/organization/network/migrations/0067_auto_20161216_1606.py diff --git a/README.rst b/README.rst index bc501a19..c3dd4717 100644 --- a/README.rst +++ b/README.rst @@ -2,7 +2,7 @@ Mezzanine-organization ====================== -Mezzanine-organization is a complete CMS for organizations with complex workflows +Mezzanine-organization is a complete CMS for organizations with complex activities It is based on Mezzanine_ and Django_. diff --git a/app/organization/network/admin.py b/app/organization/network/admin.py index 95146904..fcbbb1d0 100644 --- a/app/organization/network/admin.py +++ b/app/organization/network/admin.py @@ -77,10 +77,16 @@ class OrganizationBlockInline(StackedDynamicInlineAdmin): model = OrganizationBlock +class OrganizationServiceInline(StackedDynamicInlineAdmin): + + model = OrganizationService + + class OrganizationAdmin(BaseTranslationOrderedModelAdmin): model = Organization - inlines = [ OrganizationPlaylistInline, + inlines = [ OrganizationServiceInline, + OrganizationPlaylistInline, OrganizationImageInline, OrganizationBlockInline, OrganizationLinkInline, diff --git a/app/organization/network/migrations/0066_auto_20161216_1603.py b/app/organization/network/migrations/0066_auto_20161216_1603.py new file mode 100644 index 00000000..ff05ef2d --- /dev/null +++ b/app/organization/network/migrations/0066_auto_20161216_1603.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.11 on 2016-12-16 15:03 +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-network', '0065_auto_20161208_1244'), + ] + + operations = [ + migrations.CreateModel( + name='OrganizationService', + 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')), + ('image', mezzanine.core.fields.FileField(max_length=1024, verbose_name='Image')), + ], + options={ + 'ordering': ['name'], + 'abstract': False, + }, + ), + migrations.AddField( + model_name='organization', + name='bio', + field=models.TextField(blank=True, verbose_name='bio'), + ), + migrations.AddField( + model_name='organization', + name='bio_en', + field=models.TextField(blank=True, null=True, verbose_name='bio'), + ), + migrations.AddField( + model_name='organization', + name='bio_fr', + field=models.TextField(blank=True, null=True, verbose_name='bio'), + ), + migrations.AddField( + model_name='organizationservice', + name='organization', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='services', to='organization-network.Organization', verbose_name='organization'), + ), + ] diff --git a/app/organization/network/migrations/0067_auto_20161216_1606.py b/app/organization/network/migrations/0067_auto_20161216_1606.py new file mode 100644 index 00000000..49312e3b --- /dev/null +++ b/app/organization/network/migrations/0067_auto_20161216_1606.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.11 on 2016-12-16 15:06 +from __future__ import unicode_literals + +from django.db import migrations +import mezzanine.core.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ('organization-network', '0066_auto_20161216_1603'), + ] + + operations = [ + migrations.AlterModelOptions( + name='organizationservice', + options={'ordering': ('_order',)}, + ), + migrations.AddField( + model_name='organizationservice', + name='_order', + field=mezzanine.core.fields.OrderField(null=True, verbose_name='Order'), + ), + ] diff --git a/app/organization/network/models.py b/app/organization/network/models.py index 39ef81fd..31ff7a8f 100644 --- a/app/organization/network/models.py +++ b/app/organization/network/models.py @@ -94,6 +94,7 @@ class Organization(Named, Address, URL, AdminThumbRelatedMixin, Orderable): telephone = models.CharField(_('telephone'), max_length=64, blank=True, null=True) opening_times = models.TextField(_('opening times'), blank=True) subway_access = models.TextField(_('subway access'), blank=True) + bio = models.TextField(_('bio'), blank=True) admin_thumb_type = 'logo' class Meta: @@ -175,6 +176,12 @@ class OrganizationBlock(Block): organization = models.ForeignKey(Organization, verbose_name=_('organization'), related_name='blocks', blank=True, null=True, on_delete=models.SET_NULL) +class OrganizationService(Named, URL, Orderable): + + organization = models.ForeignKey(Organization, verbose_name=_('organization'), related_name='services', blank=True, null=True, on_delete=models.SET_NULL) + image = FileField(_("Image"), max_length=1024, format="Image", upload_to="images") + + class OrganizationType(Named): """(OrganizationType description)""" diff --git a/app/organization/network/translation.py b/app/organization/network/translation.py index 83b211c1..d1bcb30c 100644 --- a/app/organization/network/translation.py +++ b/app/organization/network/translation.py @@ -27,7 +27,7 @@ from organization.network.models import * @register(Organization) class OrganizationTranslationOptions(TranslationOptions): - fields = ('description', 'opening_times', 'subway_access') + fields = ('description', 'opening_times', 'subway_access', 'bio') @register(Department) @@ -126,6 +126,12 @@ class OrganizationBlockTranslationOptions(TranslationOptions): pass +@register(OrganizationService) +class OrganizationServiceTranslationOptions(TranslationOptions): + + fields = ('name', 'description') + + @register(PersonListBlock) class PersonListBlockTranslationOptions(TranslationOptions): diff --git a/app/templates/projects/project_detail.html b/app/templates/projects/project_detail.html index e5e1dfa4..07137d54 100644 --- a/app/templates/projects/project_detail.html +++ b/app/templates/projects/project_detail.html @@ -247,7 +247,7 @@
- {% trans "Ircam teams" %} + {% trans "teams" %} ({{ host_organization }})
{% for team in project.teams.all %} -- 2.39.5