Merge branch 'feature-contacts' into develop
Conflicts: webapp/admin.py webapp/models.py webapp/views.py
This commit is contained in:
+44
-18
@@ -90,26 +90,26 @@ class Registration(models.Model):
|
||||
class BaseRole(models.Model):
|
||||
"""Base model for occupations/roles."""
|
||||
|
||||
CATEGORIES = (
|
||||
('corporate', _('Corporate affairs')),
|
||||
('freshman', _('Freshmen')),
|
||||
('international', _('International')),
|
||||
('external', _('External affairs')),
|
||||
('media', _('Media')),
|
||||
('tech', _('Technology')),
|
||||
('wellbeing', _('Wellbeing')),
|
||||
('elepaja', _('Elepaja')),
|
||||
('ceremonies', _('Ceremonies')),
|
||||
('culture', _('Culture')),
|
||||
('studies', _('Studies')),
|
||||
('sosso', _('Sössö magazine')),
|
||||
('alumni', _('Alumni relations')),
|
||||
('others', _('Others')),
|
||||
)
|
||||
# CATEGORIES = (
|
||||
# ('corporate', _('Corporate affairs')),
|
||||
# ('freshman', _('Freshmen')),
|
||||
# ('international', _('International')),
|
||||
# ('external', _('External affairs')),
|
||||
# ('media', _('Media')),
|
||||
# ('tech', _('Technology')),
|
||||
# ('wellbeing', _('Wellbeing')),
|
||||
# ('elepaja', _('Elepaja')),
|
||||
# ('ceremonies', _('Ceremonies')),
|
||||
# ('culture', _('Culture')),
|
||||
# ('studies', _('Studies')),
|
||||
# ('sosso', _('Sössö magazine')),
|
||||
# ('alumni', _('Alumni relations')),
|
||||
# ('others', _('Others')),
|
||||
# )
|
||||
|
||||
name = models.CharField(_('Name'), max_length=255)
|
||||
is_board = models.BooleanField(_('Board member'))
|
||||
category = models.CharField(_('Category'), choices=CATEGORIES, default='others', max_length=255)
|
||||
# category = models.CharField(_('Category'), choices=CATEGORIES, default='others', max_length=255)
|
||||
|
||||
def __str__(self):
|
||||
n = self.name.capitalize()
|
||||
@@ -122,6 +122,28 @@ class PresetRole(BaseRole):
|
||||
description = models.TextField(_('Description'))
|
||||
|
||||
|
||||
class Committee(models.Model):
|
||||
"""
|
||||
Committee model
|
||||
Has many Roles found under variable roles
|
||||
"""
|
||||
|
||||
class Meta:
|
||||
"""Meta class for Committee class."""
|
||||
|
||||
verbose_name = _('Committee')
|
||||
verbose_name_plural = _('Committees')
|
||||
|
||||
def __str__(self):
|
||||
return _('Committee: {}').format(self.name)
|
||||
|
||||
name = models.CharField(_("Name"), max_length=255)
|
||||
|
||||
@property
|
||||
def current_roles(self):
|
||||
return self.roles.all().filter(end_date__gte=timezone.now()).filter(start_date__lte=timezone.now())
|
||||
|
||||
|
||||
class Role(PresetRole):
|
||||
"""
|
||||
Model for Role.
|
||||
@@ -138,7 +160,7 @@ class Role(PresetRole):
|
||||
|
||||
start_date = models.DateField(_('Start date'))
|
||||
end_date = models.DateField(_('End date'))
|
||||
official = models.ForeignKey('Official', related_name='roles')
|
||||
committee = models.ForeignKey('Committee', related_name='roles', on_delete=models.SET_NULL, null=True)
|
||||
|
||||
|
||||
class Official(User):
|
||||
@@ -151,6 +173,10 @@ class Official(User):
|
||||
verbose_name_plural = _('Officials')
|
||||
|
||||
phone_number = PhoneNumberField(_('Phone number'))
|
||||
role = models.ManyToManyField('Role', related_name='official')
|
||||
|
||||
def __str__(self):
|
||||
return '{} {}'.format(self.first_name, self.last_name)
|
||||
|
||||
|
||||
auditlog.register(Tag)
|
||||
|
||||
Reference in New Issue
Block a user