]> git.parisson.com Git - mezzo.git/commitdiff
Add additional organization data, simplify verbose names
authorGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Sun, 13 Nov 2016 21:43:20 +0000 (22:43 +0100)
committerGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Sun, 13 Nov 2016 21:43:20 +0000 (22:43 +0100)
app/organization/network/migrations/0059_auto_20161113_2236.py [new file with mode: 0644]
app/organization/network/models.py
app/organization/network/translation.py
app/settings.py

diff --git a/app/organization/network/migrations/0059_auto_20161113_2236.py b/app/organization/network/migrations/0059_auto_20161113_2236.py
new file mode 100644 (file)
index 0000000..ea4703b
--- /dev/null
@@ -0,0 +1,111 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.10 on 2016-11-13 21:36
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('organization-network', '0058_auto_20161109_1218'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='ActivityStatusFamily',
+            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')),
+                ('order', models.IntegerField(default=100, verbose_name='order number')),
+                ('display', models.BooleanField(default=True, verbose_name='display on team page')),
+            ],
+            options={
+                'ordering': ['order'],
+                'verbose_name': 'Status family',
+            },
+        ),
+        migrations.AlterModelOptions(
+            name='activityframework',
+            options={'verbose_name': 'framework', 'verbose_name_plural': 'frameworks'},
+        ),
+        migrations.AlterModelOptions(
+            name='activityfunction',
+            options={'verbose_name': 'function', 'verbose_name_plural': 'functions'},
+        ),
+        migrations.AlterModelOptions(
+            name='activitygrade',
+            options={'verbose_name': 'grade', 'verbose_name_plural': 'grades'},
+        ),
+        migrations.AlterModelOptions(
+            name='activitystatus',
+            options={'ordering': ['order'], 'verbose_name': 'status'},
+        ),
+        migrations.AlterModelOptions(
+            name='budgetcode',
+            options={'verbose_name': 'budget code', 'verbose_name_plural': 'budget codes'},
+        ),
+        migrations.AlterModelOptions(
+            name='recordpiece',
+            options={'verbose_name': 'record piece', 'verbose_name_plural': 'record pieces'},
+        ),
+        migrations.AlterModelOptions(
+            name='traininglevel',
+            options={'verbose_name': 'training level', 'verbose_name_plural': 'training levels'},
+        ),
+        migrations.AlterModelOptions(
+            name='trainingspeciality',
+            options={'verbose_name': 'training speciality', 'verbose_name_plural': 'training specialities'},
+        ),
+        migrations.AlterModelOptions(
+            name='trainingtopic',
+            options={'verbose_name': 'training topic', 'verbose_name_plural': 'training topics'},
+        ),
+        migrations.AlterModelOptions(
+            name='trainingtype',
+            options={'verbose_name': 'training type', 'verbose_name_plural': 'training types'},
+        ),
+        migrations.RemoveField(
+            model_name='activitystatus',
+            name='display_text',
+        ),
+        migrations.RemoveField(
+            model_name='activitystatus',
+            name='display_text_en',
+        ),
+        migrations.RemoveField(
+            model_name='activitystatus',
+            name='display_text_fr',
+        ),
+        migrations.AddField(
+            model_name='organization',
+            name='opening_times',
+            field=models.TextField(blank=True, verbose_name='opening times'),
+        ),
+        migrations.AddField(
+            model_name='organization',
+            name='subway_access',
+            field=models.TextField(blank=True, verbose_name='subway access'),
+        ),
+        migrations.AddField(
+            model_name='organization',
+            name='telephone',
+            field=models.CharField(blank=True, max_length=64, null=True, verbose_name='telephone'),
+        ),
+        migrations.AddField(
+            model_name='person',
+            name='telephone',
+            field=models.CharField(blank=True, max_length=64, null=True, verbose_name='telephone'),
+        ),
+        migrations.AddField(
+            model_name='activitystatus',
+            name='family',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='activity_statuses', to='organization-network.ActivityStatusFamily', verbose_name='family'),
+        ),
+    ]
index 26626fce433140e1bc6cfeef074afa6f334c6581..c1595695d37206c430b77155da117f29785b2a9e 100644 (file)
@@ -70,7 +70,10 @@ class Organization(Named, Address, URL, AdminThumbRelatedMixin):
     initials = models.CharField(_('initials'), max_length=128, blank=True, null=True)
     is_on_map = models.BooleanField(_('is on map'), default=False, blank=True)
     is_host = models.BooleanField(_('is host'), default=False, blank=True)
-
+    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)
+    
     admin_thumb_type = 'logo'
 
     class Meta:
@@ -225,6 +228,7 @@ class Person(Displayable, AdminThumbMixin):
     first_name = models.CharField(_('first name'), max_length=255, blank=True, null=True)
     last_name = models.CharField(_('last name'), max_length=255, blank=True, null=True)
     email = models.EmailField(_('email'), blank=True, null=True)
+    telephone = models.CharField(_('telephone'), max_length=64, blank=True, null=True)
     birthday = models.DateField(_('birthday'), blank=True, null=True)
     bio = RichTextField(_('biography'), blank=True)
     external_id = models.CharField(_('external ID'), blank=True, null=True, max_length=128)
@@ -317,70 +321,81 @@ class PersonListBlockInline(models.Model):
         verbose_name = _('Person autocomplete')
 
 
+class ActivityStatusFamily(Named):
+
+    order = models.IntegerField(_('order number'), default=100)
+    display = models.BooleanField(_('display on team page'), blank=True, default=True)
+
+    class Meta:
+        verbose_name = _('Status family')
+        ordering = ['order']
+
+
 class ActivityStatus(Named):
 
     order = models.IntegerField(_('order number'), default=100)
     display = models.BooleanField(_('display on team page'), blank=True, default=True)
-    display_text = models.CharField(_('display text'), max_length=128, blank=True, null=True)
+    family = models.ForeignKey(ActivityStatusFamily, verbose_name=_('family'), related_name='activity_statuses', blank=True, null=True, on_delete=models.SET_NULL)
 
     class Meta:
-        verbose_name = _('activity status')
+        verbose_name = _('status')
         ordering = ['order']
 
 
 class ActivityGrade(Named):
 
     class Meta:
-        verbose_name = _('activity grade')
+        verbose_name = _('grade')
+        verbose_name_plural = _('grades')
 
 
 class ActivityFramework(Named):
 
     class Meta:
-        verbose_name = _('activity framework')
-
+        verbose_name = _('framework')
+        verbose_name_plural = _('frameworks')
 
 class ActivityFunction(Named):
 
     class Meta:
-        verbose_name = _('activity function')
-
+        verbose_name = _('function')
+        verbose_name_plural = _('functions')
 
 class BudgetCode(Named):
 
     class Meta:
         verbose_name = _('budget code')
-
+        verbose_name_plural = _('budget codes')
 
 class RecordPiece(Named):
 
     class Meta:
         verbose_name = _('record piece')
-
+        verbose_name_plural = _('record pieces')
 
 class TrainingType(Named):
 
     class Meta:
         verbose_name = _('training type')
-
+        verbose_name_plural = _('training types')
 
 class TrainingLevel(Named):
 
     class Meta:
         verbose_name = _('training level')
-
+        verbose_name_plural = _('training levels')
 
 class TrainingTopic(Named):
 
     class Meta:
         verbose_name = _('training topic')
-
+        verbose_name_plural = _('training topics')
 
 class TrainingSpeciality(Named):
 
     class Meta:
         verbose_name = _('training speciality')
-
+        verbose_name_plural = _('training specialities')
 
 class UMR(Named):
 
index f7d3879ed62fdab6d460ac2f7435b6107a1eb2e1..1c81f19fc3990836072123eefd7f84986c480240 100644 (file)
@@ -141,10 +141,16 @@ class ActivityFrameworkTranslationOptions(TranslationOptions):
     fields = ['name', 'description']
 
 
+@register(ActivityStatusFamily)
+class ActivityStatusFamilyTranslationOptions(TranslationOptions):
+
+    fields = ['name', 'description',]
+
+
 @register(ActivityStatus)
-class ActivityGradeTranslationOptions(TranslationOptions):
+class ActivityStatusTranslationOptions(TranslationOptions):
 
-    fields = ['name', 'description', 'display_text']
+    fields = ['name', 'description',]
 
 
 @register(TrainingTopic)
index 77679367749f8eb95e9df2dcf100255e1a40e23f..4683ad6e2e0dd11a9d012384b853b4df7ccf7bf5 100644 (file)
@@ -353,9 +353,6 @@ except ImportError as e:
     if "local_settings" not in str(e):
         raise e
 
-
-
-
 ####################
 # DYNAMIC S ETTINGS #
 ####################