|
|
|
|
@ -3,6 +3,9 @@ from __future__ import unicode_literals |
|
|
|
|
import datetime |
|
|
|
|
import os |
|
|
|
|
|
|
|
|
|
from django.conf import settings |
|
|
|
|
from django.contrib.contenttypes.fields import GenericForeignKey |
|
|
|
|
from django.contrib.contenttypes.models import ContentType |
|
|
|
|
from django.db import models |
|
|
|
|
from django.db.models import Q |
|
|
|
|
|
|
|
|
|
@ -1672,3 +1675,25 @@ def set_opened(journal, point): |
|
|
|
|
if s: exam.save() |
|
|
|
|
|
|
|
|
|
journal.reload_progress() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Новое API |
|
|
|
|
class Thread(models.Model): |
|
|
|
|
subscribers = models.ManyToManyField(to=settings.AUTH_USER_MODEL, verbose_name=u'Подписчики') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Journal(models.Model): |
|
|
|
|
thread = models.ForeignKey(to=Thread, verbose_name=u'Тред') |
|
|
|
|
user = models.ForeignKey(to=settings.AUTH_USER_MODEL, verbose_name=u'Инициатор действия') |
|
|
|
|
content_type = models.ForeignKey(to=ContentType) |
|
|
|
|
object_id = models.PositiveIntegerField() |
|
|
|
|
content_object = GenericForeignKey('content_type', 'object_id') |
|
|
|
|
action_type = models.ForeignKey(to=Action) |
|
|
|
|
|
|
|
|
|
def __str__(self): |
|
|
|
|
return 'Пользователь %s %s' % (self.user.email, self.action_type.name) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Action(models.Model): |
|
|
|
|
name = models.CharField(max_length=255, verbose_name=u'Наименование действия (на английском)') |
|
|
|
|
text = models.TextField(verbose_name=u'Описание действия') |