| author | ymh <ymh.work@gmail.com> |
| Mon, 24 Jul 2017 16:58:34 +0200 | |
| changeset 126 | ba8bc0199464 |
| parent 117 | 9864fe2067cd |
| child 131 | adad5563603c |
| permissions | -rw-r--r-- |
| 24 | 1 |
""" |
2 |
auth module that defines irinotes' users and group |
|
3 |
""" |
|
4 |
from django.contrib.auth.models import AbstractUser, Group |
|
5 |
from django.db import models |
|
6 |
from django.utils.translation import ugettext_lazy as _ |
|
7 |
||
8 |
||
9 |
class User(AbstractUser): |
|
10 |
class Meta: |
|
11 |
verbose_name = _('User') |
|
12 |
verbose_name_plural = _('Users') |
|
13 |
||
|
117
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
24
diff
changeset
|
14 |
|
| 24 | 15 |
class UserProfile(models.Model): |
16 |
user = models.OneToOneField(User, on_delete=models.CASCADE) |
|
|
117
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
24
diff
changeset
|
17 |
|
| 24 | 18 |
class Meta: |
19 |
verbose_name = _('UserProfile') |
|
20 |
verbose_name_plural = _('UserProfiles') |
|
21 |
||
22 |
||
23 |
class GroupProfile(models.Model): |
|
|
117
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
24
diff
changeset
|
24 |
group = models.OneToOneField( |
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
24
diff
changeset
|
25 |
Group, unique=True, on_delete=models.CASCADE, related_name='profile') |
| 24 | 26 |
description = models.TextField(null=True, blank=True) |
|
117
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
24
diff
changeset
|
27 |
# TODO: manage when user is deleted: put first user as owner. delete group if empty |
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
24
diff
changeset
|
28 |
owner = models.ForeignKey(User, on_delete=models.SET_NULL, null=True) |
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
24
diff
changeset
|
29 |
|
| 24 | 30 |
class Meta: |
31 |
verbose_name = _('GroupProfile') |
|
32 |
verbose_name_plural = _('GroupProfiles') |