--- /dev/null
+# -*- 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'),
+ ),
+ ]
from mezzanine.galleries.models import BaseGallery
from organization.core.models import *
-from organization.magazine.models import Article
-from organization.project.models import Project
from django_countries.fields import CountryField
# from .nationalities.fields import NationalityField
-
# Hack to have these strings translated
mr = _('Mr')
mrs = _('Ms')
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(Article, verbose_name=_('Related articles'), blank=True)
+ articles_related = models.ManyToManyField('organization-magazine.Article', verbose_name=_('Related articles'), blank=True)
class Meta:
verbose_name = _('department')
last_name = models.CharField(_('last name'), max_length=255, blank=True, null=True)
birthday = models.DateField(_('birthday'), blank=True, null=True)
bio = RichTextField(_('biography'), blank=True)
- permanent = models.BooleanField(_('permanent'))
+ permanent = models.BooleanField(_('permanent'), default=False)
class Meta:
verbose_name = _('person')
"""(Activity description)"""
person = models.ForeignKey('Person', verbose_name=_('person'))
- team = models.ForeignKey('Team', verbose_name=_('team'))
- second_team = models.ForeignKey('Team', verbose_name=_('second team'))
+ team = models.ForeignKey('Team', verbose_name=_('team'), related_name='team_activity', blank=True, null=True, on_delete=models.SET_NULL)
+ second_team = models.ForeignKey('Team', verbose_name=_('second team'), related_name='second_team_activity', blank=True, null=True, on_delete=models.SET_NULL)
function = models.CharField(_('fonction'), blank=True, max_length=1024)
status = models.ForeignKey(ActivityStatus, verbose_name=_('status'), blank=True, null=True, on_delete=models.SET_NULL)
grade = models.ForeignKey(ActivityGrade, verbose_name=_('grade'), blank=True, null=True, on_delete=models.SET_NULL)
framework = models.ForeignKey(ActivityFramework, verbose_name=_('framework'), blank=True, null=True, on_delete=models.SET_NULL)
- hdr = models.BooleanField(_('HDR'))
+ hdr = models.BooleanField(_('HDR'), default=False)
- employer = models.ForeignKey(Organization, verbose_name=_('employer'), blank=True, null=True, on_delete=models.SET_NULL)
- second_employer = models.ForeignKey(Organization, verbose_name=_('second employer'), blank=True, null=True, on_delete=models.SET_NULL)
- attachment_organization = models.ForeignKey(Organization, verbose_name=_('attachment organization'), blank=True, null=True, on_delete=models.SET_NULL)
+ employer = models.ForeignKey(Organization, verbose_name=_('employer'), related_name='employer_activity', blank=True, null=True, on_delete=models.SET_NULL)
+ 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(Project, verbose_name=_('project'), blank=True, null=True, on_delete=models.SET_NULL)
- rd_quota = models.IntegerField(_('R&D quota'), blank=True)
- rd_program = models.TextField(_('R&D program'))
+ project = models.ForeignKey('organization-project.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)
phd_doctoral_school = models.ForeignKey(Organization, verbose_name=_('doctoral school'), blank=True, null=True, on_delete=models.SET_NULL)
- phd_director = models.ForeignKey('Person', verbose_name=_('PhD director'), blank=True, null=True, on_delete=models.SET_NULL)
- phd_officer_1 = models.ForeignKey('Person', verbose_name=_('PhD officer 1'), blank=True, null=True, on_delete=models.SET_NULL)
- phd_officer_2 = models.ForeignKey('Person', verbose_name=_('PhD officer 2'), blank=True, null=True, on_delete=models.SET_NULL)
- phd_defense_date = models.DateField(_('PhD defense date'), blank=True)
- phd_title = models.TextField(_('PhD title'))
+ phd_director = models.ForeignKey('Person', verbose_name=_('PhD director'), related_name='phd_director_activity', blank=True, null=True, on_delete=models.SET_NULL)
+ phd_officer_1 = models.ForeignKey('Person', verbose_name=_('PhD officer 1'), related_name='phd_officer_1_activity', blank=True, null=True, on_delete=models.SET_NULL)
+ phd_officer_2 = models.ForeignKey('Person', verbose_name=_('PhD officer 2'), related_name='phd_officer_2_activity', blank=True, null=True, on_delete=models.SET_NULL)
+ phd_defense_date = models.DateField(_('PhD defense date'), blank=True, null=True)
+ phd_title = models.TextField(_('PhD title'), blank=True)
phd_postdoctoralsituation = models.CharField(_('post-doctoral situation'), blank=True, max_length=256)
training_type = models.ForeignKey(TrainingType, verbose_name=_('training type'), blank=True, null=True, on_delete=models.SET_NULL)
training_level = models.ForeignKey(TrainingLevel, verbose_name=_('training level'), blank=True, null=True, on_delete=models.SET_NULL)
training_topic = models.ForeignKey(TrainingTopic, verbose_name=_('training topic'), blank=True, null=True, on_delete=models.SET_NULL)
training_speciality = models.ForeignKey(TrainingSpectiality, verbose_name=_('training speciality'), blank=True, null=True, on_delete=models.SET_NULL)
- training_title = models.TextField(_('Training title'))
+ training_title = models.TextField(_('Training title'), blank=True)
+
+ comments = models.TextField(_('comments'), blank=True)
- comments = models.TextField(_('comments'))
- budget_code = models.ForeignKey(BudgetCode, blank=True, null=True, on_delete=models.SET_NULL)
record_piece = models.ForeignKey(RecordPiece, blank=True, null=True, on_delete=models.SET_NULL)
- record_date = models.DateField(_('last record date'), auto_now=True)
+ date_added = models.DateTimeField(_('add date'), auto_now_add=True)
+ date_modified = models.DateTimeField(_('modification date'), auto_now=True)
+ date_modified_manual = models.DateTimeField(_('manual modification date'), blank=True, null=True)
class Meta:
verbose_name = _('activity')