Project

General

Profile

« Previous | Next » 

Revision a0440975

Added by Mikaël Ates over 12 years ago

actes: reorder field and add validation management functions to Act model.

View differences:

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