src/hdalab/models/renkan.py
author ymh <ymh.work@gmail.com>
Fri, 19 Jul 2024 09:38:03 +0200
changeset 704 b5835dca2624
parent 559 1357a0cfdbf7
child 693 09e00f38d177
permissions -rw-r--r--
Adapt renkan preview to uses chrome headless/puppeteer
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
462
df8b3b49e81c correct bug and add email sending
ymh <ymh.work@gmail.com>
parents: 458
diff changeset
     1
# -*- coding: utf-8 -*-
295
af29252631ac renkan object with thumbnail
cavaliet
parents:
diff changeset
     2
'''
af29252631ac renkan object with thumbnail
cavaliet
parents:
diff changeset
     3
Created on Jul 17, 2014
af29252631ac renkan object with thumbnail
cavaliet
parents:
diff changeset
     4
af29252631ac renkan object with thumbnail
cavaliet
parents:
diff changeset
     5
@author: tc
af29252631ac renkan object with thumbnail
cavaliet
parents:
diff changeset
     6
'''
462
df8b3b49e81c correct bug and add email sending
ymh <ymh.work@gmail.com>
parents: 458
diff changeset
     7
import logging
458
604b887e70c3 add state history to renkan, correct get into post, generally prepare ground for mail management
ymh <ymh.work@gmail.com>
parents: 329
diff changeset
     8
from renkanmanager.models import Renkan
604b887e70c3 add state history to renkan, correct get into post, generally prepare ground for mail management
ymh <ymh.work@gmail.com>
parents: 329
diff changeset
     9
604b887e70c3 add state history to renkan, correct get into post, generally prepare ground for mail management
ymh <ymh.work@gmail.com>
parents: 329
diff changeset
    10
from django.conf import settings
295
af29252631ac renkan object with thumbnail
cavaliet
parents:
diff changeset
    11
from django.db import models
559
1357a0cfdbf7 continue django 1.7 upgrade
ymh <ymh.work@gmail.com>
parents: 492
diff changeset
    12
from django.utils.translation import ugettext_lazy as _
295
af29252631ac renkan object with thumbnail
cavaliet
parents:
diff changeset
    13
af29252631ac renkan object with thumbnail
cavaliet
parents:
diff changeset
    14
462
df8b3b49e81c correct bug and add email sending
ymh <ymh.work@gmail.com>
parents: 458
diff changeset
    15
logger = logging.getLogger(__name__)
df8b3b49e81c correct bug and add email sending
ymh <ymh.work@gmail.com>
parents: 458
diff changeset
    16
299
8e00641076e7 remove renkan management to an other django app (see renkan hg repo)
cavaliet
parents: 295
diff changeset
    17
class HdalabRenkan(models.Model):
295
af29252631ac renkan object with thumbnail
cavaliet
parents:
diff changeset
    18
    
af29252631ac renkan object with thumbnail
cavaliet
parents:
diff changeset
    19
    EDITION = 1
329
ea6268cf8c83 renkan state management for staff members : publish, unpublish, reject.
cavaliet
parents: 299
diff changeset
    20
    MODERATED = 2
ea6268cf8c83 renkan state management for staff members : publish, unpublish, reject.
cavaliet
parents: 299
diff changeset
    21
    PUBLISHED = 3
295
af29252631ac renkan object with thumbnail
cavaliet
parents:
diff changeset
    22
    REJECTED = 4
af29252631ac renkan object with thumbnail
cavaliet
parents:
diff changeset
    23
      
af29252631ac renkan object with thumbnail
cavaliet
parents:
diff changeset
    24
    STATE_CHOICES = (
af29252631ac renkan object with thumbnail
cavaliet
parents:
diff changeset
    25
    (EDITION, 'edition'),
329
ea6268cf8c83 renkan state management for staff members : publish, unpublish, reject.
cavaliet
parents: 299
diff changeset
    26
    (MODERATED, 'moderated'),
295
af29252631ac renkan object with thumbnail
cavaliet
parents:
diff changeset
    27
    (PUBLISHED, 'published'),
af29252631ac renkan object with thumbnail
cavaliet
parents:
diff changeset
    28
    (REJECTED, 'rejected'),
af29252631ac renkan object with thumbnail
cavaliet
parents:
diff changeset
    29
    )
af29252631ac renkan object with thumbnail
cavaliet
parents:
diff changeset
    30
    
329
ea6268cf8c83 renkan state management for staff members : publish, unpublish, reject.
cavaliet
parents: 299
diff changeset
    31
    STATE_CHOICES_DICT = {
ea6268cf8c83 renkan state management for staff members : publish, unpublish, reject.
cavaliet
parents: 299
diff changeset
    32
        EDITION: _('edition_state'),
ea6268cf8c83 renkan state management for staff members : publish, unpublish, reject.
cavaliet
parents: 299
diff changeset
    33
        MODERATED: _('moderated_state'),
ea6268cf8c83 renkan state management for staff members : publish, unpublish, reject.
cavaliet
parents: 299
diff changeset
    34
        PUBLISHED: _('published_state'),
ea6268cf8c83 renkan state management for staff members : publish, unpublish, reject.
cavaliet
parents: 299
diff changeset
    35
        REJECTED: _('rejected_state')
ea6268cf8c83 renkan state management for staff members : publish, unpublish, reject.
cavaliet
parents: 299
diff changeset
    36
    }
ea6268cf8c83 renkan state management for staff members : publish, unpublish, reject.
cavaliet
parents: 299
diff changeset
    37
    
299
8e00641076e7 remove renkan management to an other django app (see renkan hg repo)
cavaliet
parents: 295
diff changeset
    38
    renkan = models.ForeignKey(Renkan, blank=False, null=False)
295
af29252631ac renkan object with thumbnail
cavaliet
parents:
diff changeset
    39
    state = models.IntegerField(choices=STATE_CHOICES, default=1)
473
f469ab22542d add favorite management
ymh <ymh.work@gmail.com>
parents: 466
diff changeset
    40
    favorite = models.BooleanField(null=False, blank=False, default=False)
295
af29252631ac renkan object with thumbnail
cavaliet
parents:
diff changeset
    41
    
af29252631ac renkan object with thumbnail
cavaliet
parents:
diff changeset
    42
    class Meta:
af29252631ac renkan object with thumbnail
cavaliet
parents:
diff changeset
    43
        app_label = 'hdalab'
458
604b887e70c3 add state history to renkan, correct get into post, generally prepare ground for mail management
ymh <ymh.work@gmail.com>
parents: 329
diff changeset
    44
604b887e70c3 add state history to renkan, correct get into post, generally prepare ground for mail management
ymh <ymh.work@gmail.com>
parents: 329
diff changeset
    45
604b887e70c3 add state history to renkan, correct get into post, generally prepare ground for mail management
ymh <ymh.work@gmail.com>
parents: 329
diff changeset
    46
class HdalabRenkanStateTransition(models.Model):
604b887e70c3 add state history to renkan, correct get into post, generally prepare ground for mail management
ymh <ymh.work@gmail.com>
parents: 329
diff changeset
    47
492
19220d52bce7 add preview calculation
ymh <ymh.work@gmail.com>
parents: 474
diff changeset
    48
    renkan = models.ForeignKey(HdalabRenkan, blank=False, null=False, related_name='states')
458
604b887e70c3 add state history to renkan, correct get into post, generally prepare ground for mail management
ymh <ymh.work@gmail.com>
parents: 329
diff changeset
    49
    from_state = models.IntegerField(choices=HdalabRenkan.STATE_CHOICES, default=1, blank=False, null=False)
604b887e70c3 add state history to renkan, correct get into post, generally prepare ground for mail management
ymh <ymh.work@gmail.com>
parents: 329
diff changeset
    50
    to_state = models.IntegerField(choices=HdalabRenkan.STATE_CHOICES, default=1, blank=False, null=False)
604b887e70c3 add state history to renkan, correct get into post, generally prepare ground for mail management
ymh <ymh.work@gmail.com>
parents: 329
diff changeset
    51
    ts = models.DateTimeField(auto_now_add=True, blank=False, null=False)
604b887e70c3 add state history to renkan, correct get into post, generally prepare ground for mail management
ymh <ymh.work@gmail.com>
parents: 329
diff changeset
    52
    message = models.TextField(blank=True, null=True)
604b887e70c3 add state history to renkan, correct get into post, generally prepare ground for mail management
ymh <ymh.work@gmail.com>
parents: 329
diff changeset
    53
    author = models.ForeignKey(settings.AUTH_USER_MODEL, blank=False, null=False)
604b887e70c3 add state history to renkan, correct get into post, generally prepare ground for mail management
ymh <ymh.work@gmail.com>
parents: 329
diff changeset
    54
    
604b887e70c3 add state history to renkan, correct get into post, generally prepare ground for mail management
ymh <ymh.work@gmail.com>
parents: 329
diff changeset
    55
    class Meta:
604b887e70c3 add state history to renkan, correct get into post, generally prepare ground for mail management
ymh <ymh.work@gmail.com>
parents: 329
diff changeset
    56
        app_label = 'hdalab'
492
19220d52bce7 add preview calculation
ymh <ymh.work@gmail.com>
parents: 474
diff changeset
    57
        ordering = ["-ts"]