123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- # coding=utf-8
- from flask import Flask, render_template, render_template_string, redirect, request, session, escape, url_for, jsonify, abort
- import os
- from flask import make_response, request
-
- import adminver
- import enfermeriaver
- import transcripcionmaker
-
-
- app = Flask(__name__)
-
- ############# estas direcciones no son del producto final. son para pruebas.
- @app.route("/", methods=['GET', 'POST'])
- @app.route("/home/", methods=['GET', 'POST'])
- def home():
- return render_template('dash.html', jscript="perfilesInfo.js")
- #############
-
-
- '''
- estas direcciones permiten ver las siguientes paginas de los siguientes perfiles:
- admin:
- ver y editar los perfiles de
- admin
- facultad
- enfermeria
- encargados
- estudiantes
- ver y manejar las visitas en la oficina
- crear las transcripcion
-
- enfermeras:
- pueden ver y crear visitas hechas en la enfermeria
- '''
- @app.route("/<perfil>/ver/", methods=['GET', 'POST'])
- @app.route("/<perfil>/ver/<pagina>/", methods=['GET', 'POST'])
- def perfil(perfil, pagina=None):
- if (perfil=='admin'):
- if (pagina==None):
- return render_template('dash.html', jscript="admin.js", pagina=pagina)
- if(pagina in ['admin','facultad','enfermeria','encargados','estudiantes','visita','transcripcion']):
- return render_template('table.html', jscript="adminver.js", pagina=pagina)
- if (perfil=='enfermeria'):
- if (pagina==None):
- return render_template('dash.html', jscript="enfermeria.js", pagina=pagina)
- if(pagina in ['visitas']):
- return render_template('table.html', jscript="enfermeriaver.js", pagina=pagina)
- return render_template('error.html')
-
-
- '''
- estas direcciones son llamadas por las paginass de la seccion anterior.
- estas direcciones regresan la informacion guardada en la base de datos.
- '''
- @app.route('/<perfil>/datos/', methods=['GET', 'POST'])
- @app.route('/<perfil>/datos/<pagina>/', methods=['GET', 'POST'])
- def datos(perfil, pagina=None):
- if(perfil=="admin"):
- if(pagina=="admin"):
- return adminver.admin()
- if(pagina=="facultad"):
- return adminver.facultad()
- if(pagina=="enfermeria"):
- return adminver.enfermeria()
- if(pagina=="encargados"):
- return adminver.encargados()
- if(pagina=="estudiantes"):
- return adminver.estudiantes()
- if(pagina=="visita"):
- return adminver.visita()
- if(pagina=="transcripcion"):
- return adminver.transcripcion()
- if(perfil=="enfermeria"):
- if(pagina=="visitas"):
- return enfermeriaver.visitas()
-
-
- from flask import Flask, render_template, request, redirect, url_for
- import json
- # import estudiante, madre, admin, enfermera, facultad
- # import forma
-
- # app = Flask(__name__)
-
- @app.route('/admin/', methods=['GET', 'POST'])
- def index():
- # return "Hello, World!"
- return render_template('dashAdministracion.html')
-
- @app.route('/<user_type>/procesaUser', methods=['GET', 'POST'])
- def procesaUser(user_type):
- if user_type not in ["enfermeria", "admin"]:
- return {"error":True,"tipo":"tipo_incorrecto","opcion":tipo,"user_type":"user_type"}
- data = request.form
- tipo_accion = getattr(__import__(data["tipo"]), data["accion"])
- return tipo_accion(data)
-
- return
- # @app.route('/admin/forma/<accion>/<tipo>/', methods=['GET', 'POST'])
- # @app.route('/admin/forma/<accion>/<tipo>/<id>', methods=['GET', 'POST'])
- # def formas(accion,tipo,id=None):
- # return render_template('forma.html', tipo=tipo, accion=accion, id=id, user_type="admin")
-
- ################## oniel, editado el original de arriba
- @app.route('/<perfil>/forma/<accion>/<tipo>/', methods=['GET', 'POST'])
- @app.route('/<perfil>/forma/<accion>/<tipo>/<id>', methods=['GET', 'POST'])
- def formas(perfil, accion,tipo,id=None):
- if perfil not in ["enfermera", "enfermeria", "admin", "administracion", "estudiante", "madre", "facultad"]:
- return {"error":True,"tipo":"tipo_incorrecto","opcion":tipo,"user_type":"admin"}
- if (accion == 'crear'):
- if (tipo == 'transcripcion'):
- if(id):
- return render_template('transcripcion.html', id=id)
- return render_template('forma.html', tipo=tipo, accion=accion, id=id, user_type=perfil)
- ##################
-
- @app.route('/<perfil>/formaDatos/<accion>/<tipo>/', methods=['GET', 'POST'])
- @app.route('/<perfil>/formaDatos/<accion>/<tipo>/<id>/', methods=['GET', 'POST'])
- def formaEst(perfil, accion, tipo, id=None):
- # data = json.loads('formaEstudiantes.json')
- # print 'perfil'
- if perfil not in ["enfermera", "enfermeria", "admin", "administracion", "estudiante", "madre", "facultad"]:
- return {"error":True,"tipo":"tipo_incorrecto","opcion":tipo,"user_type":"<perfil>"}
- # print 'tipo'
- if tipo not in ["enfermera", "enfermeria", "administracion", "estudiante", "madre", "facultad", 'visitas_oficina', 'visitas_enfermeria', 'transcripcion', 'pdf']:
- return {"error":True,"tipo":"tipo_incorrecto","opcion":tipo,"user_type":"<perfil>"}
- # print 'accion'
- if accion not in ["edit", "add", "view", "crear"]:
- return {"error":True,"tipo":"accion_incorrecta","opcion":accion,"user_type":"<perfil>"}
- # print 'add'
- if (accion=="add"):
- return __import__(tipo).add_form()
- # print 'edit'
- if(accion=="edit"):
- resultado=__import__(tipo).edit_form(id)
- if resultado==False:
- return {"error":True,"tipo":"usuario_incorrecto","opcion":tipo,"user_type":"<perfil>"}
- else:
- return resultado
- # print 'view'
- if(accion=="view"):
- resultado=__import__(tipo).edit_form(id,disabled=True)
- if resultado==False:
- return {"error":True,"tipo":"usuario_incorrecto","opcion":tipo,"user_type":"<perfil>"}
- else:
- return resultado
- if (accion=="crear"):
- if (tipo=="transcripcion"):
- return transcripcionmaker.crear_transcripcion(id)
-
-
- @app.route('/admin/dashAdmin', methods=['GET', 'POST'])
- def dashAdmin():
- # data = json.loads('formaEstudiantes.json')
- return '{"tasks": [ { "titulo": "Estudiantes", "url": "admin/estudiantes.html" }, { "titulo": "Facultad", "url": "admin/facultad.html" }, { "titulo": "Administración", "url": "admin/adminstracion.html" }, { "titulo": "Enfermeria", "url": "admin/enfermeria.html" }, { "titulo": "Madres", "url": "admin/madres.html" }, { "titulo": "Cursos", "url": "admin/cursos.html" }, { "titulo": "Matricula", "url": "admin/matricula.html" }, { "titulo": "Transcripción", "url": "admin/transcripcion.html" }, { "titulo": "Oferta", "url": "admin/oferta.html" }, { "titulo": "Visita Oficina", "url": "admin/oficina.html" }, { "titulo": "Mensajes", "url": "admin/mensajes.html" } ], "titulo": "Administración"}'
-
-
- @app.route('/admin/error/<tipo>', methods=['GET', 'POST'])
- def maneja_error_user(tipo):
- return render_template('error.html',tipo=tipo)
-
- # print(formaEst("edit","estudiante",3))
-
- app.secret_key = os.urandom(52)
- if __name__ == "__main__":
- app.run(host='0.0.0.0', port=9000, debug=True)
|