Add notifications module (not finished)
parent
fd7c55f080
commit
2c8349f355
|
@ -30,7 +30,6 @@ def attach_uuid(sender, instance, **kwargs):
|
|||
instance.uuid = unicode(uuid.uuid1())
|
||||
|
||||
|
||||
|
||||
class User(AbstractUser, WatcherMixin):
|
||||
color = models.CharField(max_length=9, null=False, blank=False, default="#669933",
|
||||
verbose_name=_('color'))
|
||||
|
|
|
@ -233,9 +233,7 @@ class Project(models.Model, WatchedMixin):
|
|||
super(Project, self).save(*args, **kwargs)
|
||||
|
||||
def _get_watchers_by_role(self):
|
||||
return {
|
||||
'owner': self.owner,
|
||||
}
|
||||
return {'owner': self.owner}
|
||||
|
||||
def _get_attributes_to_notify(self):
|
||||
return {
|
||||
|
@ -263,28 +261,22 @@ class Project(models.Model, WatchedMixin):
|
|||
|
||||
|
||||
class Milestone(models.Model, WatchedMixin):
|
||||
uuid = models.CharField(
|
||||
max_length=40, unique=True, null=False, blank=True,
|
||||
verbose_name=_('uuid'))
|
||||
|
||||
uuid = models.CharField(max_length=40, unique=True, null=False, blank=True,
|
||||
verbose_name=_('uuid'))
|
||||
name = models.CharField(
|
||||
max_length=200, db_index=True, null=False, blank=False,
|
||||
verbose_name=_('name'))
|
||||
|
||||
slug = models.SlugField(max_length=250, unique=True, null=False, blank=True,
|
||||
verbose_name=_('slug'))
|
||||
|
||||
owner = models.ForeignKey(
|
||||
'base.User',
|
||||
null=True, blank=True,
|
||||
related_name='owned_milestones', verbose_name=_('owner'))
|
||||
|
||||
project = models.ForeignKey(
|
||||
'Project',
|
||||
null=False, blank=False,
|
||||
related_name='milestones',
|
||||
verbose_name=_('project'))
|
||||
|
||||
estimated_start = models.DateField(null=True, blank=True, default=None,
|
||||
verbose_name=_('estimated start'))
|
||||
estimated_finish = models.DateField(null=True, blank=True, default=None,
|
||||
|
@ -376,6 +368,20 @@ class Milestone(models.Model, WatchedMixin):
|
|||
points = [ us.points.value for us in user_stories ]
|
||||
return sum(points)
|
||||
|
||||
def _get_watchers_by_role(self):
|
||||
return {
|
||||
'owner': self.owner,
|
||||
'project_owner': (self.project, self.project.owner),
|
||||
}
|
||||
|
||||
def _get_attributes_to_notify(self):
|
||||
return {
|
||||
'name': self.name,
|
||||
'slug': self.slug,
|
||||
'owner': self.owner.get_full_name(),
|
||||
'modified_date': self.modified_date,
|
||||
}
|
||||
|
||||
|
||||
class UserStory(WatchedMixin, models.Model):
|
||||
uuid = models.CharField(max_length=40, unique=True, null=False, blank=True,
|
||||
|
@ -640,6 +646,10 @@ class Issue(models.Model, WatchedMixin):
|
|||
|
||||
super(Issue, self).save(*args, **kwargs)
|
||||
|
||||
@property
|
||||
def is_closed(self):
|
||||
return self.status.is_closed
|
||||
|
||||
def _get_watchers_by_role(self):
|
||||
return {
|
||||
'owner': self.owner,
|
||||
|
@ -648,10 +658,6 @@ class Issue(models.Model, WatchedMixin):
|
|||
'project_owner': (self.project, self.project.owner),
|
||||
}
|
||||
|
||||
@property
|
||||
def is_closed(self):
|
||||
return self.status.is_closed
|
||||
|
||||
|
||||
# Model related signals handlers
|
||||
|
||||
|
|
Loading…
Reference in New Issue