Ejemplo n.º 1
0
def crear_turno(id_centro):
    permisos.validar_permisos('turno_create')
    centros = Centro_de_ayuda.all()
    turnos_todos = Turno.all()
    centro = Centro_de_ayuda.query.filter_by(id=id_centro).first()
    f = str(date.today())
    if request.method == 'POST':
        t = request.form
        fecha = t['fecha']
        id_centro = t['id_centro']
        solo_fecha = t['solo_fecha']

        if solo_fecha == "si":
            turnos_ocupados = Turno.query.filter_by(
                centro_id=id_centro).filter_by(dia=fecha).filter_by(
                    disponible=0).filter_by(borrado=0).all()

            turnos_disponibles = [
                "09:00 - 09:30", "09:30 - 10:00", "10:00 - 10:30",
                "10:30 - 11:00", "11:00 - 11:30", "11:30 - 12:00",
                "12:00 - 12:30", "12:30 - 13:00", "13:00 - 13:30",
                "13:30 - 14:00", "14:00 - 14:30", "14:30 - 15:00",
                "15:00 - 15:30", "15:30 - 16:00"
            ]
            for turno_ocupado in turnos_ocupados:
                # Armar fecha_ocupada - Tuve que cambiar hora_ini y hora_fin a VARCHAR en la BD
                fecha_ocupada = turno_ocupado.hora_ini + " - " + turno_ocupado.hora_fin
                try:
                    turnos_disponibles.remove(fecha_ocupada)
                except:
                    pass
            return render_template(
                'turnos_para_centro/crear_turno_con_fecha.html',
                centro=id_centro,
                fecha=fecha,
                turnos=turnos_disponibles)

        hora_ini = t['bloque_horario'][0:5]
        hora_fin = t['bloque_horario'][8:13]
        email = t['email']
        telefono = t['telefono']
        fecha = t['fecha']
        nombre = t['nombre']
        apellido = t['apellido']
        borrado = 0
        disponible = 0
        nuevo_turno = Turno(email=email,
                            telefono=telefono,
                            hora_ini=hora_ini,
                            hora_fin=hora_fin,
                            dia=fecha,
                            borrado=borrado,
                            centro_id=id_centro,
                            disponible=disponible,
                            nombre=nombre,
                            apellido=apellido)
        db.session.add(nuevo_turno)
        db.session.commit()

        return redirect(
            url_for('index_turno', id=id_centro, turnos=turnos_todos))

    else:

        return render_template('turnos_para_centro/crear_turno.html',
                               centro=centro,
                               centros=centros,
                               f=f)
Ejemplo n.º 2
0
def borrar_turno(id):
    permisos.validar_permisos('turno_delete')
    id_centro = Turno.query.filter_by(id=id).first().centro_id
    Turno.delete(id)
    turno = Turno.all()
    return redirect(url_for('index_turno', id=id_centro))