示例#1
0
def evento_list_get():
    usuario_id = get_session()
    cidade = IBGE().findAll()
    categoria = Categoria().findAll()
    if request.method == 'GET':
        evento = Evento().listAll(1)
    elif request.method == 'POST':
        categoria_id = request.POST.categoria_id
        cidade_id = request.POST.cidade_id
        evento = Evento().searchEvento(categoria_id, cidade_id)
    return template('view/evento/catalog',
                    categoria=categoria,
                    evento=evento,
                    cidade=cidade,
                    usuario_id=usuario_id)
示例#2
0
def ingresso_insert_get():
    has_session()
    usuario_id = get_session()
    evento = Evento().findAll(usuario_id, 1)
    return template('view/ingresso/insert',
                    evento=evento,
                    usuario_id=usuario_id)
示例#3
0
def page_evento_get(_id):
    usuario_id = get_session()
    dado = Evento().find_by_evento_id(_id, 1)
    ingresso = Ingresso().find_by_evento_id(_id, 1)
    return template('view/evento/show',
                    dado=dado,
                    ingresso=ingresso,
                    usuario_id=usuario_id)
示例#4
0
def evento_delete_get(_id):
    has_session()
    usuario_id = get_session()
    if Evento().update_status(0, usuario_id, _id):
        if Ingresso().update_status_by_evento(0, usuario_id, _id):
            return redirect('/evento')
    return redirect(
        '/message_err/Ocorreu um erro!<br/>Não foi possivel realizar as alterações.'
    )
示例#5
0
def ingresso_edit_get(_id):
    has_session()
    usuario_id = get_session()
    evento = Evento().findAll(usuario_id, 1)
    dado = Ingresso().find(usuario_id, _id)
    return template('view/ingresso/edit',
                    evento=evento,
                    dado=dado,
                    usuario_id=usuario_id)
示例#6
0
def evento_edit_get(_id):
    has_session()
    usuario_id = get_session()
    dado = Evento().find(usuario_id, _id)
    cidade = IBGE().findAll()
    categoria = Categoria().findAll()
    return template('view/evento/edit',
                    cidade=cidade,
                    categoria=categoria,
                    dado=dado,
                    usuario_id=usuario_id)
示例#7
0
 def query_all_eventos(self):
     try:
         self.c.execute(QUERY_ALL_EVENTOS)
         eventos_data = self.c.fetchall()
         eventos = []
         for evento_data in eventos_data:
             nome = evento_data[0]
             inicio = (datetime.strptime(evento_data[1], "%Y-%m-%d")).date()
             fim = (datetime.strptime(evento_data[2], "%Y-%m-%d")).date()
             eventos.append(Evento(nome, inicio, fim))
         return eventos
     except sqlite3.Error:
         return []
示例#8
0
 def query_evento_by_nome(self, nome):
     try:
         self.c.execute(QUERY_EVENTO_BY_NAME, (nome, ))
         evento_data = self.c.fetchone()
         evento = None
         if evento_data is not None:
             nome = evento_data[0]
             inicio = (datetime.strptime(evento_data[1], "%Y-%m-%d")).date()
             fim = (datetime.strptime(evento_data[2], "%Y-%m-%d")).date()
             evento = Evento(nome, inicio, fim)
         return evento
     except sqlite3.Error:
         return None
示例#9
0
def usuario_delete_post():
    has_session()
    usuario_id = get_session()
    if Conta().delete_by_usuario(usuario_id):
        print 'Conta deletada!'
    if Usuario().delete(usuario_id):
        print 'Usuario deletado!'
    if Evento().update_status_by_usuario(0, usuario_id):
        print 'Eventos inativos!'
    if Ingresso().update_status_by_usuario(0, usuario_id):
        print 'Ingressos inativos!'
    if Carrinho().delete_by_usuario(usuario_id):
        print 'Carrinho deletado!'

    del_session()
    return redirect('/')
示例#10
0
def evento_edit_post(_id):
    has_session()
    usuario_id = get_session()
    titulo = request.POST.titulo
    categoria_id = request.POST.categoria_id
    descricao = request.POST.descricao
    endereco = request.POST.endereco
    numero = request.POST.numero
    cidade_id = request.POST.cidade_id
    bairro = request.POST.bairro
    telefone = request.POST.telefone
    if Evento().update(_id, usuario_id, categoria_id, cidade_id, titulo,
                       descricao, endereco, numero, bairro, telefone):
        return redirect('/evento')
    return redirect(
        '/message_err/Ocorreu um erro!<br/>Não foi possivel realizar as alterações.'
    )
示例#11
0
def evento_insert_post():
    has_session()
    usuario_id = get_session()
    titulo = request.POST.titulo
    categoria_id = request.POST.categoria_id
    descricao = request.POST.descricao
    endereco = request.POST.endereco
    numero = request.POST.numero
    cidade_id = request.POST.cidade_id
    bairro = request.POST.bairro
    telefone = request.POST.telefone
    if Evento().add(usuario_id, categoria_id, cidade_id, titulo, descricao,
                    endereco, numero, bairro, telefone):
        return redirect('/evento')
    return redirect(
        '/message_err/Ocorreu um erro!<br/>Não foi possivel adicionar o evento.'
    )
示例#12
0
def evento_index_get():
    has_session()
    usuario_id = get_session()
    dado = Evento().findAll(usuario_id, 1)  # Mostrar somente eventos ativos.
    return template('view/evento/index', dado=dado, usuario_id=usuario_id)
示例#13
0
def cadastrar_evento():
    print("\n====== CADASTRAR EVENTO ======")
    evento_nome = input("Nome: ")
    evento = controller_eventos.find_evento(evento_nome)

    if evento is not None:
        print("Ja existe evento cadastrado com esse nome")
        return
    try:
        inicio = datetime.strptime(input("Data inicio (\"DD/MM/AAAA\"): "),
                                   "%d/%m/%Y").date()
        fim = datetime.strptime(input("Data fim (\"DD/MM/AAAA\"): "),
                                "%d/%m/%Y").date()
    except:
        print("Input invalido.")
        return

    if inicio > fim:
        print("A data final nao pode ser antes da data de inicio")
        return

    if inicio <= datetime.now().date():
        print("Um novo evento so pode ser cadastrado para datas futuras")
        return

    evento = Evento(evento_nome, inicio, fim)

    eventos_cadastrados = controller_eventos.find_all_eventos()
    for evento_cadastrado in eventos_cadastrados:
        if evento_cadastrado.get_data_inicial(
        ) <= inicio <= evento_cadastrado.get_data_final():
            print("Ja existe evento cadastrado nesse periodo")
            return
        if evento_cadastrado.get_data_inicial(
        ) <= fim <= evento_cadastrado.get_data_final():
            print("Ja existe evento cadastrado nesse periodo")
            return
        if inicio < evento_cadastrado.get_data_inicial() < fim:
            print("Ja existe evento cadastrado nesse periodo")
            return

    areas = controller_areas.find_all_areas()
    reservas = dict()
    print("Defina quantas vagas serao reservadas para o evento em cada area:")
    for area in areas:
        try:
            input_str = "Area: " + area.get_nome() + \
                        "; Maximo: " + str(area.get_capacidade()) + \
                        "; Vagas: "
            vagas = int(input(input_str))
            if vagas > area.get_capacidade():
                print(
                    "Voce nao pode reservar mais vagas do que a capacidade maxima da area"
                )
                return
            # reservas[area.get_nome()] = vagas
            reservas[area] = vagas
        except:
            print("Input invalido")
            return

    evento.set_reservas(reservas)
    controller_eventos.register_evento(evento)