diff --git a/journals/models.py b/journals/models.py index 6616ccf..8f18627 100755 --- a/journals/models.py +++ b/journals/models.py @@ -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'Описание действия') \ No newline at end of file