From 5297c252fbfccf3b26e2ce9764f15fd6ac6e01a6 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 19 Dec 2016 12:47:12 +0000 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BB=D0=BE=D0=B3=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D1=81=D1=82=D0=B0=D1=80=D1=82=D0=B0=20=D0=B8=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=B2=D0=B5=D1=80=D1=88=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=B4=D0=B0=D1=87=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- taskapp/models.py | 48 ++++++++++++++++++++++++++++++----------------- 1 file changed, 31 insertions(+), 17 deletions(-) diff --git a/taskapp/models.py b/taskapp/models.py index b709342..497cef7 100644 --- a/taskapp/models.py +++ b/taskapp/models.py @@ -39,6 +39,23 @@ TASK_TYPES = ( ) +class ChangeLog(models.Model): + task = models.ForeignKey(Task) + ACT_CHOICES = ( + (b'e', u'Изменение задачи'), + (b'c', u'Создание задачи'), + (b'd', u'Удаление задачи'), + (b'f', u'Завершение задачи'), + (b'b', u'Задача начата') + ) + act_type = models.CharField(max_length=1, choices=ACT_CHOICES) + when = models.DateTimeField(auto_now_add=True) + who = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='+') + + def __unicode__(self): + return self.get_act_type_display() + + class Task(models.Model): descr = models.CharField(max_length=128) recipients = models.ManyToManyField(settings.AUTH_USER_MODEL, related_name='them_task') @@ -61,26 +78,23 @@ class Task(models.Model): ) def finish(self, current_user): - self.state = 'F' # Выполнена + self.state = b'F' # Выполнена self.out_date = datetime.now() # Время завершения + ChangeLog.objects.create( + task=self, + act_type=b'f', + who=current_user + ) + self.save(update_fields=['state', 'out_date']) def begin(self, current_user): - self.state = 'C' # Начата - - -class ChangeLog(models.Model): - task = models.ForeignKey(Task) - ACT_CHOICES = ( - (b'e', u'Изменение задачи'), - (b'c', u'Создание задачи'), - (b'd', u'Удаление задачи') - ) - act_type = models.CharField(max_length=1, choices=ACT_CHOICES) - when = models.DateTimeField(auto_now_add=True) - who = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='+') - - def __unicode__(self): - return self.get_act_type_display() + self.state = b'C' # Начата + ChangeLog.objects.create( + task=self, + act_type=b'b', + who=current_user + ) + self.save(update_fields=['state']) def task_handler(sender, instance, **kwargs):