vigiboard / vigiboard / model / vigiboard_bdd / grouppermissions.py @ 49c8da1d
History | View | Annotate | Download (1.17 KB)
1 |
# -*- coding: utf-8 -*-
|
---|---|
2 |
"""Model For GroupPermissions Table"""
|
3 |
|
4 |
from sqlalchemy.orm import mapper, relation |
5 |
from sqlalchemy import Table, ForeignKeyConstraint, Column |
6 |
from sqlalchemy.types import Integer, String, Text, DateTime |
7 |
|
8 |
from vigiboard.model import metadata, Permission |
9 |
|
10 |
from vigiboard.model.vigiboard_bdd import Groups |
11 |
|
12 |
from tg import config |
13 |
|
14 |
# Generation par SQLAutoCode
|
15 |
grouppermissions = Table(config['vigiboard_bdd.basename'] + 'grouppermissions', metadata, |
16 |
Column(u'groupname', String(length=100, convert_unicode=False, assert_unicode=None), primary_key=True, nullable=False), |
17 |
Column(u'idpermission', Integer(), primary_key=True, nullable=False), |
18 |
ForeignKeyConstraint([u'groupname'], [config['vigiboard_bdd.basename'] + u'groups.name'], name=u'grouppermissions_ibfk_1'), |
19 |
) |
20 |
|
21 |
# Classe a mapper
|
22 |
|
23 |
class GroupPermissions(object): |
24 |
def get_grp (self,user_p): |
25 |
events = DBSession.query(Groups).join( |
26 |
( GroupPermissions , Groups.name == GroupPermission.groupname ), |
27 |
( Permission , Permission.permission_id == GroupPermissions.idpermission ) |
28 |
).filter(in_(Permission.permission_name,user_p)) |
29 |
return events
|
30 |
|
31 |
mapper(GroupPermissions,grouppermissions) |
32 |
|