--- /dev/null
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.11 on 2016-12-29 10:51
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import organization.network.validators
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('organization-network', '0074_personactivitytimesheet_work_packages'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='activityweeklyhourvolume',
+ name='friday_hours',
+ ),
+ migrations.RemoveField(
+ model_name='activityweeklyhourvolume',
+ name='monday_hours',
+ ),
+ migrations.RemoveField(
+ model_name='activityweeklyhourvolume',
+ name='thursday_hours',
+ ),
+ migrations.RemoveField(
+ model_name='activityweeklyhourvolume',
+ name='tuesday_hours',
+ ),
+ migrations.RemoveField(
+ model_name='activityweeklyhourvolume',
+ name='wednesday_hours',
+ ),
+ migrations.RemoveField(
+ model_name='personactivity',
+ name='friday_hours',
+ ),
+ migrations.RemoveField(
+ model_name='personactivity',
+ name='monday_hours',
+ ),
+ migrations.RemoveField(
+ model_name='personactivity',
+ name='thursday_hours',
+ ),
+ migrations.RemoveField(
+ model_name='personactivity',
+ name='tuesday_hours',
+ ),
+ migrations.RemoveField(
+ model_name='personactivity',
+ name='wednesday_hours',
+ ),
+ migrations.AddField(
+ model_name='activityweeklyhourvolume',
+ name='friday_am',
+ field=models.FloatField(default=0, validators=[organization.network.validators.validate_positive], verbose_name='friday AM'),
+ preserve_default=False,
+ ),
+ migrations.AddField(
+ model_name='activityweeklyhourvolume',
+ name='friday_pm',
+ field=models.FloatField(default=0, validators=[organization.network.validators.validate_positive], verbose_name='friday PM'),
+ preserve_default=False,
+ ),
+ migrations.AddField(
+ model_name='activityweeklyhourvolume',
+ name='monday_am',
+ field=models.FloatField(default=0, validators=[organization.network.validators.validate_positive], verbose_name='monday AM'),
+ preserve_default=False,
+ ),
+ migrations.AddField(
+ model_name='activityweeklyhourvolume',
+ name='monday_pm',
+ field=models.FloatField(default=0, validators=[organization.network.validators.validate_positive], verbose_name='monday PM'),
+ preserve_default=False,
+ ),
+ migrations.AddField(
+ model_name='activityweeklyhourvolume',
+ name='thursday_am',
+ field=models.FloatField(default=0, validators=[organization.network.validators.validate_positive], verbose_name='thursday AM'),
+ preserve_default=False,
+ ),
+ migrations.AddField(
+ model_name='activityweeklyhourvolume',
+ name='thursday_pm',
+ field=models.FloatField(default=0, validators=[organization.network.validators.validate_positive], verbose_name='thursday PM'),
+ preserve_default=False,
+ ),
+ migrations.AddField(
+ model_name='activityweeklyhourvolume',
+ name='tuesday_am',
+ field=models.FloatField(default=0, validators=[organization.network.validators.validate_positive], verbose_name='tuesday AM'),
+ preserve_default=False,
+ ),
+ migrations.AddField(
+ model_name='activityweeklyhourvolume',
+ name='tuesday_pm',
+ field=models.FloatField(default=0, validators=[organization.network.validators.validate_positive], verbose_name='tuesday PM'),
+ preserve_default=False,
+ ),
+ migrations.AddField(
+ model_name='activityweeklyhourvolume',
+ name='wednesday_am',
+ field=models.FloatField(default=0, validators=[organization.network.validators.validate_positive], verbose_name='wednesday AM'),
+ preserve_default=False,
+ ),
+ migrations.AddField(
+ model_name='activityweeklyhourvolume',
+ name='wednesday_pm',
+ field=models.FloatField(default=0, validators=[organization.network.validators.validate_positive], verbose_name='wednesday PM'),
+ preserve_default=False,
+ ),
+ migrations.AddField(
+ model_name='personactivity',
+ name='friday_am',
+ field=models.FloatField(blank=True, null=True, validators=[organization.network.validators.validate_positive], verbose_name='friday AM'),
+ ),
+ migrations.AddField(
+ model_name='personactivity',
+ name='friday_pm',
+ field=models.FloatField(blank=True, null=True, validators=[organization.network.validators.validate_positive], verbose_name='friday PM'),
+ ),
+ migrations.AddField(
+ model_name='personactivity',
+ name='monday_am',
+ field=models.FloatField(blank=True, null=True, validators=[organization.network.validators.validate_positive], verbose_name='monday AM'),
+ ),
+ migrations.AddField(
+ model_name='personactivity',
+ name='monday_pm',
+ field=models.FloatField(blank=True, null=True, validators=[organization.network.validators.validate_positive], verbose_name='monday PM'),
+ ),
+ migrations.AddField(
+ model_name='personactivity',
+ name='thursday_am',
+ field=models.FloatField(blank=True, null=True, validators=[organization.network.validators.validate_positive], verbose_name='thursday AM'),
+ ),
+ migrations.AddField(
+ model_name='personactivity',
+ name='thursday_pm',
+ field=models.FloatField(blank=True, null=True, validators=[organization.network.validators.validate_positive], verbose_name='thursday PM'),
+ ),
+ migrations.AddField(
+ model_name='personactivity',
+ name='tuesday_am',
+ field=models.FloatField(blank=True, null=True, validators=[organization.network.validators.validate_positive], verbose_name='tuesday AM'),
+ ),
+ migrations.AddField(
+ model_name='personactivity',
+ name='tuesday_pm',
+ field=models.FloatField(blank=True, null=True, validators=[organization.network.validators.validate_positive], verbose_name='tuesday PM'),
+ ),
+ migrations.AddField(
+ model_name='personactivity',
+ name='wednesday_am',
+ field=models.FloatField(blank=True, null=True, validators=[organization.network.validators.validate_positive], verbose_name='wednesday AM'),
+ ),
+ migrations.AddField(
+ model_name='personactivity',
+ name='wednesday_pm',
+ field=models.FloatField(blank=True, null=True, validators=[organization.network.validators.validate_positive], verbose_name='wednesday PM'),
+ ),
+ ]
self.first_name = names[0]
self.last_name = ' '.join(names[1:])
- # def clean(self):
- # super(Person, self).clean()
- # self.set_names()
- #
- # def save(self, *args, **kwargs):
- # self.set_names()
- # super(Person, self).save(*args, **kwargs)
+ def save(self, *args, **kwargs):
+ super(Person, self).save(args, kwargs)
+ for activity in self.activities.all():
+ update_activity(activity)
class PersonPlaylist(PlaylistRelated):
class ActivityWeeklyHourVolume(Titled):
- monday_hours = models.FloatField(_('monday hours'), validators=[validate_positive])
- tuesday_hours = models.FloatField(_('tuesday hours'), validators=[validate_positive])
- wednesday_hours = models.FloatField(_('wednesday hours'), validators=[validate_positive])
- thursday_hours = models.FloatField(_('thursday hours'), validators=[validate_positive])
- friday_hours = models.FloatField(_('friday hours'), validators=[validate_positive])
+ monday_am = models.FloatField(_('monday AM'), validators=[validate_positive])
+ monday_pm = models.FloatField(_('monday PM'), validators=[validate_positive])
+ tuesday_am = models.FloatField(_('tuesday AM'), validators=[validate_positive])
+ tuesday_pm = models.FloatField(_('tuesday PM'), validators=[validate_positive])
+ wednesday_am = models.FloatField(_('wednesday AM'), validators=[validate_positive])
+ wednesday_pm = models.FloatField(_('wednesday PM'), validators=[validate_positive])
+ thursday_am = models.FloatField(_('thursday AM'), validators=[validate_positive])
+ thursday_pm = models.FloatField(_('thursday PM'), validators=[validate_positive])
+ friday_am = models.FloatField(_('friday AM'), validators=[validate_positive])
+ friday_pm = models.FloatField(_('friday PM'), validators=[validate_positive])
class Meta:
verbose_name = _('Activity Weekly Hour Volume')
weekly_hour_volume = models.ForeignKey('ActivityWeeklyHourVolume', blank=True, null=True, on_delete=models.SET_NULL)
- monday_hours = models.FloatField(_('monday hours'), validators=[validate_positive], blank=True, null=True)
- tuesday_hours = models.FloatField(_('tuesday hours'), validators=[validate_positive], blank=True, null=True)
- wednesday_hours = models.FloatField(_('wednesday hours'), validators=[validate_positive], blank=True, null=True)
- thursday_hours = models.FloatField(_('thursday hours'), validators=[validate_positive], blank=True, null=True)
- friday_hours = models.FloatField(_('friday hours'), validators=[validate_positive], blank=True, null=True)
+ monday_am = models.FloatField(_('monday AM'), validators=[validate_positive], blank=True, null=True)
+ monday_pm = models.FloatField(_('monday PM'), validators=[validate_positive], blank=True, null=True)
+ tuesday_am = models.FloatField(_('tuesday AM'), validators=[validate_positive], blank=True, null=True)
+ tuesday_pm = models.FloatField(_('tuesday PM'), validators=[validate_positive], blank=True, null=True)
+ wednesday_am = models.FloatField(_('wednesday AM'), validators=[validate_positive], blank=True, null=True)
+ wednesday_pm = models.FloatField(_('wednesday PM'), validators=[validate_positive], blank=True, null=True)
+ thursday_am = models.FloatField(_('thursday AM'), validators=[validate_positive], blank=True, null=True)
+ thursday_pm = models.FloatField(_('thursday PM'), validators=[validate_positive], blank=True, null=True)
+ friday_am = models.FloatField(_('friday AM'), validators=[validate_positive], blank=True, null=True)
+ friday_pm = models.FloatField(_('friday PM'), validators=[validate_positive], blank=True, null=True)
class Meta:
verbose_name = _('activity')
def save(self, *args, **kwargs):
super(PersonActivity, self).save(args, kwargs)
- if self.weekly_hour_volume :
- # caution : if 0 return False
- # caution : 'None' is not empty
- if not self.monday_hours.__str__() != 'None' and \
- not self.tuesday_hours.__str__() != 'None' and \
- not self.wednesday_hours.__str__() != 'None' and \
- not self.thursday_hours.__str__() != 'None' and \
- not self.friday_hours.__str__() != 'None' :
- self.monday_hours = self.weekly_hour_volume.monday_hours
- self.tuesday_hours = self.weekly_hour_volume.tuesday_hours
- self.wednesday_hours = self.weekly_hour_volume.wednesday_hours
- self.thursday_hours = self.weekly_hour_volume.thursday_hours
- self.friday_hours = self.weekly_hour_volume.friday_hours
- self.save()
+ update_activity(self)
+
class PersonActivityTimeSheet(models.Model):
class PersonActivityVacation(Period):
activity = models.ForeignKey('PersonActivity', verbose_name=_('activity'))
+
+
+def update_activity(a):
+ if a.weekly_hour_volume :
+ # caution : if 0 return False
+ # caution : 'None' is not empty
+ if not a.monday_am.__str__() != 'None' and \
+ not a.monday_pm.__str__() != 'None' and \
+ not a.tuesday_am.__str__() != 'None' and \
+ not a.tuesday_pm.__str__() != 'None' and \
+ not a.wednesday_am.__str__() != 'None' and \
+ not a.wednesday_pm.__str__() != 'None' and \
+ not a.thursday_am.__str__() != 'None' and \
+ not a.thursday_pm.__str__() != 'None' and \
+ not a.friday_am.__str__() != 'None' and \
+ not a.friday_pm.__str__() != 'None' :
+ a.monday_am = a.weekly_hour_volume.monday_am
+ a.monday_pm = a.weekly_hour_volume.monday_pm
+ a.tuesday_am = a.weekly_hour_volume.tuesday_am
+ a.tuesday_pm = a.weekly_hour_volume.tuesday_pm
+ a.wednesday_am = a.weekly_hour_volume.wednesday_am
+ a.wednesday_pm = a.weekly_hour_volume.wednesday_pm
+ a.thursday_am = a.weekly_hour_volume.thursday_am
+ a.thursday_pm = a.weekly_hour_volume.thursday_pm
+ a.friday_am = a.weekly_hour_volume.friday_am
+ a.friday_pm = a.weekly_hour_volume.friday_pm
+ a.save()