class Team(Model): """ A team represents a group of individuals which maintain ownership of projects. """ slug = models.SlugField(unique=True) name = models.CharField(max_length=64) owner = models.ForeignKey(User) objects = TeamManager(cache_fields=( 'pk', 'slug', )) def __unicode__(self): return u'%s (%s)' % (self.name, self.slug) def save(self, *args, **kwargs): if not self.slug: self.slug = slugify(self.name) super(Team, self).save(*args, **kwargs) def get_owner_name(self): if not self.owner: return None if self.owner.first_name: return self.owner.first_name if self.owner.email: return self.owner.email.split('@', 1)[0] return self.owner.username
class Team(Model): """ A team represents a group of individuals which maintain ownership of projects. """ slug = models.SlugField(unique=True) name = models.CharField(max_length=64) owner = models.ForeignKey(django_settings.AUTH_USER_MODEL) date_added = models.DateTimeField(default=timezone.now, null=True) members = models.ManyToManyField(django_settings.AUTH_USER_MODEL, through='sentry.TeamMember', related_name='team_memberships') objects = TeamManager(cache_fields=( 'pk', 'slug', )) __repr__ = sane_repr('slug', 'owner_id', 'name') def __unicode__(self): return u'%s (%s)' % (self.name, self.slug) def save(self, *args, **kwargs): if not self.slug: slugify_instance(self, self.name) super(Team, self).save(*args, **kwargs) def get_owner_name(self): if not self.owner: return None if self.owner.first_name: return self.owner.first_name if self.owner.email: return self.owner.email.split('@', 1)[0] return self.owner.username
class Team(Model): """ A team represents a group of individuals which maintain ownership of projects. """ slug = models.SlugField(unique=True) name = models.CharField(max_length=64) owner = models.ForeignKey(settings.AUTH_USER_MODEL) status = BoundedPositiveIntegerField(default=0, choices=( (TeamStatus.VISIBLE, _('Visible')), (TeamStatus.PENDING_DELETION, _('Pending Deletion')), (TeamStatus.DELETION_IN_PROGRESS, _('Deletion in Progress')), )) date_added = models.DateTimeField(default=timezone.now, null=True) members = models.ManyToManyField(settings.AUTH_USER_MODEL, through='sentry.TeamMember', related_name='team_memberships') objects = TeamManager(cache_fields=( 'pk', 'slug', )) class Meta: app_label = 'sentry' db_table = 'sentry_team' __repr__ = sane_repr('slug', 'owner_id', 'name') def __unicode__(self): return u'%s (%s)' % (self.name, self.slug) def save(self, *args, **kwargs): if not self.slug: slugify_instance(self, self.name, reserved=RESERVED_TEAM_SLUGS) super(Team, self).save(*args, **kwargs) def get_absolute_url(self): return absolute_uri(reverse('sentry', args=[self.slug])) def get_owner_name(self): if not self.owner: return None if self.owner.first_name: return self.owner.first_name if self.owner.email: return self.owner.email.split('@', 1)[0] return self.owner.username