Revision a0440975
Added by Mikaël Ates over 12 years ago
calebasse/actes/models.py | ||
---|---|---|
23 | 23 |
verbose_name=u'Etat précédent', |
24 | 24 |
editable=False, blank=True, null=True) |
25 | 25 |
# To record if the validation has be done by the automated validation |
26 |
auto = models.BooleanField(default=False,
|
|
26 |
auto = models.BooleanField(default=False, |
|
27 | 27 |
verbose_name=u'Vérouillage') |
28 | 28 |
|
29 | 29 |
|
30 | 30 |
class Act(models.Model): |
31 |
patient = models.ForeignKey('dossiers.PatientRecord') |
|
32 |
date = models.DateTimeField() |
|
31 | 33 |
act_type = models.ForeignKey('ressources.ActType', |
32 | 34 |
verbose_name=u'Type d\'acte') |
33 |
validated = models.BooleanField(blank=True, |
|
34 |
verbose_name=u'Validé') |
|
35 |
date = models.DateTimeField() |
|
36 |
patient = models.ForeignKey('dossiers.PatientRecord') |
|
35 |
validation_locked = models.BooleanField(default=False, |
|
36 |
verbose_name=u'Vérouillage') |
|
37 | 37 |
transport_company = models.ForeignKey('ressources.TransportCompany', |
38 | 38 |
blank=True, |
39 | 39 |
null=True, |
... | ... | |
46 | 46 |
limit_choices_to={'type__intervene': True}, |
47 | 47 |
verbose_name=u'Thérapeutes') |
48 | 48 |
|
49 |
def is_absent(self): |
|
50 |
if self.get_state() in ('ABS_NON_EXC', 'ABS_EXC', 'ANNUL_NOUS', |
|
51 |
'ANNUL_FAMILLE', 'ABS_ESS_PPS', 'ENF_HOSP'): |
|
52 |
return True |
|
53 |
|
|
54 |
def get_state(self): |
|
55 |
return self.actvalidationstate_set.latest('created') |
|
56 |
|
|
57 |
def is_state(self, state_name): |
|
58 |
state = self.get_state() |
|
59 |
if state and state.state_name == state_name: |
|
60 |
return True |
|
61 |
return False |
|
62 |
|
|
63 |
def set_state(self, state_name, author, auto=False, |
|
64 |
change_state_check=True): |
|
65 |
if not author: |
|
66 |
raise Exception('Missing author to set state') |
|
67 |
if not state_name in VALIDATION_STATES.keys(): |
|
68 |
raise Exception("Etat d'acte non existant %s") |
|
69 |
current_state = self.get_state() |
|
70 |
ActValidationState(act=self, state_name=state_name, |
|
71 |
author=author, previous_state=current_state).save() |
|
72 |
|
|
49 | 73 |
def __unicode__(self): |
50 | 74 |
return '{0} le {1} pour {2} avec {3}'.format( |
51 | 75 |
self.act_type, self.date, self.patient, |
Also available in: Unified diff
actes: reorder field and add validation management functions to Act model.