src/notes/models/core.py
author ymh <ymh.work@gmail.com>
Wed, 14 Jun 2017 15:17:51 +0200
changeset 31 63be3ce389f7
parent 24 3b3999550508
child 71 75dc1e794cf4
permissions -rw-r--r--
improve api

"""
irinotes core module
"""
from django.conf import settings
from django.db import models
from django.utils.translation import ugettext_lazy as _

from .base import Model


class Session(Model):
    class Meta:
        verbose_name = _('Session')
        verbose_name_plural = _('Sessions')

    owner = models.ForeignKey(
        settings.AUTH_USER_MODEL,
        on_delete=models.CASCADE,
    )
    title = models.TextField(
        null=True,
        blank=True,
        verbose_name=_('Session|title')
    )
    description = models.TextField(
        null=True,
        blank=True,
        verbose_name=_('Session|description')
    )
    protocol = models.TextField(
        null=True,
        blank=True,
        verbose_name=_('Session|protocol')
    )


class Note(Model):
    class Meta:
        verbose_name = _('Note')
        verbose_name_plural = _('Notes')
        ordering = ["tc_start"]

    tc_start = models.DateTimeField(verbose_name=_('Note|tc_start'))
    tc_end = models.DateTimeField(verbose_name=_('Note|tc_end'))
    session = models.ForeignKey(
        Session,
        on_delete=models.CASCADE,
        related_name='notes',
        verbose_name=_('Note|session')
    )
    plain = models.TextField(
        null=True,
        blank=True,
        verbose_name=_('Note|plain')
    )
    html = models.TextField(
        null=True,
        blank=True,
        verbose_name=_('Note|html')
    )
    raw = models.TextField(
        null=True,
        blank=True,
        verbose_name=_('Note|raw')
    )
    margin_note = models.TextField(
        null=True,
        blank=True,
        verbose_name=_('Note|margin_note')
    )
    categorization = models.TextField(
        null=True,
        blank=True,
        verbose_name=_('Note|categorization')
    )