def __user_has_super_admin_role(self): from .local_config import SUPERADMINROLE return db.object_session(self).query(db.func.count(User.id) > 0).join( User.active_roles, UserAccROLE.role ).filter( AccROLE.name == SUPERADMINROLE, User.id == self.id ).scalar()
def __user_has_admin_role(self): from .local_config import CFG_ACC_ACTIVITIES_URLS return self.has_super_admin_role or db.object_session(self).query( db.func.count(User.id) > 0 ).join( User.active_roles, UserAccROLE.role, AccROLE.authorizations ).filter( AccAuthorization.id_accACTION.in_( db.select([AccACTION.id]).where( AccACTION.name.in_(CFG_ACC_ACTIVITIES_URLS.keys()) ) ), User.id == self.id ).scalar()
lazy="dynamic", primaryjoin=db.and_( User.id == UserAccROLE.id_user, UserAccROLE.expiration >= db.func.now() ) ) User.has_admin_role = property( lambda self: self.has_super_admin_role or db.object_session(self).query( db.func.count(User.id) > 0 ).join( User.active_roles, UserAccROLE.role, AccROLE.authorizations ).filter( AccAuthorization.id_accACTION.in_( db.select([AccACTION.id]).where( AccACTION.name.in_(CFG_ACC_ACTIVITIES_URLS.keys()) ) ), User.id == self.id ).scalar() ) User.has_super_admin_role = property( lambda self: db.object_session(self).query(db.func.count(User.id) > 0).join( User.active_roles, UserAccROLE.role ).filter( AccROLE.name == SUPERADMINROLE,