You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
from django.db import models
|
|
from django.utils.translation import gettext_lazy as _
|
|
from contrib.models import CommonModel
|
|
from members.rules import may_view, may_change, may_delete
|
|
from contrib.rules import has_global_perm
|
|
from .base import ContactWithPhoneNumber
|
|
from .member import Member
|
|
|
|
class EmergencyContact(ContactWithPhoneNumber):
|
|
"""
|
|
Emergency contact of a member
|
|
"""
|
|
member = models.ForeignKey(Member, verbose_name=_('Member'), on_delete=models.CASCADE)
|
|
email = models.EmailField(max_length=100, default='', blank=True)
|
|
|
|
def __str__(self):
|
|
return str(self.member)
|
|
|
|
class Meta(CommonModel.Meta):
|
|
verbose_name = _('Emergency contact')
|
|
verbose_name_plural = _('Emergency contacts')
|
|
rules_permissions = {
|
|
'add_obj': may_change | has_global_perm('members.change_global_member'),
|
|
'view_obj': may_view | has_global_perm('members.view_global_member'),
|
|
'change_obj': may_change | has_global_perm('members.change_global_member'),
|
|
'delete_obj': may_delete | has_global_perm('members.delete_global_member'),
|
|
}
|