-
Notifications
You must be signed in to change notification settings - Fork 0
/
models.py
33 lines (26 loc) · 1022 Bytes
/
models.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from django.db import models
from django.contrib.auth.models import User
from django.utils.translation import ugettext_lazy as _
from cross.models import Topic
class Room(Topic):
name = models.CharField(
_('Room Name'), max_length=50, unique=True)
description = models.TextField(
_('Room Description'), null=True, default=None, blank=True)
class Meta:
verbose_name = _('Room')
verbose_name_plural = _('Room')
permissions = (
('join_anyroom', 'Join Any Room', ),
)
def is_authorized(self, username, *args, **kwargs):
user = User.objects.filter(username=username).first()
if user and user.has_perm('chat.join_anyroom'):
return True
return self.topicuser_set.filter(user__user=user).exists()
class Announce(models.Model):
room = models.ForeignKey(Room)
message = models.TextField(_('Announce Text'))
class Meta:
verbose_name = _('Announce')
verbose_name_plural = _('Announce')