]> git.llucax.com Git - software/sercom.git/blobdiff - sercom/model.py
Reporar mejor los errores en subcontrollers.validate.
[software/sercom.git] / sercom / model.py
index 4ddab71a39fb51f70d4d0f4c5e965d9849eb7e82..9124dde8dfbb06822493e6c6473ac4aae53f8023 100644 (file)
@@ -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): #{{{
 # 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):
     def __init__(self, nombre, descripcion):
+        self.valor = Permiso.max_valor
+        Permiso.max_valor <<= 1
         self.nombre = nombre
         self.descripcion = descripcion
 
         self.nombre = nombre
         self.descripcion = descripcion
 
@@ -853,6 +856,12 @@ class Permiso(object): #{{{
     def permission_name(self): # para identity
         return self.nombre
 
     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
 #}}}
     def __repr__(self):
         return self.nombre
 #}}}