| author | ymh <ymh.work@gmail.com> |
| Fri, 13 Apr 2018 15:41:00 +0200 | |
| branch | documentation |
| changeset 697 | 7cb2daf6da35 |
| parent 693 | 09e00f38d177 |
| permissions | -rw-r--r-- |
| 462 | 1 |
# -*- coding: utf-8 -*- |
| 295 | 2 |
''' |
3 |
Created on Jul 17, 2014 |
|
4 |
||
5 |
@author: tc |
|
6 |
''' |
|
| 462 | 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 | 11 |
from django.db import models |
| 559 | 12 |
from django.utils.translation import ugettext_lazy as _ |
| 295 | 13 |
|
14 |
||
| 462 | 15 |
logger = logging.getLogger(__name__) |
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): |
| 693 | 18 |
""" |
19 |
Classe representant un Renkan HDALab. |
|
20 |
Est utilisée pour ajouter au projet renkan des informations sur l'état d'édition ou bien si il est marqué comme favori. |
|
21 |
||
22 |
:cvar object renkan: Le renkan lui même. |
|
23 |
:cvar int state: État du renkan (1: en édition, 2: en modération, 3: publié, 4: rejeté). |
|
24 |
:cvar bool favorite: Le renkan est marqué comme favori ou pas. |
|
25 |
""" |
|
26 |
||
| 295 | 27 |
EDITION = 1 |
|
329
ea6268cf8c83
renkan state management for staff members : publish, unpublish, reject.
cavaliet
parents:
299
diff
changeset
|
28 |
MODERATED = 2 |
|
ea6268cf8c83
renkan state management for staff members : publish, unpublish, reject.
cavaliet
parents:
299
diff
changeset
|
29 |
PUBLISHED = 3 |
| 295 | 30 |
REJECTED = 4 |
| 693 | 31 |
|
| 295 | 32 |
STATE_CHOICES = ( |
33 |
(EDITION, 'edition'), |
|
|
329
ea6268cf8c83
renkan state management for staff members : publish, unpublish, reject.
cavaliet
parents:
299
diff
changeset
|
34 |
(MODERATED, 'moderated'), |
| 295 | 35 |
(PUBLISHED, 'published'), |
36 |
(REJECTED, 'rejected'), |
|
37 |
) |
|
| 693 | 38 |
|
|
329
ea6268cf8c83
renkan state management for staff members : publish, unpublish, reject.
cavaliet
parents:
299
diff
changeset
|
39 |
STATE_CHOICES_DICT = { |
|
ea6268cf8c83
renkan state management for staff members : publish, unpublish, reject.
cavaliet
parents:
299
diff
changeset
|
40 |
EDITION: _('edition_state'), |
|
ea6268cf8c83
renkan state management for staff members : publish, unpublish, reject.
cavaliet
parents:
299
diff
changeset
|
41 |
MODERATED: _('moderated_state'), |
|
ea6268cf8c83
renkan state management for staff members : publish, unpublish, reject.
cavaliet
parents:
299
diff
changeset
|
42 |
PUBLISHED: _('published_state'), |
|
ea6268cf8c83
renkan state management for staff members : publish, unpublish, reject.
cavaliet
parents:
299
diff
changeset
|
43 |
REJECTED: _('rejected_state') |
|
ea6268cf8c83
renkan state management for staff members : publish, unpublish, reject.
cavaliet
parents:
299
diff
changeset
|
44 |
} |
| 693 | 45 |
|
|
299
8e00641076e7
remove renkan management to an other django app (see renkan hg repo)
cavaliet
parents:
295
diff
changeset
|
46 |
renkan = models.ForeignKey(Renkan, blank=False, null=False) |
| 295 | 47 |
state = models.IntegerField(choices=STATE_CHOICES, default=1) |
| 473 | 48 |
favorite = models.BooleanField(null=False, blank=False, default=False) |
| 693 | 49 |
|
| 295 | 50 |
class Meta: |
51 |
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
|
52 |
|
|
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 |
|
|
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 |
class HdalabRenkanStateTransition(models.Model): |
| 693 | 55 |
""" |
56 |
Modélise un changement de statut du renkan. |
|
57 |
Permet de garder l'historique des changements de statut. |
|
58 |
||
59 |
:cvar object renkan: Le renkan. |
|
60 |
:cvar int from_state: le statut initial. |
|
61 |
:cvar int to_state: le statut final. |
|
62 |
:cvar datetime ts: date/heure du changement. |
|
63 |
:cvar str message: Message (optionel) associé au changement de statut. |
|
64 |
:cvar object author: Utilisateur ayant initié le changement de statut. |
|
65 |
""" |
|
|
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
|
66 |
|
| 492 | 67 |
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
|
68 |
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
|
69 |
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
|
70 |
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
|
71 |
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
|
72 |
author = models.ForeignKey(settings.AUTH_USER_MODEL, blank=False, null=False) |
| 693 | 73 |
|
|
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
|
74 |
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
|
75 |
app_label = 'hdalab' |
| 492 | 76 |
ordering = ["-ts"] |