설명 없음

dash-run.py 7.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  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. from flask import make_response, request
  5. import adminver
  6. import enfermeriaver
  7. import transcripcionmaker
  8. app = Flask(__name__)
  9. ############# estas direcciones no son del producto final. son para pruebas.
  10. @app.route("/", methods=['GET', 'POST'])
  11. @app.route("/home/", methods=['GET', 'POST'])
  12. def home():
  13. return render_template('dash.html', jscript="perfilesInfo.js")
  14. #############
  15. '''
  16. estas direcciones permiten ver las siguientes paginas de los siguientes perfiles:
  17. admin:
  18. ver y editar los perfiles de
  19. admin
  20. facultad
  21. enfermeria
  22. encargados
  23. estudiantes
  24. ver y manejar las visitas en la oficina
  25. crear las transcripcion
  26. enfermeras:
  27. pueden ver y crear visitas hechas en la enfermeria
  28. '''
  29. @app.route("/<perfil>/ver/", methods=['GET', 'POST'])
  30. @app.route("/<perfil>/ver/<pagina>/", methods=['GET', 'POST'])
  31. def perfil(perfil, pagina=None):
  32. if (perfil=='admin'):
  33. if (pagina==None):
  34. return render_template('dash.html', jscript="admin.js", pagina=pagina)
  35. if(pagina in ['admin','facultad','enfermeria','encargados','estudiantes','visita','transcripcion']):
  36. return render_template('table.html', jscript="adminver.js", pagina=pagina)
  37. if (perfil=='enfermeria'):
  38. if (pagina==None):
  39. return render_template('dash.html', jscript="enfermeria.js", pagina=pagina)
  40. if(pagina in ['visitas']):
  41. return render_template('table.html', jscript="enfermeriaver.js", pagina=pagina)
  42. return render_template('error.html')
  43. '''
  44. estas direcciones son llamadas por las paginass de la seccion anterior.
  45. estas direcciones regresan la informacion guardada en la base de datos.
  46. '''
  47. @app.route('/<perfil>/datos/', methods=['GET', 'POST'])
  48. @app.route('/<perfil>/datos/<pagina>/', methods=['GET', 'POST'])
  49. def datos(perfil, pagina=None):
  50. if(perfil=="admin"):
  51. if(pagina=="admin"):
  52. return adminver.admin()
  53. if(pagina=="facultad"):
  54. return adminver.facultad()
  55. if(pagina=="enfermeria"):
  56. return adminver.enfermeria()
  57. if(pagina=="encargados"):
  58. return adminver.encargados()
  59. if(pagina=="estudiantes"):
  60. return adminver.estudiantes()
  61. if(pagina=="visita"):
  62. return adminver.visita()
  63. if(pagina=="transcripcion"):
  64. return adminver.transcripcion()
  65. if(perfil=="enfermeria"):
  66. if(pagina=="visitas"):
  67. return enfermeriaver.visitas()
  68. from flask import Flask, render_template, request, redirect, url_for
  69. import json
  70. # import estudiante, madre, admin, enfermera, facultad
  71. # import forma
  72. # app = Flask(__name__)
  73. @app.route('/admin/', methods=['GET', 'POST'])
  74. def index():
  75. # return "Hello, World!"
  76. return render_template('dashAdministracion.html')
  77. @app.route('/<user_type>/procesaUser', methods=['GET', 'POST'])
  78. def procesaUser(user_type):
  79. if user_type not in ["enfermeria", "admin"]:
  80. return {"error":True,"tipo":"tipo_incorrecto","opcion":tipo,"user_type":"user_type"}
  81. data = request.form
  82. tipo_accion = getattr(__import__(data["tipo"]), data["accion"])
  83. return tipo_accion(data)
  84. return
  85. # @app.route('/admin/forma/<accion>/<tipo>/', methods=['GET', 'POST'])
  86. # @app.route('/admin/forma/<accion>/<tipo>/<id>', methods=['GET', 'POST'])
  87. # def formas(accion,tipo,id=None):
  88. # return render_template('forma.html', tipo=tipo, accion=accion, id=id, user_type="admin")
  89. ################## oniel, editado el original de arriba
  90. @app.route('/<perfil>/forma/<accion>/<tipo>/', methods=['GET', 'POST'])
  91. @app.route('/<perfil>/forma/<accion>/<tipo>/<id>', methods=['GET', 'POST'])
  92. def formas(perfil, accion,tipo,id=None):
  93. if perfil not in ["enfermera", "enfermeria", "admin", "administracion", "estudiante", "madre", "facultad"]:
  94. return {"error":True,"tipo":"tipo_incorrecto","opcion":tipo,"user_type":"admin"}
  95. if (accion == 'crear'):
  96. if (tipo == 'transcripcion'):
  97. if(id):
  98. return render_template('transcripcion.html', id=id)
  99. return render_template('forma.html', tipo=tipo, accion=accion, id=id, user_type=perfil)
  100. ##################
  101. @app.route('/<perfil>/formaDatos/<accion>/<tipo>/', methods=['GET', 'POST'])
  102. @app.route('/<perfil>/formaDatos/<accion>/<tipo>/<id>/', methods=['GET', 'POST'])
  103. def formaEst(perfil, accion, tipo, id=None):
  104. # data = json.loads('formaEstudiantes.json')
  105. # print 'perfil'
  106. if perfil not in ["enfermera", "enfermeria", "admin", "administracion", "estudiante", "madre", "facultad"]:
  107. return {"error":True,"tipo":"tipo_incorrecto","opcion":tipo,"user_type":"<perfil>"}
  108. # print 'tipo'
  109. if tipo not in ["enfermera", "enfermeria", "administracion", "estudiante", "madre", "facultad", 'visitas_oficina', 'visitas_enfermeria', 'transcripcion', 'pdf']:
  110. return {"error":True,"tipo":"tipo_incorrecto","opcion":tipo,"user_type":"<perfil>"}
  111. # print 'accion'
  112. if accion not in ["edit", "add", "view", "crear"]:
  113. return {"error":True,"tipo":"accion_incorrecta","opcion":accion,"user_type":"<perfil>"}
  114. # print 'add'
  115. if (accion=="add"):
  116. return __import__(tipo).add_form()
  117. # print 'edit'
  118. if(accion=="edit"):
  119. resultado=__import__(tipo).edit_form(id)
  120. if resultado==False:
  121. return {"error":True,"tipo":"usuario_incorrecto","opcion":tipo,"user_type":"<perfil>"}
  122. else:
  123. return resultado
  124. # print 'view'
  125. if(accion=="view"):
  126. resultado=__import__(tipo).edit_form(id,disabled=True)
  127. if resultado==False:
  128. return {"error":True,"tipo":"usuario_incorrecto","opcion":tipo,"user_type":"<perfil>"}
  129. else:
  130. return resultado
  131. if (accion=="crear"):
  132. if (tipo=="transcripcion"):
  133. return transcripcionmaker.crear_transcripcion(id)
  134. @app.route('/admin/dashAdmin', methods=['GET', 'POST'])
  135. def dashAdmin():
  136. # data = json.loads('formaEstudiantes.json')
  137. 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"}'
  138. @app.route('/admin/error/<tipo>', methods=['GET', 'POST'])
  139. def maneja_error_user(tipo):
  140. return render_template('error.html',tipo=tipo)
  141. # print(formaEst("edit","estudiante",3))
  142. app.secret_key = os.urandom(52)
  143. if __name__ == "__main__":
  144. app.run(host='0.0.0.0', port=9000, debug=True)