Пример #1
0
class MeetingAttendee(utils.BaseModel):
    meeting = utils.ForeignKey(Meeting, verbose_name='会议', editable=False)
    user = utils.ForeignKey(User, verbose_name='参与人', editable=False)

    class Meta:
        unique_together = ('user', 'meeting')
        verbose_name = verbose_name_plural = "参会人"
Пример #2
0
class UserFollowRoom(utils.BaseModel):
    user = utils.ForeignKey(User, verbose_name='关注人')
    room = utils.ForeignKey(Room, verbose_name='会议室', related_name='follows')

    class Meta:
        unique_together = ('user', 'room')
        verbose_name = verbose_name_plural = "用户关注会议室"
Пример #3
0
class MeetingTrace(utils.BaseModel):
    meeting = utils.ForeignKey(Meeting, verbose_name='会议')
    user = utils.ForeignKey(User, verbose_name='操作人')
    owner = models.BooleanField(verbose_name='是否发起人自己操作')
    type = models.IntegerField(
        verbose_name='操作类型',
        choices=constants.MeetingTraceTypeCode.get_choices_list())
    data = models.CharField(verbose_name='详细信息', max_length=4096, default='')

    class Meta:
        verbose_name = verbose_name_plural = "会议操作历史"
Пример #4
0
class Room(utils.BaseModel):
    name = models.CharField(verbose_name='名称', default='', max_length=64)
    description = models.CharField(verbose_name='描述', default='', max_length=255)
    create_user = utils.ForeignKey(User, verbose_name='创建人', related_name='create_rooms')
    qr_code = models.ImageField('二维码', upload_to="%Y/%m/%d/", max_length=512, null=False, default='')

    class Meta:
        verbose_name = verbose_name_plural = "会议室"
Пример #5
0
class Meeting(utils.BaseModel):
    name = models.CharField(verbose_name='名称', default='', max_length=64)
    description = models.CharField(verbose_name='描述', default='', max_length=255)
    user = utils.ForeignKey(User, verbose_name='发起人', related_name='reserve_meetings')
    room = utils.ForeignKey(Room, verbose_name='会议室')
    date = models.DateField(verbose_name='会议日期', db_index=True)
    start_time = models.TimeField(verbose_name='开始时间')
    end_time = models.TimeField(verbose_name='结束时间')

    @property
    def attendees(self):
        return User.objects.filter(
            meetingattendee__meeting_id=self.pk, meetingattendee__delete_status=constants.DELETE_CODE.NORMAL.code
        )

    class Meta:
        verbose_name = verbose_name_plural = "会议"
Пример #6
0
class Room(utils.BaseModel):
    name = models.CharField(verbose_name='名称', default='', max_length=64)
    description = models.CharField(verbose_name='描述',
                                   default='',
                                   max_length=255,
                                   blank=True)
    create_user = utils.ForeignKey(User,
                                   verbose_name='创建人',
                                   related_name='create_rooms',
                                   editable=False)
    qr_code = models.ImageField('二维码',
                                upload_to="%Y/%m/%d/",
                                max_length=512,
                                null=False,
                                default='',
                                editable=False)
    create_user_manager = models.BooleanField(verbose_name='创建人管理权限',
                                              default=False,
                                              help_text='会议室创建人可以管理该会议室内所有会议')

    class Meta:
        verbose_name = verbose_name_plural = "会议室"