No Description

dash-run.py 5.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. # coding=utf-8
  2. from flask import Flask, render_template, render_template_string, redirect, request, session, escape, url_for, jsonify, abort
  3. import os
  4. ##############################################
  5. # de stack overflow:
  6. # Changing default encoding of Python?
  7. import sys
  8. # sys.setdefaultencoding() does not exist, here!
  9. reload(sys) # Reload does the trick!
  10. sys.setdefaultencoding('UTF8')
  11. ##############################################
  12. import adminadmin, adminfacultad, adminenfermeria, adminencargados, adminestudiantes
  13. import enfermeria
  14. app = Flask(__name__)
  15. @app.route("/", methods=['GET', 'POST'])
  16. @app.route("/home/", methods=['GET', 'POST'])
  17. def home():
  18. return render_template('dash.html', jscript="perfilesInfo.js")
  19. #################################
  20. import adminusers
  21. @app.route("/users/", methods=['GET', 'POST'])
  22. def users():
  23. return render_template('table.html', jscript="adminver.js", pagina='users')
  24. #################################
  25. @app.route("/<perfil>/ver/", methods=['GET', 'POST'])
  26. @app.route("/<perfil>/ver/<pagina>/", methods=['GET', 'POST'])
  27. def perfil(perfil, pagina=None):
  28. if (perfil=='admin'):
  29. if (pagina==None):
  30. return render_template('dash.html', jscript="admin.js", pagina=pagina)
  31. if(pagina in ['admin','facultad','enfermeria','encargados','estudiantes']):
  32. return render_template('table.html', jscript="adminver.js", pagina=pagina)
  33. if (perfil=='enfermeria'):
  34. if (pagina==None):
  35. return render_template('dash.html', jscript="enfermeria.js", pagina=pagina)
  36. if(pagina in ['visitas']):
  37. return render_template('table.html', jscript="enfermeriaver.js", pagina=pagina)
  38. return render_template('error.html')
  39. # @app.route("/<perfil>/editar/<pagina>/", methods=['GET', 'POST'])
  40. # @app.route("/<perfil>/editar/<pagina>/<id>", methods=['GET', 'POST'])
  41. # def perfil(perfil, pagina, id=None):
  42. # if (perfil=='admin'):
  43. # if (pagina=='estudiante'):
  44. # return render_template('dash.html', jscript="admin.js", pagina=pagina)
  45. # if(pagina in ['admin','facultad','enfermeria','encargados','estudiantes']):
  46. # return render_template('table.html', jscript="adminver.js", pagina=pagina)
  47. # return render_template('error.html')
  48. @app.route('/<perfil>/datos/', methods=['GET', 'POST'])
  49. @app.route('/<perfil>/datos/<pagina>/', methods=['GET', 'POST'])
  50. def datos(perfil, pagina=None):
  51. if(perfil=="admin"):
  52. if(pagina=="admin"):
  53. return adminadmin.admin()
  54. if(pagina=="facultad"):
  55. return adminfacultad.facultad()
  56. if(pagina=="enfermeria"):
  57. return adminenfermeria.enfermeria()
  58. if(pagina=="encargados"):
  59. return adminencargados.encargados()
  60. if(pagina=="estudiantes"):
  61. return adminestudiantes.estudiantes()
  62. if(perfil=="enfermeria"):
  63. if(pagina=="visitas"):
  64. return enfermeria.visitas()
  65. #################################
  66. if(pagina=="users"):
  67. return adminusers.users()
  68. #################################
  69. from flask import Flask, render_template, request, redirect, url_for
  70. import json
  71. # import estudiante, madre, admin, enfermera, facultad
  72. # import forma
  73. # app = Flask(__name__)
  74. @app.route('/admin/', methods=['GET', 'POST'])
  75. def index():
  76. # return "Hello, World!"
  77. return render_template('dashAdministracion.html')
  78. @app.route('/admin/procesaUser', methods=['GET', 'POST'])
  79. def procesaUser():
  80. data = request.form
  81. tipo_accion = getattr(__import__(data["tipo"]), data["accion"])
  82. return tipo_accion(data)
  83. @app.route('/admin/forma/<accion>/<tipo>/', methods=['GET', 'POST'])
  84. @app.route('/admin/forma/<accion>/<tipo>/<id>', methods=['GET', 'POST'])
  85. def formas(accion,tipo,id=None):
  86. return render_template('forma.html', tipo=tipo, accion=accion, id=id, user_type="admin")
  87. @app.route('/admin/formaDatos/<accion>/<tipo>/', methods=['GET', 'POST'])
  88. @app.route('/admin/formaDatos/<accion>/<tipo>/<id>', methods=['GET', 'POST'])
  89. def formaEst(accion, tipo, id=None):
  90. # data = json.loads('formaEstudiantes.json')
  91. if tipo not in ["enfermera", "administracion", "estudiante", "madre", "facultad"]:
  92. return {"error":True,"tipo":"tipo_incorrecto","opcion":tipo,"user_type":"admin"}
  93. if accion not in ["edit", "add", "view"]:
  94. return {"error":True,"tipo":"accion_incorrecta","opcion":accion,"user_type":"admin"}
  95. if (accion=="add"):
  96. return __import__(tipo).add_form()
  97. if(accion=="edit"):
  98. resultado=__import__(tipo).edit_form(id)
  99. if resultado==False:
  100. return {"error":True,"tipo":"usuario_incorrecto","opcion":tipo,"user_type":"admin"}
  101. else:
  102. return resultado
  103. if(accion=="view"):
  104. resultado=__import__(tipo).edit_form(id,disabled=True)
  105. if resultado==False:
  106. return {"error":True,"tipo":"usuario_incorrecto","opcion":tipo,"user_type":"admin"}
  107. else:
  108. return resultado
  109. @app.route('/admin/dashAdmin', methods=['GET', 'POST'])
  110. def dashAdmin():
  111. # data = json.loads('formaEstudiantes.json')
  112. 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"}'
  113. @app.route('/admin/error/<tipo>', methods=['GET', 'POST'])
  114. def maneja_error_user(tipo):
  115. return render_template('error.html',tipo=tipo)
  116. # print(formaEst("edit","estudiante",3))
  117. app.secret_key = os.urandom(52)
  118. if __name__ == "__main__":
  119. app.run(host='0.0.0.0', port=9000, debug=True)