This repository has been archived on 2023-02-21. You can view files and clone it, but cannot push or open issues or pull requests.
polynum/polynum/base/models/rbac.py

40 lines
1.2 KiB
Python

# -*- coding: utf-8 -*-
"""
Gestion des rôles et autorisations :
- un groupe a des rôles sur certaines entités
- un rôles peut faire certaines actions sur les demandes selon leur status
"""
from django.db import models
from django.utils.translation import ugettext_lazy as _
import user
class Role(models.Model):
class Meta:
app_label = 'base'
verbose_name = _(u'Rôle')
verbose_name_plural = _(u'Rôles')
def __unicode__(self):
return self.name
id = models.CharField(max_length=40, primary_key=True, verbose_name=_(u'Code rôle'))
name = models.CharField(max_length=128, verbose_name=_(u'Nom du rôle'))
class RoleAssociation(models.Model):
class Meta:
app_label = 'base'
verbose_name = _(u"Association utilisateur,entité -> rôle")
verbose_name_plural = _(u"Associations utilisateur,entité -> rôle")
def __unicode__(self):
return u'%s,%s -> %s' % (self.user, self.entity, self.role)
user = models.ForeignKey(user.User, verbose_name=_(u'Utilisateur'))
entity = models.ForeignKey('Entity', verbose_name=_(u'Entité administrative'))
role = models.ForeignKey('Role', verbose_name=_(u'Rôle'))