From ecd27d822dce373d8cc720cdadb414651db255d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Espino?= Date: Tue, 7 May 2013 10:22:37 +0200 Subject: [PATCH] Adding auto update user story finish date on all task close and task finished_date on task close --- greenmine/scrum/models.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/greenmine/scrum/models.py b/greenmine/scrum/models.py index 10fe908a..395463e9 100644 --- a/greenmine/scrum/models.py +++ b/greenmine/scrum/models.py @@ -1,5 +1,7 @@ # -*- coding: utf-8 -*- +from datetime import datetime + from django.db import models from django.utils import timezone from django.dispatch import receiver @@ -569,6 +571,19 @@ def user_story_ref_handler(sender, instance, **kwargs): instance.ref = ref_uniquely(instance.project, 'last_us_ref', instance.__class__) +@receiver(models.signals.pre_save, sender=Task, dispatch_uid='tasks_close_handler') +def tasks_close_handler(sender, instance, **kwargs): + """ + Automatically assignes a seguent reference code to a + user story if that is not created. + """ + + if instance.id and sender.objects.get(id=instance.id).status.is_closed == False and instance.status.is_closed == True: + instance.finished_date = datetime.now() + if all([task.status.is_closed for task in instance.user_story.tasks.exclude(id=instance.id)]): + instance.user_story.finish_date = datetime.now() + instance.user_story.save() + # Email alerts signals handlers # TODO: temporary commented (Pending refactor) # from . import sigdispatch