Adding backlog increments calculation on backend

remotes/origin/enhancement/email-actions
Jesús Espino 2013-05-07 17:15:28 +02:00
parent 623597a175
commit bc6117d644
1 changed files with 36 additions and 1 deletions

View File

@ -239,7 +239,9 @@ class Project(models.Model):
{
'name': milestone.name,
'finish_date': milestone.estimated_finish,
'closed_points': milestone.closed_points
'closed_points': milestone.closed_points,
'client_increment_points': milestone.client_increment_points,
'team_increment_points': milestone.team_increment_points
} for milestone in self.milestones.all().order_by('estimated_start')
]
@ -308,6 +310,39 @@ class Milestone(models.Model):
points = [ us.points.value for us in self.user_stories.all() if us.is_closed ]
return sum(points)
@property
def client_increment_points(self):
user_stories = UserStory.objects.filter(
created_date__gt=self.estimated_start,
created_date__lt=self.estimated_finish,
client_requirement=True,
team_requirement=False
)
points = [ us.points.value for us in user_stories ]
return sum(points) + (self.shared_increment_points / 2)
@property
def team_increment_points(self):
user_stories = UserStory.objects.filter(
created_date__gt=self.estimated_start,
created_date__lt=self.estimated_finish,
client_requirement=False,
team_requirement=True
)
points = [ us.points.value for us in user_stories ]
return sum(points) + (self.shared_increment_points / 2)
@property
def shared_increment_points(self):
user_stories = UserStory.objects.filter(
created_date__gt=self.estimated_start,
created_date__lt=self.estimated_finish,
client_requirement=True,
team_requirement=True
)
points = [ us.points.value for us in user_stories ]
return sum(points)
class UserStory(models.Model):
uuid = models.CharField(max_length=40, unique=True, null=False, blank=True,