X-Git-Url: https://git.llucax.com/software/sercom.git/blobdiff_plain/4ad9a93a62ad9629de45e53270442e2be70049b6..db587d0d4ce6518b3c4f8cf18989fc1f65b40c5e:/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 #}}}