class Activity(models.Model): name = models.CharField(max_length=100) active = models.BooleanField(default=True) objects = models.Manager() active_objects = GenericActiveManager() class Meta: ordering = ['name'] verbose_name = 'activity' verbose_name_plural = 'activities' def __unicode__(self): return self.name def get_absolute_delete_url(self): return reverse('delete_activity', kwargs={'pk': self.id}) def get_absolute_edit_url(self): return reverse('edit_activity', kwargs={'pk': self.id}) @property def is_editable(self): """Check if activity is editable.""" return not self.name in READONLY_ACTIVITIES
class FunctionalArea(models.Model): """Mozilla functional areas.""" name = models.CharField(max_length=100, unique=True) slug = models.SlugField(blank=True, max_length=100) active = models.BooleanField(default=True) objects = models.Manager() active_objects = GenericActiveManager() def save(self, *args, **kwargs): # Create unique slug if not self.slug: self.slug = slugify(self.name, instance=self) super(FunctionalArea, self).save(*args, **kwargs) def get_absolute_delete_url(self): return reverse('delete_functional_area', kwargs={'pk': self.id}) def get_absolute_edit_url(self): return reverse('edit_functional_area', kwargs={'pk': self.id}) def __unicode__(self): return self.name class Meta: ordering = ['name'] verbose_name = 'functional area' verbose_name_plural = 'functional areas'
class EventGoal(models.Model): """Event Goals Model.""" name = models.CharField(db_index=True, max_length=127, unique=True) slug = models.SlugField(blank=True, max_length=127) active = models.BooleanField(default=True) objects = models.Manager() active_objects = GenericActiveManager() def save(self, *args, **kwargs): # Create unique slug if not self.slug: self.slug = slugify(self.name, instance=self) super(EventGoal, self).save(*args, **kwargs) def get_absolute_delete_url(self): return reverse('delete_event_goal', kwargs={'pk': self.id}) def get_absolute_edit_url(self): return reverse('edit_event_goal', kwargs={'pk': self.id}) def __str__(self): return self.name class Meta: ordering = ['name'] verbose_name = 'event goal' verbose_name_plural = 'event goals'
class Campaign(models.Model): """Campaign/Initiatives model. As of March 2015 this serves as the Initiative model used both in events and reports app. """ name = models.CharField(max_length=100) active = models.BooleanField(default=True) objects = models.Manager() active_objects = GenericActiveManager() class Meta: ordering = ['name'] verbose_name = 'initiative' verbose_name_plural = 'initiatives' def __unicode__(self): return self.name def get_absolute_delete_url(self): return reverse('delete_campaign', kwargs={'pk': self.id}) def get_absolute_edit_url(self): return reverse('edit_campaign', kwargs={'pk': self.id})
class MobilisingSkill(models.Model): """Mobilising expertise.""" name = models.CharField(max_length=100, unique=True) slug = models.SlugField(blank=True, max_length=100) active = models.BooleanField(default=True) objects = models.Manager() active_objects = GenericActiveManager() def save(self, *args, **kwargs): # Create unique slug if not self.slug: self.slug = slugify(self.name, instance=self) super(MobilisingSkill, self).save(*args, **kwargs) def get_absolute_edit_url(self): return reverse('edit_mobilising_skills', kwargs={'pk': self.id}) def __str__(self): return self.name class Meta: ordering = ['name'] verbose_name = 'mobilizing expertise' verbose_name_plural = 'mobilizing expertise'
class EventMetric(models.Model): """New generation event metrics.""" name = models.CharField(max_length=100) active = models.BooleanField(default=True) objects = models.Manager() active_objects = GenericActiveManager() class Meta: ordering = ['name'] def __str__(self): return self.name def get_absolute_edit_url(self): return reverse('edit_metric', kwargs={'pk': self.id})
class Campaign(models.Model): name = models.CharField(max_length=100) active = models.BooleanField(default=True) objects = models.Manager() active_objects = GenericActiveManager() class Meta: ordering = ['name'] verbose_name = 'campaign' verbose_name_plural = 'campaigns' def __unicode__(self): return self.name def get_absolute_delete_url(self): return reverse('delete_campaign', kwargs={'pk': self.id}) def get_absolute_edit_url(self): return reverse('edit_campaign', kwargs={'pk': self.id})