Browse Source

add visitas ahora tiene para seleccionar las personas

cuando se estan viendo las visitas y se seleccionar añadir visita:
   -las visitas en la enfermeria se seleciona enfermera y estudiante
   -las visitas en la oficina se seleciona administrador y estudiante
Oniel Méndez Nieves 4 years ago
parent
commit
9d5be1fc15

BIN
__pycache__/visitas_enfermeria.cpython-36.pyc View File


BIN
__pycache__/visitas_oficina.cpython-36.pyc View File


+ 9
- 1
templates/forma.html View File

68
 					<span ng-if="entrada.type=='date'">
68
 					<span ng-if="entrada.type=='date'">
69
 						<input ng-disabled="entrada.disabled" tabindex="{{entrada.tabindex}}" class="form-control-inline" type="date" placeholder="yyyy-MM-dd" pattern="\d{4}-\d{1,2}-\d{1,2}" ng-required="entrada.require" id="{{entrada.name}}" name="{{entrada.name}}" value="{{entrada.value}}" style="width: 250px;height: 48px;align:left;">
69
 						<input ng-disabled="entrada.disabled" tabindex="{{entrada.tabindex}}" class="form-control-inline" type="date" placeholder="yyyy-MM-dd" pattern="\d{4}-\d{1,2}-\d{1,2}" ng-required="entrada.require" id="{{entrada.name}}" name="{{entrada.name}}" value="{{entrada.value}}" style="width: 250px;height: 48px;align:left;">
70
 					</span>
70
 					</span>
71
+          <!-- 'datetime-local' añadido por Oniel -->
71
 					<span ng-if="entrada.type=='datetime-local'">
72
 					<span ng-if="entrada.type=='datetime-local'">
72
 	          <input ng-disabled="entrada.disabled" tabindex="{{entrada.tabindex}}" class="form-control-inline" type="datetime-local" placeholder="yyyy-MM-ddThh:mm:ss" ng-required="entrada.require" id="{{entrada.name}}" name="{{entrada.name}}" value="{{entrada.value}}" style="width: 250px;height: 48px;align:left;">
73
 	          <input ng-disabled="entrada.disabled" tabindex="{{entrada.tabindex}}" class="form-control-inline" type="datetime-local" placeholder="yyyy-MM-ddThh:mm:ss" ng-required="entrada.require" id="{{entrada.name}}" name="{{entrada.name}}" value="{{entrada.value}}" style="width: 250px;height: 48px;align:left;">
73
 					</span>
74
 					</span>
74
-					<span ng-if="entrada.type!='select' && entrada.type!='checkbox' && entrada.type!='tel' && entrada.type!='date'">
75
+          <!-- 'list' añadido por Oniel -->
76
+          <span ng-if="entrada.type=='list'">
77
+            <select list='{{entrada.name}}list' ng-disabled="entrada.disabled" tabindex="{{entrada.tabindex}}" class="form-control-inline" type="list" placeholder="Buscar nombre..." ng-required="entrada.require" id="{{entrada.name}}" name="{{entrada.name}}" value="{{entrada.value}}" style="width: 250px;height: 48px;align:left;">
78
+            <!-- <select id = '{{entrada.name}}list'> -->
79
+              <option ng-repeat='value in entrada.values' value='{{value.id}}'>{{value.name}}</option>
80
+            </select>
81
+          </span>
82
+					<span ng-if="entrada.type!='select' && entrada.type!='checkbox' && entrada.type!='tel' && entrada.type!='date' && entrada.type!='datetime-local' && entrada.type!='list'">
75
 						<input ng-disabled="entrada.disabled" tabindex="{{entrada.tabindex}}" ng-required="entrada.require" class="form-control-inline" type="{{entrada.type}}" id="{{entrada.name}}" name="{{entrada.name}}" value="{{entrada.value}}" style="width: 250px;height: 48px;align:left;">
83
 						<input ng-disabled="entrada.disabled" tabindex="{{entrada.tabindex}}" ng-required="entrada.require" class="form-control-inline" type="{{entrada.type}}" id="{{entrada.name}}" name="{{entrada.name}}" value="{{entrada.value}}" style="width: 250px;height: 48px;align:left;">
76
 					</span>
84
 					</span>
77
 				</div>
85
 				</div>

+ 45
- 5
visitas_enfermeria.py View File

7
 from funciones import valida_fecha_2
7
 from funciones import valida_fecha_2
8
 
8
 
9
 col1=[{"label":"Razon","type":"text","name":"razon","require":"1"}]
9
 col1=[{"label":"Razon","type":"text","name":"razon","require":"1"}]
10
+col1_add=[{"label":"Enfermera","type":"list","name":"enfermera_id","enfermera":"1"},
11
+		{"label":"Estudiante","type":"list","name":"estudiante_id","estudiante":"1"},
12
+		{"label":"Razon","type":"text","name":"razon","require":"1"}]
10
 col2=[{"label":"Acciones","type":"text","name":"acciones","require":"1"},
13
 col2=[{"label":"Acciones","type":"text","name":"acciones","require":"1"},
11
 		{"label":"Fecha","type":"datetime-local","name":"fecha","require":"1"}]
14
 		{"label":"Fecha","type":"datetime-local","name":"fecha","require":"1"}]
12
 form_order= {"entradas":{"col1":col1,"col2":col2}}
15
 form_order= {"entradas":{"col1":col1,"col2":col2}}
16
+form_order_add= {"entradas":{"col1":col1_add,"col2":col2}}
13
 visita_col=["razon", "acciones", 'fecha']
17
 visita_col=["razon", "acciones", 'fecha']
18
+visita_col_add=["razon", "acciones", 'fecha', 'enfermera_id', 'estudiante_id']
14
 
19
 
15
 def prepara_values_visita(data):
20
 def prepara_values_visita(data):
16
 	values_list={}
21
 	values_list={}
21
 			values_list.update({item:data[item]})
26
 			values_list.update({item:data[item]})
22
 	return values_list
27
 	return values_list
23
 
28
 
29
+def prepara_values_visita_add(data):
30
+	values_list={}
31
+	for item in visita_col_add:
32
+		if item=="datetime-local":
33
+			values_list.update({item:valida_fecha_2(data[item])})
34
+		else:
35
+			values_list.update({item:data[item]})
36
+	return values_list
37
+
24
 # esta funcion se encarga de editar las entradas de visitas
38
 # esta funcion se encarga de editar las entradas de visitas
25
 def edit(data):
39
 def edit(data):
26
 	visitas_enfermeria = db.Table('visitas_enfermeria', metadata, autoload=True, autoload_with=engine)
40
 	visitas_enfermeria = db.Table('visitas_enfermeria', metadata, autoload=True, autoload_with=engine)
34
 # esta funcion se encarga de crear nuevas entradas a las visitas
48
 # esta funcion se encarga de crear nuevas entradas a las visitas
35
 def add(data):
49
 def add(data):
36
 	visitas_enfermeria = db.Table('visitas_enfermeria', metadata, autoload=True, autoload_with=engine)
50
 	visitas_enfermeria = db.Table('visitas_enfermeria', metadata, autoload=True, autoload_with=engine)
37
-	values_list=prepara_values_visita(data)
51
+	values_list=prepara_values_visita_add(data)
38
 	query = db.insert(visitas_enfermeria).values(values_list)
52
 	query = db.insert(visitas_enfermeria).values(values_list)
39
 	ResultProxy = connection.execute(query,values_list)
53
 	ResultProxy = connection.execute(query,values_list)
40
-	return redirect(url_for("formas",perfil='enfermeria', accion="edit", tipo="visitas_enfermeria", id=data['id']))
54
+	return redirect(url_for("formas",perfil='enfermeria', accion="add", tipo="visitas_enfermeria", id=data['id']))
55
+
56
+def conseguir_lista(tabla):
57
+	values= {}
58
+
59
+	personas = db.Table(tabla, metadata, autoload=True, autoload_with=engine)
60
+	usuarios = db.Table('usuarios', metadata, autoload=True, autoload_with=engine)
61
+	query = db.select([usuarios.columns.nombres, usuarios.columns.apellidos, usuarios.columns.id])
62
+	query = query.select_from(personas).where(personas.columns.user_id == usuarios.columns.id)
63
+	result = connection.execute(query).fetchall()
64
+
65
+
66
+	i = 0
67
+	for persona in result:
68
+		value = {}
69
+		value.update({"name":persona[0] + ' ' + persona[1]})
70
+		value.update({"id":persona[2]})
71
+		values.update({"value"+str(i):value})
72
+		i+=1
73
+
74
+	return values
41
 
75
 
42
 
76
 
43
 # cuando se desea add datos de la base de datos, esta funcion
77
 # cuando se desea add datos de la base de datos, esta funcion
45
 	i=1
79
 	i=1
46
 	orden=1
80
 	orden=1
47
 	entradas={}
81
 	entradas={}
48
-	for col in form_order["entradas"]:
82
+	for col in form_order_add["entradas"]:
49
 		col_data=[]
83
 		col_data=[]
50
-		for item in form_order["entradas"][col]:
84
+		for item in form_order_add["entradas"][col]:
51
 			item.update({"tabindex":orden})
85
 			item.update({"tabindex":orden})
86
+			if(item['label'] == 'Enfermera'):
87
+				values = conseguir_lista('enfermeras')
88
+				item.update({"values":values})
89
+			if(item['label'] == 'Estudiante'):
90
+				values = conseguir_lista('estudiantes')
91
+				item.update({"values":values})
52
 			item.update({"disabled":False})
92
 			item.update({"disabled":False})
53
 			orden+=1
93
 			orden+=1
54
 		entradas.update({"col"+str(i):col_data})
94
 		entradas.update({"col"+str(i):col_data})
55
 		i+=1
95
 		i+=1
56
 	data= {"titulo":"Enfermera","accion":"Añadir"}
96
 	data= {"titulo":"Enfermera","accion":"Añadir"}
57
-	data.update(form_order)
97
+	data.update(form_order_add)
58
 	data.update({"abled":True})
98
 	data.update({"abled":True})
59
 	return jsonify(data)
99
 	return jsonify(data)
60
 
100
 

+ 46
- 7
visitas_oficina.py View File

7
 from funciones import valida_fecha_2
7
 from funciones import valida_fecha_2
8
 
8
 
9
 col1=[{"label":"Razon","type":"text","name":"razon","require":"1"}]
9
 col1=[{"label":"Razon","type":"text","name":"razon","require":"1"}]
10
+col1_add=[{"label":"Administrador","type":"list","name":"administradora_id","require":"1"},
11
+		{"label":"Estudiante","type":"list","name":"estudiante_id","require":"1"},
12
+		{"label":"Razon","type":"text","name":"razon","require":"1"}]
10
 col2=[{"label":"Acciones","type":"text","name":"acciones","require":"1"},
13
 col2=[{"label":"Acciones","type":"text","name":"acciones","require":"1"},
11
 		{"label":"Fecha","type":"datetime-local","name":"fecha","require":"1"}]
14
 		{"label":"Fecha","type":"datetime-local","name":"fecha","require":"1"}]
12
 form_order= {"entradas":{"col1":col1,"col2":col2}}
15
 form_order= {"entradas":{"col1":col1,"col2":col2}}
16
+form_order_add= {"entradas":{"col1":col1_add,"col2":col2}}
13
 visita_col=["razon", "acciones", 'fecha']
17
 visita_col=["razon", "acciones", 'fecha']
18
+visita_col_add=["razon", "acciones", 'fecha', 'administradora_id', 'estudiante_id']
14
 
19
 
15
 def prepara_values_visita(data):
20
 def prepara_values_visita(data):
16
 	values_list={}
21
 	values_list={}
18
 		values_list.update({item:data[item]})
23
 		values_list.update({item:data[item]})
19
 	return values_list
24
 	return values_list
20
 
25
 
26
+
27
+def prepara_values_visita_add(data):
28
+	values_list={}
29
+	for item in visita_col_add:
30
+		values_list.update({item:data[item]})
31
+	return values_list
32
+
21
 # esta funcion se encarga de editar las entradas de visitas
33
 # esta funcion se encarga de editar las entradas de visitas
22
 def edit(data):
34
 def edit(data):
23
 	visitas_oficina = db.Table('visitas_oficina', metadata, autoload=True, autoload_with=engine)
35
 	visitas_oficina = db.Table('visitas_oficina', metadata, autoload=True, autoload_with=engine)
31
 # esta funcion se encarga de crear nuevas entradas a las visitas
43
 # esta funcion se encarga de crear nuevas entradas a las visitas
32
 def add(data):
44
 def add(data):
33
 	visitas_oficina = db.Table('visitas_oficina', metadata, autoload=True, autoload_with=engine)
45
 	visitas_oficina = db.Table('visitas_oficina', metadata, autoload=True, autoload_with=engine)
34
-	values_list=prepara_values_visita(data)
46
+	values_list=prepara_values_visita_add(data)
35
 	query = db.insert(visitas_oficina).values(values_list)
47
 	query = db.insert(visitas_oficina).values(values_list)
36
 	ResultProxy = connection.execute(query,values_list)
48
 	ResultProxy = connection.execute(query,values_list)
37
-	return redirect(url_for("formas",perfil='admin', accion="edit", tipo="visitas_oficina", id=data['id']))
49
+	return redirect(url_for("formas",perfil='admin', accion="add", tipo="visitas_oficina", id=data['id']))
50
+
51
+
52
+def conseguir_lista(tabla):
53
+	values= {}
54
+
55
+	personas = db.Table(tabla, metadata, autoload=True, autoload_with=engine)
56
+	usuarios = db.Table('usuarios', metadata, autoload=True, autoload_with=engine)
57
+	query = db.select([usuarios.columns.nombres, usuarios.columns.apellidos, usuarios.columns.id])
58
+	query = query.select_from(personas).where(personas.columns.user_id == usuarios.columns.id)
59
+	result = connection.execute(query).fetchall()
60
+
61
+
62
+	i = 0
63
+	for persona in result:
64
+		value = {}
65
+		value.update({"name":persona[0] + ' ' + persona[1]})
66
+		value.update({"id":persona[2]})
67
+		values.update({"value"+str(i):value})
68
+		i+=1
69
+
70
+	return values
38
 
71
 
39
 
72
 
40
 # cuando se desea add datos de la base de datos, esta funcion
73
 # cuando se desea add datos de la base de datos, esta funcion
42
 	i=1
75
 	i=1
43
 	orden=1
76
 	orden=1
44
 	entradas={}
77
 	entradas={}
45
-	for col in form_order["entradas"]:
78
+	for col in form_order_add["entradas"]:
46
 		col_data=[]
79
 		col_data=[]
47
-		for item in form_order["entradas"][col]:
80
+		for item in form_order_add["entradas"][col]:
48
 			item.update({"tabindex":orden})
81
 			item.update({"tabindex":orden})
82
+			if(item['label'] == 'Administrador'):
83
+				values = conseguir_lista('administracion')
84
+				item.update({"values":values})
85
+			if(item['label'] == 'Estudiante'):
86
+				values = conseguir_lista('estudiantes')
87
+				item.update({"values":values})
49
 			item.update({"disabled":False})
88
 			item.update({"disabled":False})
50
 			orden+=1
89
 			orden+=1
51
 		entradas.update({"col"+str(i):col_data})
90
 		entradas.update({"col"+str(i):col_data})
52
 		i+=1
91
 		i+=1
53
-	data= {"titulo":"Enfermera","accion":"Añadir"}
54
-	data.update(form_order)
92
+	data= {"titulo":"Administrador","accion":"Añadir"}
93
+	data.update(form_order_add)
55
 	data.update({"abled":True})
94
 	data.update({"abled":True})
56
 	return jsonify(data)
95
 	return jsonify(data)
57
 
96
 
85
 			orden+=1
124
 			orden+=1
86
 		entradas.update({"col"+str(i):col_data})
125
 		entradas.update({"col"+str(i):col_data})
87
 		i+=1
126
 		i+=1
88
-	data= {"titulo":"Visitas Enfermeria","accion":"Editar"}
127
+	data= {"titulo":"Visitas Oficina","accion":"Editar"}
89
 	data.update({"entradas":entradas})
128
 	data.update({"entradas":entradas})
90
 	abled=True
129
 	abled=True
91
 	if disabled:
130
 	if disabled: