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
5 from sapproject.models.usuario import *
6
7 @view_config(route_name='login_view', renderer='../templates/login.pt')
8 @forbidden_view_config(renderer='../templates/login.pt')
9 -def login_view(request):
10 """
11 Muestra el login
12 @param request: objeto que encapsula la peticion del servidor
13 """
14 return {}
15
16 @view_config(route_name='login_check_json', renderer='json')
17 -def login_check_json(request):
18 """
19 Trae los parametros ingreasados en el login y verifica que los datos ingresados en el login concuerden con algun
20 usuario registrado en el sistema
21 @param request: objeto que encapsula la peticion del servidor
22 @return: Retorna False si no fue encontrado ningun usuario con ese nick y ese password y True en caso contrario
23 y un mensaje para el usuario
24 """
25
26 user_name = request.params['name']
27 user_password = request.params['password']
28
29 usuario = DBSession.query(Usuario).filter_by(nick=user_name,password=user_password).first()
30
31 if usuario is None:
32
33 return {'success' : False, 'message' : 'Login failed'}
34
35
36 headers = remember(request, user_password)
37 request._response_headerlist_set(headers)
38
39 return {'success' : True, 'message' : 'Login successful'}
40
41 @view_config(route_name='logout_view')
42 -def logout_view(request):
43 """
44 Devuelve la URL raiz
45 @param request: objeto que encapsula la peticion del servidor
46 """
47 headers = forget(request)
48 return HTTPFound(location=request.route_url('home_view'),headers=headers)
49