예제 #1
0
파일: base.py 프로젝트: auf/cartographie
    def __init__(self, request, token, formation_id):
        self.token = token
        self.formation = Formation.objects.get(pk=formation_id)
        self.statuts_valides = UserRole.valid_status(request.user, self.token, self.formation)
        self.transitions = TRANSITIONS[self.formation.statut]
        self.boutons = {}

        for statut, nom, label_si_retro, label in \
                [(STATUTS.en_redaction, 'redaction', u"Retour en rédaction", u"Retour en rédaction"),
                 (STATUTS.validee, 'valider', u"Retour à validée", u"Valider"),
                 (STATUTS.publiee, 'publier', u"Retour à publiée", u"Publier"),
                 (STATUTS.supprimee, 'supprimer', u"Retour à supprimée", u"Supprimer")]:
            if statut in self.statuts_valides:
                retro = self.transitions[statut].get('retro', False)
                if retro:
                    view_name = 'formation_commentaire_avant_changement_statut'
                else:
                    view_name = 'formation_modifier_workflow'
                self.boutons[nom] = { 'retro': retro,
                                      'url': reverse(view_name, 
                                                     args=[self.token,
                                                           self.formation.id,
                                                           statut]),
                                      'class': 'modal-commentaire' if retro else '',
                                      'label': label_si_retro if retro else label }
예제 #2
0
    def set_statut(self, user, token, statut_id):
        has_permission = UserRole.has_permission_for_transition(
            user, token, self, statut_id)
            
        if has_permission:
            self.statut = statut_id

        return has_permission