from Negocio import controller
import forms, functions
from flask import Flask, render_template, request, redirect, url_for, flash
   
def register(mysql, request):
   registerForm= forms.RegisterForm(request.form)
   if request.method == 'POST' and registerForm.validate():
      return controller.registraUsuario(mysql, request, registerForm)
   return render_template('register.html', form=registerForm)

def Index(mysql, request):
   if request.method=='GET':
      success= request.args.get('success')
      if success==None:
         if controller.usuarioIniciado():
               return redirect(url_for('home'))
         else:
            return render_template('Index.html')
      else:          
         return render_template('Index.html', success=success)
   return render_template('Index.html')
          

def home(mysql, request):
    if request.method== 'POST':
       controller.iniciarSesion(mysql, request)
    if controller.usuarioIniciado() and request.method== 'GET':
       return controller.mostrarRutinas(mysql, request)
    else:
        return redirect(url_for('Index'))

def historial_rutina(mysql, request):
    if controller.usuarioIniciado() and request.method== 'GET':
       return controller.mostrar_historial_rutina(mysql, request)
    else:
        return redirect(url_for('Index'))

def historial_usuario(mysql, request):
    if controller.usuarioIniciado() and request.method== 'GET':
       return controller.mostrar_historial_usuario(mysql, request)
    else:
        return redirect(url_for('Index'))

def perfil(mysql, request):
    if controller.usuarioIniciado and request.method=='GET':
        success= request.args.get('success')
        usuario=controller.datosUsuario(mysql, request)
        imc=functions.IMC(usuario[8], usuario[7])
        m_basal= controller.calcular_metabolismo_basal(mysql, usuario[7], usuario[8])
        return render_template('perfil.html', success=success, usuario=usuario, imc=imc, evaluacion=functions.evaluarIMC(imc), pg=functions.porcentajeGrasa(usuario[5], usuario[9], usuario[10], usuario[7], usuario[11]), m_basal=m_basal )
    else:
        return redirect(url_for('Index'))

def ActualizarPerfil(mysql, request):
   actualize_form= forms.PerfilForm(request.form)
   if request.method == 'POST' and controller.usuarioIniciado:
      if actualize_form.validate():
         return controller.actualizar_perfil(mysql, request)
      else:
         flash("Alguno de los datos es incorrecto")
         return redirect(url_for('actualizar_perfil', success=False))
   else:
      if request.method == 'GET' and controller.usuarioIniciado:
         datos=controller.formulario_perfil(mysql)
         return render_template('actualizar_perfil.html', form=actualize_form, datos=datos)
      return redirect(url_for('perfil'))

def administracionRutinas(mysql, request):
    if controller.usuarioIniciado():
        return render_template('administracion_rutinas.html')
    else:
        return redirect(url_for('Index'))

def crearRutina(mysql, request):
   if request.method =='POST' and controller.usuarioIniciado():
        return controller.agregarRutina(mysql, request)
   else:
      if controller.rutinaIniciada() and controller.usuarioIniciado():
         return controller.rutinaEnCurso(mysql, request)
      if controller.usuarioIniciado():
         return redirect(url_for('adm_rutinas'))
      else:
         return redirect(url_for('Index'))

def registrarEjerciciosRutina(mysql, request):
   if request.method == 'POST':
      return controller.registrarEjerciciosRutina(mysql, request)
   return redirect(url_for('adm_rutinas'))

def modificarRutina(mysql, request):
    if controller.usuarioIniciado():
      rutinas=controller.rutinasUsuario(mysql)
      rutinaEjercicios=controller.rutinaEjercicios(mysql)
      datosEjer=controller.datosEjercicios(mysql)
      return render_template('modify_rutina.html', rutinas=rutinas , ejercicios=datosEjer, rutinaEjer=rutinaEjercicios)
    else:
        return redirect(url_for('Index'))

def registrarModiciaciones(mysql, request):
   if request.method == 'POST':
      return controller.registrarModificaciones(mysql, request)
   return redirect(url_for('adm_rutinas'))

def eliminarRutina(mysql,request):
   if controller.usuarioIniciado():
      rutinas=controller.rutinasUsuario(mysql)
      rutinaEjercicios=controller.rutinaEjercicios(mysql)
      return render_template('delete_rutina.html', rutinas=rutinas , rutinaEjer=rutinaEjercicios)
   else:
      return redirect(url_for('Index'))

def registrarEliminacion(mysql, request):
    if request.method=='POST' and controller.usuarioIniciado():
        return controller.registrarEliminacion(mysql, request)
    else:
        return redirect(url_for('Index'))

def registrarEjercicios(mysql, request):
   if request.method == 'POST':
      return controller.registrarEjercicio(mysql, request)
   return redirect(url_for('ejercicios'))
[((182, 214), 'forms.RegisterForm', 'forms.RegisterForm', (['request.form'], {}), '(request.form)\n', (200, 214), False, 'import forms, functions\n'), ((355, 406), 'flask.render_template', 'render_template', (['"""register.html"""'], {'form': 'registerForm'}), "('register.html', form=registerForm)\n", (370, 406), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((780, 809), 'flask.render_template', 'render_template', (['"""Index.html"""'], {}), "('Index.html')\n", (795, 809), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((2218, 2248), 'forms.PerfilForm', 'forms.PerfilForm', (['request.form'], {}), '(request.form)\n', (2234, 2248), False, 'import forms, functions\n'), ((2852, 2880), 'Negocio.controller.usuarioIniciado', 'controller.usuarioIniciado', ([], {}), '()\n', (2878, 2880), False, 'from Negocio import controller\n'), ((3664, 3692), 'Negocio.controller.usuarioIniciado', 'controller.usuarioIniciado', ([], {}), '()\n', (3690, 3692), False, 'from Negocio import controller\n'), ((4247, 4275), 'Negocio.controller.usuarioIniciado', 'controller.usuarioIniciado', ([], {}), '()\n', (4273, 4275), False, 'from Negocio import controller\n'), ((288, 344), 'Negocio.controller.registraUsuario', 'controller.registraUsuario', (['mysql', 'request', 'registerForm'], {}), '(mysql, request, registerForm)\n', (314, 344), False, 'from Negocio import controller\n'), ((479, 506), 'flask.request.args.get', 'request.args.get', (['"""success"""'], {}), "('success')\n", (495, 506), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((887, 927), 'Negocio.controller.iniciarSesion', 'controller.iniciarSesion', (['mysql', 'request'], {}), '(mysql, request)\n', (911, 927), False, 'from Negocio import controller\n'), ((935, 963), 'Negocio.controller.usuarioIniciado', 'controller.usuarioIniciado', ([], {}), '()\n', (961, 963), False, 'from Negocio import controller\n'), ((1006, 1047), 'Negocio.controller.mostrarRutinas', 'controller.mostrarRutinas', (['mysql', 'request'], {}), '(mysql, request)\n', (1031, 1047), False, 'from Negocio import controller\n'), ((1146, 1174), 'Negocio.controller.usuarioIniciado', 'controller.usuarioIniciado', ([], {}), '()\n', (1172, 1174), False, 'from Negocio import controller\n'), ((1217, 1268), 'Negocio.controller.mostrar_historial_rutina', 'controller.mostrar_historial_rutina', (['mysql', 'request'], {}), '(mysql, request)\n', (1252, 1268), False, 'from Negocio import controller\n'), ((1368, 1396), 'Negocio.controller.usuarioIniciado', 'controller.usuarioIniciado', ([], {}), '()\n', (1394, 1396), False, 'from Negocio import controller\n'), ((1439, 1491), 'Negocio.controller.mostrar_historial_usuario', 'controller.mostrar_historial_usuario', (['mysql', 'request'], {}), '(mysql, request)\n', (1475, 1491), False, 'from Negocio import controller\n'), ((1651, 1678), 'flask.request.args.get', 'request.args.get', (['"""success"""'], {}), "('success')\n", (1667, 1678), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((1695, 1734), 'Negocio.controller.datosUsuario', 'controller.datosUsuario', (['mysql', 'request'], {}), '(mysql, request)\n', (1718, 1734), False, 'from Negocio import controller\n'), ((1747, 1784), 'functions.IMC', 'functions.IMC', (['usuario[8]', 'usuario[7]'], {}), '(usuario[8], usuario[7])\n', (1760, 1784), False, 'import forms, functions\n'), ((1802, 1870), 'Negocio.controller.calcular_metabolismo_basal', 'controller.calcular_metabolismo_basal', (['mysql', 'usuario[7]', 'usuario[8]'], {}), '(mysql, usuario[7], usuario[8])\n', (1839, 1870), False, 'from Negocio import controller\n'), ((2897, 2943), 'flask.render_template', 'render_template', (['"""administracion_rutinas.html"""'], {}), "('administracion_rutinas.html')\n", (2912, 2943), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((3064, 3092), 'Negocio.controller.usuarioIniciado', 'controller.usuarioIniciado', ([], {}), '()\n', (3090, 3092), False, 'from Negocio import controller\n'), ((3109, 3149), 'Negocio.controller.agregarRutina', 'controller.agregarRutina', (['mysql', 'request'], {}), '(mysql, request)\n', (3133, 3149), False, 'from Negocio import controller\n'), ((3296, 3324), 'Negocio.controller.usuarioIniciado', 'controller.usuarioIniciado', ([], {}), '()\n', (3322, 3324), False, 'from Negocio import controller\n'), ((3523, 3575), 'Negocio.controller.registrarEjerciciosRutina', 'controller.registrarEjerciciosRutina', (['mysql', 'request'], {}), '(mysql, request)\n', (3559, 3575), False, 'from Negocio import controller\n'), ((3595, 3617), 'flask.url_for', 'url_for', (['"""adm_rutinas"""'], {}), "('adm_rutinas')\n", (3602, 3617), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((3708, 3740), 'Negocio.controller.rutinasUsuario', 'controller.rutinasUsuario', (['mysql'], {}), '(mysql)\n', (3733, 3740), False, 'from Negocio import controller\n'), ((3764, 3798), 'Negocio.controller.rutinaEjercicios', 'controller.rutinaEjercicios', (['mysql'], {}), '(mysql)\n', (3791, 3798), False, 'from Negocio import controller\n'), ((3815, 3848), 'Negocio.controller.datosEjercicios', 'controller.datosEjercicios', (['mysql'], {}), '(mysql)\n', (3841, 3848), False, 'from Negocio import controller\n'), ((3862, 3971), 'flask.render_template', 'render_template', (['"""modify_rutina.html"""'], {'rutinas': 'rutinas', 'ejercicios': 'datosEjer', 'rutinaEjer': 'rutinaEjercicios'}), "('modify_rutina.html', rutinas=rutinas, ejercicios=datosEjer,\n    rutinaEjer=rutinaEjercicios)\n", (3877, 3971), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((4111, 4161), 'Negocio.controller.registrarModificaciones', 'controller.registrarModificaciones', (['mysql', 'request'], {}), '(mysql, request)\n', (4145, 4161), False, 'from Negocio import controller\n'), ((4181, 4203), 'flask.url_for', 'url_for', (['"""adm_rutinas"""'], {}), "('adm_rutinas')\n", (4188, 4203), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((4291, 4323), 'Negocio.controller.rutinasUsuario', 'controller.rutinasUsuario', (['mysql'], {}), '(mysql)\n', (4316, 4323), False, 'from Negocio import controller\n'), ((4347, 4381), 'Negocio.controller.rutinaEjercicios', 'controller.rutinaEjercicios', (['mysql'], {}), '(mysql)\n', (4374, 4381), False, 'from Negocio import controller\n'), ((4395, 4483), 'flask.render_template', 'render_template', (['"""delete_rutina.html"""'], {'rutinas': 'rutinas', 'rutinaEjer': 'rutinaEjercicios'}), "('delete_rutina.html', rutinas=rutinas, rutinaEjer=\n    rutinaEjercicios)\n", (4410, 4483), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((4606, 4634), 'Negocio.controller.usuarioIniciado', 'controller.usuarioIniciado', ([], {}), '()\n', (4632, 4634), False, 'from Negocio import controller\n'), ((4651, 4698), 'Negocio.controller.registrarEliminacion', 'controller.registrarEliminacion', (['mysql', 'request'], {}), '(mysql, request)\n', (4682, 4698), False, 'from Negocio import controller\n'), ((4838, 4883), 'Negocio.controller.registrarEjercicio', 'controller.registrarEjercicio', (['mysql', 'request'], {}), '(mysql, request)\n', (4867, 4883), False, 'from Negocio import controller\n'), ((4903, 4924), 'flask.url_for', 'url_for', (['"""ejercicios"""'], {}), "('ejercicios')\n", (4910, 4924), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((543, 571), 'Negocio.controller.usuarioIniciado', 'controller.usuarioIniciado', ([], {}), '()\n', (569, 571), False, 'from Negocio import controller\n'), ((723, 769), 'flask.render_template', 'render_template', (['"""Index.html"""'], {'success': 'success'}), "('Index.html', success=success)\n", (738, 769), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((1082, 1098), 'flask.url_for', 'url_for', (['"""Index"""'], {}), "('Index')\n", (1089, 1098), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((1303, 1319), 'flask.url_for', 'url_for', (['"""Index"""'], {}), "('Index')\n", (1310, 1319), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((1526, 1542), 'flask.url_for', 'url_for', (['"""Index"""'], {}), "('Index')\n", (1533, 1542), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((2142, 2158), 'flask.url_for', 'url_for', (['"""Index"""'], {}), "('Index')\n", (2149, 2158), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((2364, 2408), 'Negocio.controller.actualizar_perfil', 'controller.actualizar_perfil', (['mysql', 'request'], {}), '(mysql, request)\n', (2392, 2408), False, 'from Negocio import controller\n'), ((2430, 2472), 'flask.flash', 'flash', (['"""Alguno de los datos es incorrecto"""'], {}), "('Alguno de los datos es incorrecto')\n", (2435, 2472), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((2632, 2667), 'Negocio.controller.formulario_perfil', 'controller.formulario_perfil', (['mysql'], {}), '(mysql)\n', (2660, 2667), False, 'from Negocio import controller\n'), ((2684, 2759), 'flask.render_template', 'render_template', (['"""actualizar_perfil.html"""'], {'form': 'actualize_form', 'datos': 'datos'}), "('actualizar_perfil.html', form=actualize_form, datos=datos)\n", (2699, 2759), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((2782, 2799), 'flask.url_for', 'url_for', (['"""perfil"""'], {}), "('perfil')\n", (2789, 2799), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((2978, 2994), 'flask.url_for', 'url_for', (['"""Index"""'], {}), "('Index')\n", (2985, 2994), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((3168, 3195), 'Negocio.controller.rutinaIniciada', 'controller.rutinaIniciada', ([], {}), '()\n', (3193, 3195), False, 'from Negocio import controller\n'), ((3200, 3228), 'Negocio.controller.usuarioIniciado', 'controller.usuarioIniciado', ([], {}), '()\n', (3226, 3228), False, 'from Negocio import controller\n'), ((3246, 3286), 'Negocio.controller.rutinaEnCurso', 'controller.rutinaEnCurso', (['mysql', 'request'], {}), '(mysql, request)\n', (3270, 3286), False, 'from Negocio import controller\n'), ((4003, 4019), 'flask.url_for', 'url_for', (['"""Index"""'], {}), "('Index')\n", (4010, 4019), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((4511, 4527), 'flask.url_for', 'url_for', (['"""Index"""'], {}), "('Index')\n", (4518, 4527), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((4733, 4749), 'flask.url_for', 'url_for', (['"""Index"""'], {}), "('Index')\n", (4740, 4749), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((655, 684), 'flask.render_template', 'render_template', (['"""Index.html"""'], {}), "('Index.html')\n", (670, 684), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((1971, 1996), 'functions.evaluarIMC', 'functions.evaluarIMC', (['imc'], {}), '(imc)\n', (1991, 1996), False, 'import forms, functions\n'), ((2001, 2092), 'functions.porcentajeGrasa', 'functions.porcentajeGrasa', (['usuario[5]', 'usuario[9]', 'usuario[10]', 'usuario[7]', 'usuario[11]'], {}), '(usuario[5], usuario[9], usuario[10], usuario[7],\n    usuario[11])\n', (2026, 2092), False, 'import forms, functions\n'), ((2498, 2541), 'flask.url_for', 'url_for', (['"""actualizar_perfil"""'], {'success': '(False)'}), "('actualizar_perfil', success=False)\n", (2505, 2541), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((3351, 3373), 'flask.url_for', 'url_for', (['"""adm_rutinas"""'], {}), "('adm_rutinas')\n", (3358, 3373), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((3412, 3428), 'flask.url_for', 'url_for', (['"""Index"""'], {}), "('Index')\n", (3419, 3428), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n'), ((604, 619), 'flask.url_for', 'url_for', (['"""home"""'], {}), "('home')\n", (611, 619), False, 'from flask import Flask, render_template, request, redirect, url_for, flash\n')]