Revision 20367931
Réorganisation du code (controllers, etc)
Mise en place d'un système de plugin pour ajouter des colonnes à la volée
Internationalisation complète
Création de quelques tests
git-svn-id: https://vigilo-dev.si.c-s.fr/svn@274 b22e2e97-25c9-44ff-b637-2e5ceca36478
vigiboard/model/vigiboard_bdd/grouppermissions.py | ||
---|---|---|
1 | 1 |
# -*- coding: utf-8 -*- |
2 |
"""Model For GroupPermissions Table""" |
|
2 |
# vim:set expandtab tabstop=4 shiftwidth=4: |
|
3 |
"""Modèle pour la table GroupPermissions""" |
|
3 | 4 |
|
4 | 5 |
from sqlalchemy.orm import mapper, relation |
5 |
from sqlalchemy import Table, ForeignKeyConstraint, Column
|
|
6 |
from sqlalchemy import Table, ForeignKey, Column |
|
6 | 7 |
from sqlalchemy.types import Integer, String, Text, DateTime |
7 | 8 |
|
8 | 9 |
from vigiboard.model import metadata, Permission |
9 | 10 |
|
10 | 11 |
from vigiboard.model.vigiboard_bdd import Groups |
11 | 12 |
|
12 |
from tg import config
|
|
13 |
from vigiboard.config.vigiboard_config import vigiboard_config
|
|
13 | 14 |
|
14 | 15 |
# 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'), |
|
16 |
|
|
17 |
grouppermissions = Table(vigiboard_config['vigiboard_bdd.basename'] + 'grouppermissions', metadata, |
|
18 |
Column(u'groupname', String(length=100, convert_unicode=True, assert_unicode=None), ForeignKey(vigiboard_config['vigiboard_bdd.basename'] +'groups.name'),primary_key=True, nullable=False), |
|
19 |
Column(u'idpermission', Integer(), autoincrement=False,primary_key=True, nullable=False), |
|
20 |
mysql_engine='InnoDB', |
|
21 |
mysql_charset='utf8' |
|
19 | 22 |
) |
20 | 23 |
|
21 | 24 |
# Classe a mapper |
22 | 25 |
|
23 | 26 |
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 |
|
27 |
|
|
28 |
""" |
|
29 |
Classe liée avec la table associée |
|
30 |
""" |
|
30 | 31 |
|
31 |
mapper(GroupPermissions,grouppermissions) |
|
32 |
def __init__(self,groupname,idpermission=0): |
|
33 |
self.groupname = groupname |
|
34 |
self.idpermission = idpermission |
|
32 | 35 |
|
36 |
mapper(GroupPermissions,grouppermissions) |
Also available in: Unified diff