Browse Source

Feature de view

Ahora la accion view permite ver el usuario sin permitir edicion
parent
commit
5c8f5c7ee3

BIN
__pycache__/administracion.cpython-38.pyc View File


BIN
__pycache__/enfermera.cpython-38.pyc View File


BIN
__pycache__/estudiante.cpython-38.pyc View File


BIN
__pycache__/facultad.cpython-38.pyc View File


BIN
__pycache__/index.cpython-38.pyc View File


BIN
__pycache__/madre.cpython-38.pyc View File


+ 23
- 11
administracion.py View File

59
 
59
 
60
 
60
 
61
 def add_form():
61
 def add_form():
62
+	i=1
63
+	orden=1
64
+	entradas={}
65
+	for col in form_order["entradas"]:
66
+		col_data=[]
67
+		for item in form_order["entradas"][col]:
68
+			item.update({"tabindex":orden})
69
+			item.update({"disabled":False})
70
+			orden+=1
71
+		entradas.update({"col"+str(i):col_data})
72
+		i+=1
62
 	data= {"titulo":"Administración","accion":"Añadir"}
73
 	data= {"titulo":"Administración","accion":"Añadir"}
63
 	data.update(form_order)
74
 	data.update(form_order)
75
+	data.update({"abled":True})
64
 	return jsonify(data)
76
 	return jsonify(data)
65
 	
77
 	
66
-def edit_form(id):
78
+def edit_form(id, disabled=False):
67
 	administracion = db.Table('administracion', metadata, autoload=True, autoload_with=engine)
79
 	administracion = db.Table('administracion', metadata, autoload=True, autoload_with=engine)
68
 	usuarios = db.Table('usuarios', metadata, autoload=True, autoload_with=engine)
80
 	usuarios = db.Table('usuarios', metadata, autoload=True, autoload_with=engine)
69
 	query = db.select([usuarios, administracion.columns.posicion, administracion.columns.otro])
81
 	query = db.select([usuarios, administracion.columns.posicion, administracion.columns.otro])
70
 	query = query.select_from(usuarios.join(administracion, usuarios.columns.id == administracion.columns.user_id)).where(administracion.columns.user_id == id)
82
 	query = query.select_from(usuarios.join(administracion, usuarios.columns.id == administracion.columns.user_id)).where(administracion.columns.user_id == id)
71
 	result = connection.execute(query).fetchall()
83
 	result = connection.execute(query).fetchall()
72
-# 	print(result)
73
 	if not len(result):
84
 	if not len(result):
74
-# 		return add_form()
75
-# 		return render_template(url_for("formas",accion="add",tipo="administracion"))
76
-# 		return index.formas("add","administracion")
77
 		return False
85
 		return False
78
-# 		return redirect("http://127.0.0.1:5000/error/administracion/"+id)
79
-# 		return redirect(url_for("maneja_error_user",id=id,tipo="administracion"))
80
-# 		return render_template("error.html",id=id,tipo="administracion")
81
 	for row in result:
86
 	for row in result:
82
 		row_as_dict = dict(row)
87
 		row_as_dict = dict(row)
83
 	i=1
88
 	i=1
93
 			else:
98
 			else:
94
 				item.update({"value":str(row_as_dict[item["name"]])})
99
 				item.update({"value":str(row_as_dict[item["name"]])})
95
 			item.update({"tabindex":orden})
100
 			item.update({"tabindex":orden})
101
+			item.update({"disabled":disabled})
96
 			col_data.append(item)
102
 			col_data.append(item)
97
 			orden+=1
103
 			orden+=1
98
 		entradas.update({"col"+str(i):col_data})
104
 		entradas.update({"col"+str(i):col_data})
99
 		i+=1
105
 		i+=1
100
-	data= {"titulo":"Administración","accion":"Editar"}
106
+	titulo_accion="Editar"
107
+	if disabled:
108
+		titulo_accion="Ver"
109
+	data= {"titulo":"Administración","accion":titulo_accion}
101
 	data.update({"entradas":entradas})
110
 	data.update({"entradas":entradas})
102
-# 	print(data)
111
+	abled=True
112
+	if disabled:
113
+		abled=False
114
+	data.update({"abled":abled})
103
 	return jsonify(data)
115
 	return jsonify(data)
104
-	
116
+		
105
 # print(edit_form(1))
117
 # print(edit_form(1))
106
 # add()
118
 # add()

+ 18
- 12
enfermera.py View File

59
 
59
 
60
 
60
 
61
 def add_form():
61
 def add_form():
62
+	i=1
63
+	orden=1
64
+	entradas={}
65
+	for col in form_order["entradas"]:
66
+		col_data=[]
67
+		for item in form_order["entradas"][col]:
68
+			item.update({"tabindex":orden})
69
+			item.update({"disabled":False})
70
+			orden+=1
71
+		entradas.update({"col"+str(i):col_data})
72
+		i+=1
62
 	data= {"titulo":"Enfermera","accion":"Añadir"}
73
 	data= {"titulo":"Enfermera","accion":"Añadir"}
63
 	data.update(form_order)
74
 	data.update(form_order)
75
+	data.update({"abled":True})
64
 	return jsonify(data)
76
 	return jsonify(data)
65
 	
77
 	
66
-def edit_form(id):
78
+def edit_form(id, disabled=False):
67
 	enfermera = db.Table('enfermeras', metadata, autoload=True, autoload_with=engine)
79
 	enfermera = db.Table('enfermeras', metadata, autoload=True, autoload_with=engine)
68
 	usuarios = db.Table('usuarios', metadata, autoload=True, autoload_with=engine)
80
 	usuarios = db.Table('usuarios', metadata, autoload=True, autoload_with=engine)
69
 	query = db.select([usuarios, enfermera.columns.especialidad, enfermera.columns.otro])
81
 	query = db.select([usuarios, enfermera.columns.especialidad, enfermera.columns.otro])
70
 	query = query.select_from(usuarios.join(enfermera, usuarios.columns.id == enfermera.columns.user_id)).where(enfermera.columns.user_id == id)
82
 	query = query.select_from(usuarios.join(enfermera, usuarios.columns.id == enfermera.columns.user_id)).where(enfermera.columns.user_id == id)
71
 	result = connection.execute(query).fetchall()
83
 	result = connection.execute(query).fetchall()
72
-# 	print(result)
73
 	if not len(result):
84
 	if not len(result):
74
-# 		return add_form()
75
-# 		return render_template(url_for("formas",accion="add",tipo="enfermera"))
76
-# 		return index.formas("add","enfermera")
77
 		return False
85
 		return False
78
-# 		return redirect("http://127.0.0.1:5000/error/enfermera/"+id)
79
-# 		return redirect(url_for("maneja_error_user",id=id,tipo="enfermera"))
80
-# 		return render_template("error.html",id=id,tipo="enfermera")
81
 	for row in result:
86
 	for row in result:
82
 		row_as_dict = dict(row)
87
 		row_as_dict = dict(row)
83
 	i=1
88
 	i=1
93
 			else:
98
 			else:
94
 				item.update({"value":str(row_as_dict[item["name"]])})
99
 				item.update({"value":str(row_as_dict[item["name"]])})
95
 			item.update({"tabindex":orden})
100
 			item.update({"tabindex":orden})
101
+			item.update({"disabled":disabled})
96
 			col_data.append(item)
102
 			col_data.append(item)
97
 			orden+=1
103
 			orden+=1
98
 		entradas.update({"col"+str(i):col_data})
104
 		entradas.update({"col"+str(i):col_data})
99
 		i+=1
105
 		i+=1
100
 	data= {"titulo":"Enfermera","accion":"Editar"}
106
 	data= {"titulo":"Enfermera","accion":"Editar"}
101
 	data.update({"entradas":entradas})
107
 	data.update({"entradas":entradas})
102
-# 	print(data)
108
+	abled=True
109
+	if disabled:
110
+		abled=False
111
+	data.update({"abled":abled})
103
 	return jsonify(data)
112
 	return jsonify(data)
104
-	
105
-# print(edit_form(1))
106
-# add()

+ 18
- 8
estudiante.py View File

59
 
59
 
60
 
60
 
61
 def add_form():
61
 def add_form():
62
+	i=1
63
+	orden=1
64
+	entradas={}
65
+	for col in form_order["entradas"]:
66
+		col_data=[]
67
+		for item in form_order["entradas"][col]:
68
+			item.update({"tabindex":orden})
69
+			item.update({"disabled":False})
70
+			orden+=1
71
+		entradas.update({"col"+str(i):col_data})
72
+		i+=1
62
 	data= {"titulo":"Estudiante","accion":"Añadir"}
73
 	data= {"titulo":"Estudiante","accion":"Añadir"}
63
 	data.update(form_order)
74
 	data.update(form_order)
75
+	data.update({"abled":True})
64
 	return jsonify(data)
76
 	return jsonify(data)
65
 	
77
 	
66
-def edit_form(id):
78
+def edit_form(id, disabled=False):
67
 	estudiantes = db.Table('estudiantes', metadata, autoload=True, autoload_with=engine)
79
 	estudiantes = db.Table('estudiantes', metadata, autoload=True, autoload_with=engine)
68
 	usuarios = db.Table('usuarios', metadata, autoload=True, autoload_with=engine)
80
 	usuarios = db.Table('usuarios', metadata, autoload=True, autoload_with=engine)
69
 	query = db.select([usuarios, estudiantes.columns.grado, estudiantes.columns.educacion_especial])
81
 	query = db.select([usuarios, estudiantes.columns.grado, estudiantes.columns.educacion_especial])
70
 	query = query.select_from(usuarios.join(estudiantes, usuarios.columns.id == estudiantes.columns.user_id)).where(estudiantes.columns.user_id == id)
82
 	query = query.select_from(usuarios.join(estudiantes, usuarios.columns.id == estudiantes.columns.user_id)).where(estudiantes.columns.user_id == id)
71
 	result = connection.execute(query).fetchall()
83
 	result = connection.execute(query).fetchall()
72
 	if not len(result):
84
 	if not len(result):
73
-# 		return add_form()
74
-# 		return redirect(url_for("formas",accion="add",tipo="estudiante"))
75
-# 		return index.formas("add","estudiante")
76
 		return False
85
 		return False
77
 	for row in result:
86
 	for row in result:
78
 		row_as_dict = dict(row)
87
 		row_as_dict = dict(row)
89
 			else:
98
 			else:
90
 				item.update({"value":str(row_as_dict[item["name"]])})
99
 				item.update({"value":str(row_as_dict[item["name"]])})
91
 			item.update({"tabindex":orden})
100
 			item.update({"tabindex":orden})
101
+			item.update({"disabled":disabled})
92
 			col_data.append(item)
102
 			col_data.append(item)
93
 			orden+=1
103
 			orden+=1
94
 		entradas.update({"col"+str(i):col_data})
104
 		entradas.update({"col"+str(i):col_data})
95
 		i+=1
105
 		i+=1
96
 	data= {"titulo":"Estudiante","accion":"Editar"}
106
 	data= {"titulo":"Estudiante","accion":"Editar"}
97
 	data.update({"entradas":entradas})
107
 	data.update({"entradas":entradas})
98
-# 	print(data)
108
+	abled=True
109
+	if disabled:
110
+		abled=False
111
+	data.update({"abled":abled})
99
 	return jsonify(data)
112
 	return jsonify(data)
100
-	
101
-# print(edit_form(1))
102
-# add()

+ 19
- 12
facultad.py View File

59
 
59
 
60
 
60
 
61
 def add_form():
61
 def add_form():
62
+	i=1
63
+	orden=1
64
+	entradas={}
65
+	for col in form_order["entradas"]:
66
+		col_data=[]
67
+		for item in form_order["entradas"][col]:
68
+			item.update({"tabindex":orden})
69
+			item.update({"disabled":False})
70
+			orden+=1
71
+		entradas.update({"col"+str(i):col_data})
72
+		i+=1
62
 	data= {"titulo":"Facultad","accion":"Añadir"}
73
 	data= {"titulo":"Facultad","accion":"Añadir"}
63
 	data.update(form_order)
74
 	data.update(form_order)
75
+	data.update({"abled":True})
64
 	return jsonify(data)
76
 	return jsonify(data)
65
 	
77
 	
66
-def edit_form(id):
78
+def edit_form(id, disabled=False):
67
 	facultad = db.Table('facultad', metadata, autoload=True, autoload_with=engine)
79
 	facultad = db.Table('facultad', metadata, autoload=True, autoload_with=engine)
68
 	usuarios = db.Table('usuarios', metadata, autoload=True, autoload_with=engine)
80
 	usuarios = db.Table('usuarios', metadata, autoload=True, autoload_with=engine)
69
 	query = db.select([usuarios, facultad.columns.especialidad, facultad.columns.educacion_especial])
81
 	query = db.select([usuarios, facultad.columns.especialidad, facultad.columns.educacion_especial])
70
 	query = query.select_from(usuarios.join(facultad, usuarios.columns.id == facultad.columns.user_id)).where(facultad.columns.user_id == id)
82
 	query = query.select_from(usuarios.join(facultad, usuarios.columns.id == facultad.columns.user_id)).where(facultad.columns.user_id == id)
71
 	result = connection.execute(query).fetchall()
83
 	result = connection.execute(query).fetchall()
72
-# 	print(result)
73
 	if not len(result):
84
 	if not len(result):
74
-# 		return add_form()
75
-# 		return render_template(url_for("formas",accion="add",tipo="facultad"))
76
-# 		return index.formas("add","facultad")
77
 		return False
85
 		return False
78
-# 		return redirect("http://127.0.0.1:5000/error/facultad/"+id)
79
-# 		return redirect(url_for("maneja_error_user",id=id,tipo="facultad"))
80
-# 		return render_template("error.html",id=id,tipo="facultad")
81
 	for row in result:
86
 	for row in result:
82
 		row_as_dict = dict(row)
87
 		row_as_dict = dict(row)
83
 	i=1
88
 	i=1
93
 			else:
98
 			else:
94
 				item.update({"value":str(row_as_dict[item["name"]])})
99
 				item.update({"value":str(row_as_dict[item["name"]])})
95
 			item.update({"tabindex":orden})
100
 			item.update({"tabindex":orden})
101
+			item.update({"disabled":disabled})
96
 			col_data.append(item)
102
 			col_data.append(item)
97
 			orden+=1
103
 			orden+=1
98
 		entradas.update({"col"+str(i):col_data})
104
 		entradas.update({"col"+str(i):col_data})
99
 		i+=1
105
 		i+=1
100
 	data= {"titulo":"Facultad","accion":"Editar"}
106
 	data= {"titulo":"Facultad","accion":"Editar"}
101
 	data.update({"entradas":entradas})
107
 	data.update({"entradas":entradas})
102
-# 	print(data)
108
+	abled=True
109
+	if disabled:
110
+		abled=False
111
+	data.update({"abled":abled})
103
 	return jsonify(data)
112
 	return jsonify(data)
104
-	
105
-# print(edit_form(1))
106
-# add()
113
+	

+ 15
- 8
index.py View File

1
 from flask import Flask, render_template, request, redirect, url_for
1
 from flask import Flask, render_template, request, redirect, url_for
2
 import json
2
 import json
3
-import estudiante, madre, admin, enfermera, facultad
3
+# import estudiante, madre, admin, enfermera, facultad
4
+import forma
4
 
5
 
5
 app = Flask(__name__)
6
 app = Flask(__name__)
6
 
7
 
14
 	data = request.form
15
 	data = request.form
15
 	tipo_accion = getattr(__import__(data["tipo"]), data["accion"])
16
 	tipo_accion = getattr(__import__(data["tipo"]), data["accion"])
16
 	return tipo_accion(data)
17
 	return tipo_accion(data)
17
-	
18
-	
18
+		
19
 @app.route('/admin/forma/<accion>/<tipo>/', methods=['GET', 'POST'])
19
 @app.route('/admin/forma/<accion>/<tipo>/', methods=['GET', 'POST'])
20
 @app.route('/admin/forma/<accion>/<tipo>/<id>', methods=['GET', 'POST'])
20
 @app.route('/admin/forma/<accion>/<tipo>/<id>', methods=['GET', 'POST'])
21
 def formas(accion,tipo,id=None):
21
 def formas(accion,tipo,id=None):
26
 @app.route('/admin/formaDatos/<accion>/<tipo>/<id>', methods=['GET', 'POST'])
26
 @app.route('/admin/formaDatos/<accion>/<tipo>/<id>', methods=['GET', 'POST'])
27
 def formaEst(accion, tipo, id=None):
27
 def formaEst(accion, tipo, id=None):
28
 # 	data = json.loads('formaEstudiantes.json')
28
 # 	data = json.loads('formaEstudiantes.json')
29
-	if(accion=="add"):
29
+	if tipo not in ["enfermera", "administracion", "estudiante", "madre", "facultad"]:
30
+		return {"error":True,"tipo":"tipo_incorrecto","opcion":tipo,"user_type":"admin"}
31
+	if accion not in ["edit", "add", "view"]:
32
+		return {"error":True,"tipo":"accion_incorrecta","opcion":accion,"user_type":"admin"}
33
+	if (accion=="add"):
30
 		return __import__(tipo).add_form()
34
 		return __import__(tipo).add_form()
31
 	if(accion=="edit"):
35
 	if(accion=="edit"):
32
 		resultado=__import__(tipo).edit_form(id)
36
 		resultado=__import__(tipo).edit_form(id)
33
 		if resultado==False:
37
 		if resultado==False:
34
-# 			return __import__(tipo).add_form()
35
-# 			return render_template('error.html',tipo=tipo)
36
-# 			return redirect(url_for("maneja_error_user",tipo="facultad"))
37
-			return {"error":True,"tipo":tipo,"user_type":"admin"}
38
+			return {"error":True,"tipo":"usuario_incorrecto","opcion":tipo,"user_type":"admin"}
39
+		else:
40
+			return resultado
41
+	if(accion=="view"):
42
+		resultado=__import__(tipo).edit_form(id,disabled=True)
43
+		if resultado==False:
44
+			return {"error":True,"tipo":"usuario_incorrecto","opcion":tipo,"user_type":"admin"}
38
 		else:
45
 		else:
39
 			return resultado
46
 			return resultado
40
 
47
 

+ 19
- 12
madre.py View File

59
 
59
 
60
 
60
 
61
 def add_form():
61
 def add_form():
62
+	i=1
63
+	orden=1
64
+	entradas={}
65
+	for col in form_order["entradas"]:
66
+		col_data=[]
67
+		for item in form_order["entradas"][col]:
68
+			item.update({"tabindex":orden})
69
+			item.update({"disabled":False})
70
+			orden+=1
71
+		entradas.update({"col"+str(i):col_data})
72
+		i+=1
62
 	data= {"titulo":"Madre","accion":"Añadir"}
73
 	data= {"titulo":"Madre","accion":"Añadir"}
63
 	data.update(form_order)
74
 	data.update(form_order)
75
+	data.update({"abled":True})
64
 	return jsonify(data)
76
 	return jsonify(data)
65
 	
77
 	
66
-def edit_form(id):
78
+def edit_form(id, disabled=False):
67
 	madre = db.Table('madres', metadata, autoload=True, autoload_with=engine)
79
 	madre = db.Table('madres', metadata, autoload=True, autoload_with=engine)
68
 	usuarios = db.Table('usuarios', metadata, autoload=True, autoload_with=engine)
80
 	usuarios = db.Table('usuarios', metadata, autoload=True, autoload_with=engine)
69
 	query = db.select([usuarios, madre.columns.otro1, madre.columns.otro2])
81
 	query = db.select([usuarios, madre.columns.otro1, madre.columns.otro2])
70
 	query = query.select_from(usuarios.join(madre, usuarios.columns.id == madre.columns.user_id)).where(madre.columns.user_id == id)
82
 	query = query.select_from(usuarios.join(madre, usuarios.columns.id == madre.columns.user_id)).where(madre.columns.user_id == id)
71
 	result = connection.execute(query).fetchall()
83
 	result = connection.execute(query).fetchall()
72
-# 	print(result)
73
 	if not len(result):
84
 	if not len(result):
74
-# 		return add_form()
75
-# 		return render_template(url_for("formas",accion="add",tipo="madre"))
76
-# 		return index.formas("add","madre")
77
 		return False
85
 		return False
78
-# 		return redirect("http://127.0.0.1:5000/error/madre/"+id)
79
-# 		return redirect(url_for("maneja_error_user",id=id,tipo="madre"))
80
-# 		return render_template("error.html",id=id,tipo="madre")
81
 	for row in result:
86
 	for row in result:
82
 		row_as_dict = dict(row)
87
 		row_as_dict = dict(row)
83
 	i=1
88
 	i=1
93
 			else:
98
 			else:
94
 				item.update({"value":str(row_as_dict[item["name"]])})
99
 				item.update({"value":str(row_as_dict[item["name"]])})
95
 			item.update({"tabindex":orden})
100
 			item.update({"tabindex":orden})
101
+			item.update({"disabled":disabled})
96
 			col_data.append(item)
102
 			col_data.append(item)
97
 			orden+=1
103
 			orden+=1
98
 		entradas.update({"col"+str(i):col_data})
104
 		entradas.update({"col"+str(i):col_data})
99
 		i+=1
105
 		i+=1
100
 	data= {"titulo":"Madre","accion":"Editar"}
106
 	data= {"titulo":"Madre","accion":"Editar"}
101
 	data.update({"entradas":entradas})
107
 	data.update({"entradas":entradas})
102
-# 	print(data)
108
+	abled=True
109
+	if disabled:
110
+		abled=False
111
+	data.update({"abled":abled})
103
 	return jsonify(data)
112
 	return jsonify(data)
104
-	
105
-# print(edit_form(1))
106
-# add()
113
+	

+ 1
- 1
static/error.js View File

3
 // Define the `PhoneListController` controller on the `phonecatApp` module
3
 // Define the `PhoneListController` controller on the `phonecatApp` module
4
 
4
 
5
 // error.controller('ErrorController', function ErrorController($http, $scope, tipo, id) {
5
 // error.controller('ErrorController', function ErrorController($http, $scope, tipo, id) {
6
-error.controller('ErrorController', function ErrorController(tipo) {
6
+error.controller('ErrorController', function ErrorController(tipo, opcion) {
7
   	console.log(tipo);
7
   	console.log(tipo);
8
 //   	$window.location.href = '/index';
8
 //   	$window.location.href = '/index';
9
 //   	var url = '/formaDatos/'+accion+'/'+tipo+'/'
9
 //   	var url = '/formaDatos/'+accion+'/'+tipo+'/'

+ 1
- 0
static/forma.js View File

16
 		  $scope.entradas = response.data.entradas;
16
 		  $scope.entradas = response.data.entradas;
17
 		  $scope.titulo = response.data.titulo;
17
 		  $scope.titulo = response.data.titulo;
18
 		  $scope.accion = response.data.accion;
18
 		  $scope.accion = response.data.accion;
19
+		  $scope.abled = response.data.abled;
19
 	  }
20
 	  }
20
 	  else
21
 	  else
21
 	  {
22
 	  {

+ 2
- 2
templates/error.html View File

10
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular-sanitize.js"></script>
10
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular-sanitize.js"></script>
11
 	<script src="{{ url_for('static', filename='error.js') }}"></script>
11
 	<script src="{{ url_for('static', filename='error.js') }}"></script>
12
     <script>
12
     <script>
13
-       error.value("tipo", "{{tipo}}");
13
+       error.value("tipo_error", "{{tipo_error}}").value("opcion", "{{opcion}}");
14
     </script>
14
     </script>
15
 </head>
15
 </head>
16
 <body ng-app="error" ng-controller="ErrorController">
16
 <body ng-app="error" ng-controller="ErrorController">
17
-Ese usuario no existe o no es {{tipo}}
17
+Error {{tipo_error}} Ese usuario no existe o no es {{opcion}}
18
 </body>
18
 </body>
19
 </html>
19
 </html>

+ 19
- 11
templates/forma.html View File

12
     <script>
12
     <script>
13
        forma.value("accion", "{{accion}}").value("tipo", "{{tipo}}").value("id", "{{id}}").value("user_type", "{{user_type}}");
13
        forma.value("accion", "{{accion}}").value("tipo", "{{tipo}}").value("id", "{{id}}").value("user_type", "{{user_type}}");
14
     </script>
14
     </script>
15
+    <script>
16
+    	
17
+    </script>
18
+
15
 </head>
19
 </head>
16
 <body ng-app="forma" ng-controller="FormController">
20
 <body ng-app="forma" ng-controller="FormController">
17
 <div class="container-fluid">
21
 <div class="container-fluid">
47
 		{{entrada.label}}
51
 		{{entrada.label}}
48
 	</span>
52
 	</span>
49
 	<span ng-if="entrada.type=='select'">
53
 	<span ng-if="entrada.type=='select'">
50
-		<select tabindex="{{entrada.tabindex}}" name="{{entrada.name}}" id="{{entrada.name}}" class="form-control-inline"  style="width: 250px;height: 48px;"
54
+		<select ng-disabled="entrada.disabled" tabindex="{{entrada.tabindex}}" name="{{entrada.name}}" id="{{entrada.name}}" class="form-control-inline"  style="width: 250px;height: 48px;"
51
       ng-options="opcion.label for opcion in entrada.options track by opcion.id"
55
       ng-options="opcion.label for opcion in entrada.options track by opcion.id"
52
       ng-model="entrada.value"
56
       ng-model="entrada.value"
53
       ng-required="true" required
57
       ng-required="true" required
54
       ></select>
58
       ></select>
55
 	</span>
59
 	</span>
56
 	<span ng-if="entrada.type=='checkbox'">
60
 	<span ng-if="entrada.type=='checkbox'">
57
-		<input  tabindex="{{entrada.tabindex}}" class="form-control-inline" type="{{entrada.type}}" name="{{entrada.name}}" value="1" ng-checked="{{entrada.value}}" style="width: 250px;height: 48px;align:left;">
61
+		<input ng-disabled="entrada.disabled" tabindex="{{entrada.tabindex}}" class="form-control-inline" type="{{entrada.type}}" name="{{entrada.name}}" value="1" ng-checked="{{entrada.value}}" style="width: 250px;height: 48px;align:left;">
58
 	</span>
62
 	</span>
59
 	<span ng-if="entrada.type=='tel'">
63
 	<span ng-if="entrada.type=='tel'">
60
-		<input tabindex="{{entrada.tabindex}}" class="form-control-inline" type="tel" placeholder="787-123-4567" pattern="[0-9]{3}-[0-9]{3}-[0-9]{4}" ng-required="entrada.require" name="{{entrada.name}}" value="{{entrada.value}}" style="width: 250px;height: 48px;align:left;">
64
+		<input ng-disabled="entrada.disabled" tabindex="{{entrada.tabindex}}" class="form-control-inline" type="tel" placeholder="787-123-4567" pattern="[0-9]{3}-[0-9]{3}-[0-9]{4}" ng-required="entrada.require" name="{{entrada.name}}" value="{{entrada.value}}" style="width: 250px;height: 48px;align:left;">
61
 	</span>
65
 	</span>
62
 	<span ng-if="entrada.type=='date'">
66
 	<span ng-if="entrada.type=='date'">
63
-		<input 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" name="{{entrada.name}}" value="{{entrada.value}}" style="width: 250px;height: 48px;align:left;">
67
+		<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" name="{{entrada.name}}" value="{{entrada.value}}" style="width: 250px;height: 48px;align:left;">
64
 	</span>
68
 	</span>
65
 	<span ng-if="entrada.type!='select' && entrada.type!='checkbox' && entrada.type!='tel' && entrada.type!='date'">
69
 	<span ng-if="entrada.type!='select' && entrada.type!='checkbox' && entrada.type!='tel' && entrada.type!='date'">
66
-		<input tabindex="{{entrada.tabindex}}" ng-required="entrada.require" class="form-control-inline" type="{{entrada.type}}" name="{{entrada.name}}" value="{{entrada.value}}" style="width: 250px;height: 48px;align:left;">
70
+		<input ng-disabled="entrada.disabled" tabindex="{{entrada.tabindex}}" ng-required="entrada.require" class="form-control-inline" type="{{entrada.type}}" name="{{entrada.name}}" value="{{entrada.value}}" style="width: 250px;height: 48px;align:left;">
67
 	</span>
71
 	</span>
68
 
72
 
69
   <span ng-if="entradas.col2[$index].name">
73
   <span ng-if="entradas.col2[$index].name">
71
 		{{entradas.col2[$index].label}}
75
 		{{entradas.col2[$index].label}}
72
 	</span>
76
 	</span>
73
 	<span ng-if="entradas.col2[$index].type=='select'">
77
 	<span ng-if="entradas.col2[$index].type=='select'">
74
-		<select name="{{entradas.col2[$index].name}}" id="{{entradas.col2[$index].name}}" class="form-control-inline"  style="width: 250px;height: 48px;"
78
+		<select ng-disabled="entradas.col2[$index].disabled" name="{{entradas.col2[$index].name}}" id="{{entradas.col2[$index].name}}" class="form-control-inline"  style="width: 250px;height: 48px;"
75
       ng-options="opcion.label for opcion in entradas.col2[$index].options track by opcion.id"
79
       ng-options="opcion.label for opcion in entradas.col2[$index].options track by opcion.id"
76
       ng-model="entradas.col2[$index].value"
80
       ng-model="entradas.col2[$index].value"
77
       ng-required="entradas.col2[$index].require"
81
       ng-required="entradas.col2[$index].require"
78
       ></select>
82
       ></select>
79
 	</span>
83
 	</span>
80
 	<span ng-if="entradas.col2[$index].type=='checkbox'">
84
 	<span ng-if="entradas.col2[$index].type=='checkbox'">
81
-			<input class="form-control-inline" type="checkbox" name="{{entradas.col2[$index].name}}" value="1" ng-checked="{{entradas.col2[$index].value}}" style="width: 250px;height: 48px;align:left;">
85
+			<input ng-disabled="entradas.col2[$index].disabled" class="form-control-inline" type="checkbox" name="{{entradas.col2[$index].name}}" value="1" ng-checked="{{entradas.col2[$index].value}}" style="width: 250px;height: 48px;align:left;">
82
 	</span>
86
 	</span>
83
 	<span ng-if="entradas.col2[$index].type=='tel'">
87
 	<span ng-if="entradas.col2[$index].type=='tel'">
84
-		<input class="form-control-inline" type="tel" placeholder="787-123-4567" pattern="[0-9]{3}-[0-9]{3}-[0-9]{4}" ng-required="entradas.col2[$index].require" name="{{entradas.col2[$index].name}}" value="{{entradas.col2[$index].value}}" style="width: 250px;height: 48px;align:left;">
88
+		<input ng-disabled="entradas.col2[$index].disabled" class="form-control-inline" type="tel" placeholder="787-123-4567" pattern="[0-9]{3}-[0-9]{3}-[0-9]{4}" ng-required="entradas.col2[$index].require" name="{{entradas.col2[$index].name}}" value="{{entradas.col2[$index].value}}" style="width: 250px;height: 48px;align:left;">
85
 	</span>
89
 	</span>
86
 	<span ng-if="entradas.col2[$index].type=='date'">
90
 	<span ng-if="entradas.col2[$index].type=='date'">
87
-		<input class="form-control-inline" type="date" placeholder="yyyy-MM-dd" pattern="\d{4}-\d{1,2}-\d{1,2}" ng-required="entradas.col2[$index].require" name="{{entradas.col2[$index].name}}" value="{{entradas.col2[$index].value}}" style="width: 250px;height: 48px;align:left;">
91
+		<input ng-disabled="entradas.col2[$index].disabled" class="form-control-inline" type="date" placeholder="yyyy-MM-dd" pattern="\d{4}-\d{1,2}-\d{1,2}" ng-required="entradas.col2[$index].require" name="{{entradas.col2[$index].name}}" value="{{entradas.col2[$index].value}}" style="width: 250px;height: 48px;align:left;">
88
 	</span>
92
 	</span>
89
 	<span ng-if="entradas.col2[$index].type!='select' && entradas.col2[$index].type!='checkbox' && entradas.col2[$index].type!='tel' && entradas.col2[$index].type!='date'">
93
 	<span ng-if="entradas.col2[$index].type!='select' && entradas.col2[$index].type!='checkbox' && entradas.col2[$index].type!='tel' && entradas.col2[$index].type!='date'">
90
-		<input class="form-control-inline" type="{{entradas.col2[$index].type}}" ng-required="entradas.col2[$index].require" name="{{entradas.col2[$index].name}}" value="{{entradas.col2[$index].value}}" style="width: 250px;height: 48px;align:left;">
94
+		<input ng-disabled="entradas.col2[$index].disabled" class="form-control-inline" type="{{entradas.col2[$index].type}}" ng-required="entradas.col2[$index].require" name="{{entradas.col2[$index].name}}" value="{{entradas.col2[$index].value}}" style="width: 250px;height: 48px;align:left;">
91
 	</span>
95
 	</span>
92
   </span>
96
   </span>
93
 </div>
97
 </div>
96
 <input type="hidden" name="id" value="{{id}}">
100
 <input type="hidden" name="id" value="{{id}}">
97
 <input type="hidden" name="accion" value="{{accion}}">
101
 <input type="hidden" name="accion" value="{{accion}}">
98
 <input type="hidden" name="tipo" value="{{tipo}}">
102
 <input type="hidden" name="tipo" value="{{tipo}}">
99
-<input class="boton labelForma" type="submit">
103
+      {% raw %}
104
+<span ng-if="abled">
105
+ <input class="boton labelForma" type="submit">
106
+</span>
107
+      {% endraw %}
100
 </form>
108
 </form>
101
 </div>
109
 </div>
102
 </div>
110
 </div>