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.proyecto import *
6 from sapproject.models.proyectousuario import *
7 from sapproject.models.proyectousuariorol import *
8
9 @view_config(route_name='crear_proyecto_json', renderer='json')
10 -def crear_proyecto_json(request):
11 """
12 Nos permite traer los parametros que fueron cargados por el usuario
13 y guardarlos en la base de datos.
14 @param request: objeto que encapsula la peticion del servidor
15 @return: True si la accion se realizo correctamente
16 """
17 nombre = request.params['nombre']
18 descripcion = request.params['descripcion']
19 fechainicio = request.params['fechainicio']
20 fechafin = request.params['fechafin']
21 estado = request.params['estado']
22 observaciones = request.params['observaciones']
23
24 model = Proyecto(nombre, descripcion, fechainicio, fechafin, estado, observaciones)
25 DBSession.add(model)
26
27
28 return {'success' : True}
29
32 """
33 Nos permite traer los parametros que fueron modificados por el usuario
34 y guardar los cambios en la base de datos.
35 @param request: objeto que encapsula la peticion del servidor
36 @return: True si la accion se realizo correctamente
37 """
38 id = request.params['id']
39 nombre = request.params['nombre']
40 descripcion = request.params['descripcion']
41 fechainicio = request.params['fechainicio']
42 fechafin = request.params['fechafin']
43 estado = request.params['estado']
44 observaciones = request.params['observaciones']
45
46 model = Proyecto(nombre, descripcion, fechainicio, fechafin, estado, observaciones)
47 model.id = id
48 DBSession.merge(model)
49 return {'success' : True}
50
53 """
54 Nos permite traer el id del proyecto a eliminar, eliminar las dependendcias
55 del mismo con respecto a otras tablas y eliminar el registro de la base de datos.
56 @param request: objeto que encapsula la peticion del servidor
57 @return: True si la accion se realizo correctamente y False en caso contrario
58 """
59 id = request.params['id']
60 proyecto = DBSession.query(Proyecto).filter_by(id=id).first()
61 if proyecto is None:
62 return {'success':False}
63 DBSession.delete(proyecto)
64 return {'success' : True}
65
69 """
70 Nos permite traer los parametros de consulta(el filtro y el valor) y mostrar
71 los proyectos que cumplen con la condicion del filtro.
72 @param request: objeto que encapsula la peticion del servidor
73 @return: True si la accion se realizo correctamente
74 """
75 usuarios = None
76 if 'filtro' in request.params:
77 filtro = request.params['filtro']
78 valor = request.params['valor']
79 sentencia = 'SELECT * from Proyecto WHERE {0}=\'{1}\''.format(filtro,valor)
80 proyectos = DBSession.query(Proyecto).from_statement(sentencia).all()
81 else:
82 proyectos = DBSession.query(Proyecto).all()
83
84 data = []
85 for proyecto in proyectos:
86 item = {}
87 item['id'] = proyecto.id
88 item['nombre'] = proyecto.nombre
89 item['descripcion'] = proyecto.descripcion
90 item['fechainicio'] = str(proyecto.fechainicio)
91 item['fechafin'] = str(proyecto.fechafin)
92 item['estado'] = proyecto.estado
93 data.append(item)
94 return {'success':True, 'data':data, 'total':len(data)}
95
128
131 """
132 Nos permite realizar la desasignacion de un usuario de un proyecto
133 @param request: objeto que encapsula la peticion del servidor
134 @return: True si la accion se realizo correctamente
135 """
136 id_proyecto = request.params['id_proyecto']
137 id_usuario = request.params['id_usuario']
138 proyecto_actual = request.params['proyecto_actual']
139
140
141 DBSession.query(ProyectoUsuario).filter_by(idproyecto=id_proyecto,idusuario=id_usuario).delete(synchronize_session=False)
142
143 DBSession.query(ProyectoUsuarioRol).filter_by(idproyecto=id_proyecto,idusuario=id_usuario).delete(synchronize_session=False)
144 return {'success':True}
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159