X-Git-Url: https://git.llucax.com/software/sercom.git/blobdiff_plain/4ad9a93a62ad9629de45e53270442e2be70049b6..7e9b43b2435668edbd58b304ef02c1171afec5a8:/sercom/model.py diff --git a/sercom/model.py b/sercom/model.py index 4ddab71..9124dde 100644 --- a/sercom/model.py +++ b/sercom/model.py @@ -841,7 +841,10 @@ class Rol(SQLObject): #{{{ # No es un SQLObject porque no tiene sentido agregar/sacar permisos, están # hardcodeados en el código class Permiso(object): #{{{ + max_valor = 1 def __init__(self, nombre, descripcion): + self.valor = Permiso.max_valor + Permiso.max_valor <<= 1 self.nombre = nombre self.descripcion = descripcion @@ -853,6 +856,12 @@ class Permiso(object): #{{{ def permission_name(self): # para identity return self.nombre + def __and__(self, other): + return self.valor & other.valor + + def __or__(self, other): + return self.valor | other.valor + def __repr__(self): return self.nombre #}}}