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,10 +68,18 @@
68 68
 					<span ng-if="entrada.type=='date'">
69 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 70
 					</span>
71
+          <!-- 'datetime-local' añadido por Oniel -->
71 72
 					<span ng-if="entrada.type=='datetime-local'">
72 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 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 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 84
 					</span>
77 85
 				</div>

+ 45
- 5
visitas_enfermeria.py View File

@@ -7,10 +7,15 @@ import json
7 7
 from funciones import valida_fecha_2
8 8
 
9 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 13
 col2=[{"label":"Acciones","type":"text","name":"acciones","require":"1"},
11 14
 		{"label":"Fecha","type":"datetime-local","name":"fecha","require":"1"}]
12 15
 form_order= {"entradas":{"col1":col1,"col2":col2}}
16
+form_order_add= {"entradas":{"col1":col1_add,"col2":col2}}
13 17
 visita_col=["razon", "acciones", 'fecha']
18
+visita_col_add=["razon", "acciones", 'fecha', 'enfermera_id', 'estudiante_id']
14 19
 
15 20
 def prepara_values_visita(data):
16 21
 	values_list={}
@@ -21,6 +26,15 @@ def prepara_values_visita(data):
21 26
 			values_list.update({item:data[item]})
22 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 38
 # esta funcion se encarga de editar las entradas de visitas
25 39
 def edit(data):
26 40
 	visitas_enfermeria = db.Table('visitas_enfermeria', metadata, autoload=True, autoload_with=engine)
@@ -34,10 +48,30 @@ def edit(data):
34 48
 # esta funcion se encarga de crear nuevas entradas a las visitas
35 49
 def add(data):
36 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 52
 	query = db.insert(visitas_enfermeria).values(values_list)
39 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 77
 # cuando se desea add datos de la base de datos, esta funcion
@@ -45,16 +79,22 @@ def add_form():
45 79
 	i=1
46 80
 	orden=1
47 81
 	entradas={}
48
-	for col in form_order["entradas"]:
82
+	for col in form_order_add["entradas"]:
49 83
 		col_data=[]
50
-		for item in form_order["entradas"][col]:
84
+		for item in form_order_add["entradas"][col]:
51 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 92
 			item.update({"disabled":False})
53 93
 			orden+=1
54 94
 		entradas.update({"col"+str(i):col_data})
55 95
 		i+=1
56 96
 	data= {"titulo":"Enfermera","accion":"Añadir"}
57
-	data.update(form_order)
97
+	data.update(form_order_add)
58 98
 	data.update({"abled":True})
59 99
 	return jsonify(data)
60 100
 

+ 46
- 7
visitas_oficina.py View File

@@ -7,10 +7,15 @@ import json
7 7
 from funciones import valida_fecha_2
8 8
 
9 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 13
 col2=[{"label":"Acciones","type":"text","name":"acciones","require":"1"},
11 14
 		{"label":"Fecha","type":"datetime-local","name":"fecha","require":"1"}]
12 15
 form_order= {"entradas":{"col1":col1,"col2":col2}}
16
+form_order_add= {"entradas":{"col1":col1_add,"col2":col2}}
13 17
 visita_col=["razon", "acciones", 'fecha']
18
+visita_col_add=["razon", "acciones", 'fecha', 'administradora_id', 'estudiante_id']
14 19
 
15 20
 def prepara_values_visita(data):
16 21
 	values_list={}
@@ -18,6 +23,13 @@ def prepara_values_visita(data):
18 23
 		values_list.update({item:data[item]})
19 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 33
 # esta funcion se encarga de editar las entradas de visitas
22 34
 def edit(data):
23 35
 	visitas_oficina = db.Table('visitas_oficina', metadata, autoload=True, autoload_with=engine)
@@ -31,10 +43,31 @@ def edit(data):
31 43
 # esta funcion se encarga de crear nuevas entradas a las visitas
32 44
 def add(data):
33 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 47
 	query = db.insert(visitas_oficina).values(values_list)
36 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 73
 # cuando se desea add datos de la base de datos, esta funcion
@@ -42,16 +75,22 @@ def add_form():
42 75
 	i=1
43 76
 	orden=1
44 77
 	entradas={}
45
-	for col in form_order["entradas"]:
78
+	for col in form_order_add["entradas"]:
46 79
 		col_data=[]
47
-		for item in form_order["entradas"][col]:
80
+		for item in form_order_add["entradas"][col]:
48 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 88
 			item.update({"disabled":False})
50 89
 			orden+=1
51 90
 		entradas.update({"col"+str(i):col_data})
52 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 94
 	data.update({"abled":True})
56 95
 	return jsonify(data)
57 96
 
@@ -85,7 +124,7 @@ def edit_form(id, disabled=False):
85 124
 			orden+=1
86 125
 		entradas.update({"col"+str(i):col_data})
87 126
 		i+=1
88
-	data= {"titulo":"Visitas Enfermeria","accion":"Editar"}
127
+	data= {"titulo":"Visitas Oficina","accion":"Editar"}
89 128
 	data.update({"entradas":entradas})
90 129
 	abled=True
91 130
 	if disabled: