Package sapproject :: Package views :: Module main
[hide private]
[frames] | no frames]

Source Code for Module sapproject.views.main

 1  import re 
 2  from pyramid.httpexceptions import HTTPFound, HTTPNotFound 
 3  from pyramid.view import view_config, forbidden_view_config 
 4  from pyramid.security import remember, forget, authenticated_userid, effective_principals 
 5  from sapproject.models.security import * 
 6  from sapproject.models.usuario import * 
 7  from sapproject.models.rol import * 
8 9 @view_config(route_name='main_view', renderer='../templates/main.pt', permission='admin') 10 -def main_view(request):
11 """ 12 Muestra el main 13 @param request: objeto que encapsula la peticion del servidor 14 """ 15 return {}
16
17 @view_config(route_name='home_view', renderer='../templates/index.pt') 18 -def home_view(request):
19 """ 20 Si la autenticacion es correcta le muestra la pantalla principal al usuario 21 sino vuelve a mostrarle el login 22 @param request: objeto que encapsula la peticion del servidor 23 """ 24 if authenticated_userid(request): 25 return HTTPFound(location=request.route_url('main_view')) 26 return HTTPFound(location=request.route_url('login_view'))
27
28 @view_config(route_name='llenar_combo_proyecto_json', renderer='json') 29 -def llenar_combo_proyecto(request):
30 """ 31 Llena el combo correspondiente a los proyectos que le pertenecen a ese usuario 32 mediante la relacion ProyectoUsuarioRoles 33 @param request: objeto que encapsula la peticion del servidor 34 @return: la cantidad de proyectos de ese Usuario y la lista de proyectos con su rol respectivo que tiene el usuario 35 """ 36 userid = authenticated_userid(request) 37 usuario = DBSession.query(Usuario).filter_by(nick=userid).first() 38 lista = usuario.roles_x_proyecto 39 if len(lista) == 0: 40 return {'total':0, 'data':[]} 41 else: 42 data = [] 43 for rp in lista: 44 item = {} 45 item['proyecto'] = rp.proyecto.nombre 46 item['rol'] = rp.rol.nombre 47 item['proyecto_rol'] = '{0} ({1})'.format(rp.proyecto.nombre,rp.rol.nombre) 48 data.append(item) 49 return {'total':len(data), 'data':data}
50