def add_user(): uform = UsuarioForm(request.form) sform = SocioForm(request.form) if request.method == "POST" and uform.validate() and sform.validate(): socio = Socio( sform.tipo.data, sform.nombre.data, sform.telefono.data, sform.celular.data, sform.direccion.data, sform.ciudad.data, sform.cp.data, ) try: db_session.add(socio) db_session.flush() usuario = Usuario(uform.usuario.data, uform.email.data, uform.contrasena.data, socio.idsocio) db_session.add(usuario) db_session.commit() return redirect(url_for("index")) except exc.SQLAlchemyError: flash("Error: No se ha agregado el Socio", "error") form = LoginForm() return render_template("socios/register2.html", uform=uform, sform=sform, form=form)
def book_reserva(): form = ReservaForm(request.form) usuario = Usuario.query.filter(Usuario.usuario == session['user_id']).first() #and form.validate() if request.method == 'POST': #Cargar idSocio dependiendo si es agregado por el Admin o por el Socio if len(request.form['idsocio']) > 0: vsocio = request.form['idsocio'] else: vsocio = usuario.idsocio tipo = 1 hora_fin = addMinutos(form.hora.data, form.tiempo.data) reserva = Reserva(tipo, formatFecha(form.fecha2.data, FECHA_BASE), form.hora.data, formatFecha(form.fecha2.data, FECHA_BASE), hora_fin, form.idcancha.data, vsocio, form.descripcion.data) try: db_session.add(reserva) db_session.flush() #Grabar Oponentes #Aviso: Un Admin no puede agregarse como Oponente #----------------------------------------------------------------------- for field in request.form: if field[:5] == 'ctlid' and len(request.form[field]) > 0 and request.form[field] != reserva.idsocio: oponente = ReservaSocio(reserva.idreserva, request.form[field]) try: db_session.add(oponente) except exc.SQLAlchemyError: flash("Error: No se ha agregado el Oponente", "error") #----------------------------------------------------------------------- db_session.commit() return redirect(url_for(session['pag_actual'])) except exc.SQLAlchemyError: flash("Error: No se ha agregado la reserva", "error") reserva = {'fecha': formatFecha(form.fecha2.data, FECHA_LARGA), 'hora': form.hora.data, 'idcancha': form.idcancha.data, 'cancha': form.cancha.data, 'socio': form.socio.data, 'idsocio': form.idsocio.data } form.tiempo.choices = getTiemposReserva() return render_template('reservas/book_reserva.html', form=form, reserva=reserva)