def horariotransporte_create_view(request): hora = Horario.objects.all() dia = Dia.objects.all() form = HorarioForm(request.POST or None) if form.is_valid(): hora = Horario.objects.get(hora=request.POST['horario_hora']) dia = Dia.objects.get(dia=request.POST['dia_dia']) horas = HorarioHasDia.objects.filter(dia_dia=dia, horario_hora=hora) if len(horas) > 0: form.horas = 'Este horario já está definido' context = { 'form': form, 'o': True, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "Transporte/horariotrans_create.html", context) form.save() messages.success(request, f'Horário do Transporte Criado com Sucesso') return redirect("menu:transporte-list") context = { 'form': form, 'o': True, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "Transporte/horariotrans_create.html", context)
def transporte_grupo_view(request, id): form = InscricaoForm(request.POST or None) if request.method == "POST": if form.is_valid(): #t= Transporte.objects.get(idtransporte=request.POST['transporte_idtransporte']) #tra =TransporteHasHorario.objects.get(id_transporte_has_horario = request.POST['horario']) #trans = TransporteHasHorario.objects.get(transporte_idtransporte = t, id_transporte_has_horario = tra) #inscricao = TransporteHasInscricao.objects.filter(horario = trans) #if len(inscricao)>0: # form.inscricao= 'Este grupo já está associado a este transporte' # context = { # 'form': form, # 'i':len(noti_not_checked(request)),'not_checked':noti_not_checked(request) # } # return render(request, "Transporte/grupos_ass.html", context) form.save(id) print("aaaaaaaaaaaaaaaaaaa") messages.success(request, f'Transporte associado com Sucesso!') noti_views.new_noti(request, request.session['user_id'], 'Submissao do Transporte', ' Transporte Associado com Sucesso!') return redirect("menu:transporte-list") context = { 'form': form, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "Transporte/grupos_ass.html", context)
def transporte_update2_view(request, id): obj = get_object_or_404(TransporteHasHorario, id_transporte_has_horario=id) hora = HorarioHasDia.objects.all() print(obj) form = TransporteHorarioForm(request.POST or None, instance=obj) if form.is_valid(): org = Paragem.objects.get(paragem=request.POST['origem']) dest = Paragem.objects.get(paragem=request.POST['destino']) hor = HorarioHasDia.objects.get( id_dia_hora=request.POST['horario_has_dia_id_dia_hora']) trans1 = TransporteHasHorario.objects.filter( origem=org, destino=dest, horario_has_dia_id_dia_hora=hor) if len(trans1) > 0: form.trans1 = 'Este horario já está definido para este percurso ou não não alterou nada' context = { 'form': form, 'hora': hora, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } print(form.errors) return render(request, "Transporte/horario_create.html", context) print("aaaaaaaaaaaaaaaaaaaa") form.save() messages.success(request, f'Transporte Editado com Sucesso!') return redirect("menu:transporte-list") context = { 'form': form, 'hora': hora, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } print(form.errors) return render(request, "Transporte/horario_create.html", context)
def consultar_tarefa_admin(request): tarefas = Tarefa.objects.all() unidade = UnidadeOrganica.objects.all() sessao = Sessao.objects.all() colab = Colaborador.objects.all() atividade = Atividade.objects.all() sala = Sala.objects.all() anfi = Anfiteatro.objects.all() ar = Arlivre.objects.all() context = { 'atividade': atividade, 'unidade': unidade, 'tarefas': tarefas, 'sessao': sessao, 'colab': colab, 'anfi': anfi, 'sala': sala, 'ar': ar, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request=request, template_name="main/consultarTarefaAdmin.html", context=context)
def inscricao_alterar(request, inscricao): store = models.InscricaoHasSessao.objects.select_related( 'sessao_idsessao', 'sessao_idsessao__horario_has_dia_id_dia_hora').filter( inscricao_idinscricao=inscricao) if (len(store) < 1): return render(request, "not_for-u.html", { 'context': context, 'message': "Inscrição não existe" }) ano = str(store[0].sessao_idsessao.horario_has_dia_id_dia_hora.dia_dia) try: insc = models.InscricaoColetiva.objects.get( inscricao_idinscricao=inscricao) except: try: insc = models.InscricaoIndividual.objects.get( inscricao_idinscricao=inscricao) except: context = { 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "not_for-u.html", { 'context': context, 'message': "Não existe Inscrição" }) return inscricao_individual_form(request, ano.insc) return inscricao_form(request, ano, insc)
def editar_atividade_view(request, idActivity): erros = [] atividade = get_object_or_404(Atividade, idatividade=idActivity) espaco = Espaco.objects.all() unidade_organica = UnidadeOrganica.objects.all() departamento = Departamento.objects.all() professor = get_object_or_404( ProfessorUniversitario, utilizador_idutilizador=request.session["user_id"]) campus = Campus.objects.all() sessao = [] if list(Sessao.objects.filter(atividade_idatividade=idActivity)): for sess in get_list_or_404(Sessao, atividade_idatividade=idActivity): sessao.append(sess.horario_has_dia_id_dia_hora) if request.method == "POST": notification = "" erros = all_valid(request) if number_of(erros) == 0: if atividade.titulo != request.POST.get('titulo'): notification += "Novo titulo: " + request.POST.get( 'titulo') + "\n" atividade.titulo = request.POST.get('titulo') if atividade.capacidade != request.POST.get('capacidade'): notification += "Novo numero de vagas: " + request.POST.get( 'capacidade') + "\n" atividade.capacidade = request.POST.get('capacidade') if atividade.duracao != request.POST.get('duracao'): notification += "Nova duração: " + request.POST.get( 'duracao') + "\n" atividade.duracao = request.POST.get('duracao') atividade.validada = 2 atividade.iddepartamento = request.POST.get('iddepartamento') atividade.publico_alvo = request.POST.get('publico_alvo') if atividade.descricao != request.POST.get('descricao'): notification += "Nova descrição: " + request.POST.get( 'descricao') + "\n" atividade.descricao = request.POST.get('descricao') if atividade.tematica != request.POST.get('tema'): notification += "Novo tema: " + request.POST.get('tema') + "\n" atividade.tematica = request.POST.get('tema') atividade.nrcolaborador = request.POST.get('nrcolaboradores') atividade.save() # Notificação de alterar atividade->coord,colab,part vagas(request, atividade.idatividade, "Mudança na atividade " + atividade.titulo, notification) return redirect("../../editar_local/" + str(idActivity)) context = { "erros": erros, "id": request.session["user_id"], "activity": atividade, "espaco": espaco, "professor": professor, "campus": campus, "departamentos": departamento, "unidade_organica": unidade_organica, "account": return_account_type(request.session["user_id"]), 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "atividades/criar_atividade.html", context)
def criar_tarefa(request): return render(request=request, template_name="main/criarTarefa.html", context={ 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) })
def diaaberto_create(request): form = DiaAbertoForm(request.POST or None) if request.method == "POST": if form.is_valid(): form.save() inicio = form.cleaned_data['datadiaabertoinicio'] final = form.cleaned_data['datadiaabertofim'] hora_inicio = request.POST['h_incio'] hora_fim = request.POST['h_fim'] hora_list = preencher_hora(hora_inicio, hora_fim) for x in range(inicio.day, final.day + 1): Dia(dia=inicio + datetime.timedelta(days=x - inicio.day)).save() dia1 = Dia.objects.filter( dia=inicio + datetime.timedelta(days=x - inicio.day)) for hora in hora_list: if HorarioHasDia.objects.filter(horario_hora=hora, dia_dia=dia1[0]).exists(): continue HorarioHasDia(horario_hora=hora, dia_dia=dia1[0]).save() update_ano_user_null() messages.success(request, f'Dia Aberto Criado com Sucesso!') return redirect("menu:diaaberto_list") return render(request, template_name="DiaAberto/diaaberto_create.html", context={ 'form': form, 'o': True, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) })
def horario_create_view(request): hora = HorarioHasDia.objects.all() utl = Transporte.objects.latest('idtransporte') new_form = TransporteHasHorario(transporte_idtransporte=utl, n_passageiros=0) form = TransporteHorarioForm(request.POST, instance=new_form) if request.method == "POST": if form.is_valid(): new_horario = form.save(commit=False) org = Paragem.objects.get(paragem=request.POST['origem']) dest = Paragem.objects.get(paragem=request.POST['destino']) hor = HorarioHasDia.objects.get( id_dia_hora=request.POST['horario_has_dia_id_dia_hora']) new_horario.origem = org new_horario.destino = dest new_horario.horario_has_dia_id_dia_hora = hor new_horario.save() messages.success(request, f'Transporte Criado com Sucesso!') return redirect("menu:transporte-list") context = { 'form': form, 'hora': hora, 'o': True, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "Transporte/horario_create.html", context)
def consultar_tarefa(request): user2 = Utilizador.objects.get(idutilizador=request.session["user_id"]) coord_user = Coordenador.objects.get(utilizador_idutilizador=user2) tarefas = Tarefa.objects.filter( coordenador_utilizador_idutilizador=coord_user) sessao = Sessao.objects.all() user_coord = Utilizador.objects.get( idutilizador=request.session["user_id"]) coord_user = Coordenador.objects.get(utilizador_idutilizador=user_coord) curso = Curso.objects.filter( unidade_organica_iduo=coord_user.unidade_organica_iduo) colab = Colaborador.objects.filter(curso_idcurso__in=curso) atividade = Atividade.objects.filter( unidade_organica_iduo=coord_user.unidade_organica_iduo) sala = Sala.objects.all() anfi = Anfiteatro.objects.all() ar = Arlivre.objects.all() context = { 'atividade': atividade, 'tarefas': tarefas, 'sessao': sessao, 'colab': colab, 'anfi': anfi, 'sala': sala, 'ar': ar, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request=request, template_name="main/consultarTarefa.html", context=context)
def diaaberto_list(request): d = DiaAberto.objects.all() # list of objects dia = DiaAberto.objects.order_by('-ano').annotate( hora_inicio=Value(datetime.time(23, 59), TimeField()), hora_fim=Value(datetime.time(23, 59), TimeField())) hora_inicio = Horario.objects.all()[0] hora_fim = Horario.objects.all().order_by('-pk')[0] horarios = HorarioHasDia.objects.all() for de in dia: de.hora_inicio = Horario.objects.all()[0].pk de.hora_fim = Horario.objects.all().order_by('-pk')[0].pk for horario in horarios: if horario.dia_dia.pk.year == de.ano: if horario.horario_hora.pk < de.hora_inicio: de.hora_inicio = HorarioHasDia.objects.filter( dia_dia=horario.dia_dia)[0].horario_hora.pk if horario.horario_hora.pk > de.hora_fim: de.hora_fim = HorarioHasDia.objects.filter( dia_dia=horario.dia_dia).reverse()[0].horario_hora.pk context = { "diaaberto_list": dia, "d": d, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "DiaAberto/diaaberto_list.html", context)
def diaaberto_update(request, id): h = HorarioHasDia.objects.all() obj = get_object_or_404(DiaAberto, ano=id) form = DiaAbertoForm(request.POST or None, instance=obj) pk_url_kwarg = 'ano' hora_inicio = Horario.objects.all()[0].pk hora_fim = Horario.objects.all().order_by('-pk')[0].pk print(hora_inicio) print(form) horarios = HorarioHasDia.objects.all() sessao = Sessao.objects.all() for horario in horarios: if horario.dia_dia.pk.year == id: if horario.horario_hora.pk < hora_inicio: hora_inicio = HorarioHasDia.objects.filter( dia_dia=horario.dia_dia)[0].horario_hora.pk if horario.horario_hora.pk > hora_fim: hora_fim = HorarioHasDia.objects.filter( dia_dia=horario.dia_dia).reverse()[0].horario_hora.pk if form.is_valid(): for sea in sessao: if sea.horario_has_dia_id_dia_hora.dia_dia.pk.year == id: form.horar = 'Este Ano não pode ser alterado tem atividades associadas' context = { 'form': form, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "DiaAberto/diaaberto_create.html", context) Utilizador.objects.filter(dia_aberto_ano=id).update( dia_aberto_ano=None) DiaAberto.objects.filter(ano=id).delete() form.save() #Horario.objects.all().delete() inicio = form.cleaned_data['datadiaabertoinicio'] final = form.cleaned_data['datadiaabertofim'] #preencher_hora(hora_inicio,hora_fim) print(request.POST) hora_inicio = request.POST['h_incio'] hora_fim = request.POST['h_fim'] hora_list = preencher_hora(hora_inicio, hora_fim) for x in range(inicio.day, final.day + 1): Dia(dia=inicio + datetime.timedelta(days=x - inicio.day)).save() dia1 = Dia.objects.filter(dia=inicio + datetime.timedelta(days=x - inicio.day)) for hora in hora_list: if HorarioHasDia.objects.filter(horario_hora=hora, dia_dia=dia1[0]).exists(): continue HorarioHasDia(horario_hora=hora, dia_dia=dia1[0]).save() messages.success(request, f'Dia Aberto editado com Sucesso!') return redirect("menu:diaaberto_list") context = { 'form': form, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "DiaAberto/diaaberto_create.html", context)
def index(request): queryset = DiaAberto.objects.all() # list of objects context = { "diaaberto": queryset, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "index.html", context)
def diaaberto_details(request, id): obj = get_object_or_404(DiaAberto, ano=id) pk_url_kwarg = 'ano' context = { "diaaberto": obj, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "DiaAberto/diaaberto_details.html", context)
def load_cities(request): atividade = request.POST.get('atividade_idatividade') sessao = Sessao.objects.filter(atividade_idatividade=atividade) return render(request=request, template_name="main/sessao_dropdown.html", context={ 'sessao': sessao, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) })
def editar_tarefa(request, pk): tarefa = Tarefa.objects.get(idtarefa=pk) if tarefa.sessao_idsessao == None: dispos = disponibilidades('Guiar Grupo') template = "main/editarTarefaAcompanhar.html" form = TarefasFormGroup(instance=tarefa) if request.method == "POST": form = TarefasFormGroup(request.POST, instance=tarefa) if form.is_valid(): tarefa.nome = request.POST["nome"] tarefa.dia_dia = Dia.objects.get(dia=request.POST["dia_dia"]) tarefa.hora_inicio = request.POST["hora_inicio"] if request.POST['colaborador_utilizador_idutilizador'] != '': tarefa.colaborador_utilizador_idutilizador = Colaborador.objects.get( utilizador_idutilizador=Utilizador.objects.get( idutilizador=request. POST["id_colaborador_utilizador_idutilizador"])) ativid = Atividade.objects.get( idatividade=request.POST['atividade_idatividade']) tarefa.buscar = Espaco.objects.get( idespaco=ativid.espaco_idespaco.idespaco) tarefa.levar = Espaco.objects.get( idespaco=request.POST['levar']) grupo = Inscricao.objects.get( idinscricao=request.POST['grupos']) tarefa.inscricao_coletiva_inscricao_idinscricao = InscricaoColetiva.objects.get( inscricao_idinscricao=grupo) tarefa.save() messages.success(request, f'Tarefa Editada com Sucesso!') return redirect("tarefa_coordenador:consultar_tarefa") else: dispos = disponibilidades('Ajudar Docente') template = "main/editarTarefaAtividade.html" form = TarefasFormAtividade(instance=tarefa) if request.method == "POST": form = TarefasFormAtividade(request.POST, instance=tarefa) if form.is_valid(): tarefa.nome = request.POST["nome"] tarefa.sessao_idsessao = Sessao.objects.get( idsessao=request.POST["idsession"]) tarefa.colaborador_utilizador_idutilizador = Colaborador.objects.get( utilizador_idutilizador=Utilizador.objects.get( idutilizador=request. POST["id_colaborador_utilizador_idutilizador"])) tarefa.save() messages.success(request, f'Tarefa Editada com Sucesso!') return redirect("tarefa_coordenador:consultar_tarefa") return render(request=request, template_name=template, context={ 'form': form, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request), 'dispo': dispos })
def transporte_list_view(request): hora = TransporteHasHorario.objects.all() par = Paragem.objects.all() context = { "hora": hora, "par": par, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "Transporte/transporte_list.html", context)
def menu_detail_view(request, id): obj = get_object_or_404(Menu, idmenu=id) prato = Prato.objects.filter(menu_idmenu=id) preco = DiaAberto.objects.all() context = { "menu": obj, "prato": prato, "preco": preco, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "Menu/menu_details.html", context=context)
def transporte_detail_view(request, id): obj = get_object_or_404(Transporte, idtransporte=id) transporte = TransporteHasHorario.objects.get(transporte_idtransporte=id) inscricao = TransporteHasInscricao.objects.get(inscricao_idinscricao=id) context = { "obj": obj, "transporte": transporte, "inscricao": incricao, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "Transporte/transporte_details.html", context)
def my_activities_view(request): querysetAtividade = Atividade.objects.all().filter( professor_universitario_utilizador_idutilizador=request. session["user_id"]) context = { "list": querysetAtividade, "account": return_account_type(request.session["user_id"]), 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "atividades/consultar_atividades_professor.html", context)
def all_activities_view(request): atividades = Atividade.objects.all().filter(validada=1) campus_filter = "" uo_filter = "" departamento_filter = "" tema_filter = "" titulo_filter = "" if request.method == "POST": if request.POST.get("unidade_organica"): atividades = atividades.filter( unidade_organica_iduo=request.POST.get("unidade_organica")) uo_filter = get_object_or_404( UnidadeOrganica, iduo=request.POST.get("unidade_organica")).iduo if request.POST.get("departamento"): atividades = atividades.filter( departamento_iddepartamento=request.POST.get("departamento")) departamento_filter = get_object_or_404( Departamento, iddepartamento=request.POST.get("departamento")).iddepartamento if request.POST.get("temaAtividade"): atividades = atividades.filter( tematica__icontains=request.POST.get("temaAtividade")) tema_filter = request.POST.get("temaAtividade") if request.POST.get("nomeAtividade"): atividades = atividades.filter( titulo__icontains=request.POST.get("nomeAtividade")) titulo_filter = request.POST.get("nomeAtividade") if request.POST.get("campus"): campus_atividade = [] for atv in atividades: if atv.unidade_organica_iduo.campus_idcampus == get_object_or_404( Campus, idcampus=request.POST.get("campus")): campus_atividade.append(atv) atividades = campus_atividade campus_filter = get_object_or_404( Campus, idcampus=request.POST.get("campus")).idcampus context = { "campus_filter": campus_filter, "uo_filter": uo_filter, "departamento_filter": departamento_filter, "tema_filter": tema_filter, "titulo_filter": titulo_filter, "campus": Campus.objects.all(), "uo": UnidadeOrganica.objects.all(), "departamentos": Departamento.objects.all(), "list": atividades, "account": return_account_type(request.session["user_id"]), 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "atividades/consultar_todas_atividades.html", context)
def prato_create_view(request): form = PratoForm(request.POST or None) if form.is_valid(): form.save() messages.success(request, f'Prato Criado com Sucesso!') return redirect("menu:menu_list") context = { 'form': form, 'o': True, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "Menu/prato_create.html", context)
def transporte_create_view(request): form = TransportForm(request.POST or None) if request.method == "POST": if form.is_valid(): form.save() return redirect("menu:horario-list") context = { 'form': form, 'o': True, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "Transporte/transporte_create.html", context)
def criar_paragem_view(request): paragem = Paragem.objects.all() if request.method == 'POST' and not (Paragem.objects.filter( paragem=request.POST['paragem']).exists()): new = Paragem(paragem=request.POST.get('paragem')) new.save() context = { "paragem": paragem, "account": return_account_type(request.session["user_id"]), 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "atividades/criar_paragem.html", context)
def criar_campus_view(request): campus = Campus.objects.all() if request.method == 'POST' and not (Campus.objects.filter( nome=request.POST['nome']).exists()): new = Campus(nome=request.POST.get('nome')) new.save() context = { "campus": campus, "account": return_account_type(request.session["user_id"]), 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "atividades/criar_campus.html", context)
def all_activities_view(request): atividades = Atividade.objects.all().filter(validada=1) context = { "campus": Campus.objects.all(), "uo": UnidadeOrganica.objects.all(), "departamentos": Departamento.objects.all(), "list": atividades, "account": return_account_type(request.session["user_id"]), 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "atividades/consultar_todas_atividades.html", context)
def horariotransporte_create_view(request): form = HorarioForm(request.POST or None) if form.is_valid(): form.save() messages.success(request, f'Horário do Transporte Criado com Sucesso') return redirect("menu:transporte-list") context = { 'form': form, 'o': True, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "Transporte/horariotrans_create.html", context)
def load_grupo(request): ses = request.POST.get('sessao') hassessao = InscricaoHasSessao.objects.filter(sessao_idsessao=ses) inscricao = Inscricao.objects.filter(idinscricao__in=hassessao) grupos = InscricaoColetiva.objects.filter( inscricao_idinscricao__in=inscricao) return render(request=request, template_name="main/grupo_dropdown.html", context={ 'grupos': grupos, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) })
def prato_update_view(request, id): obj = get_object_or_404(Prato, idprato=id) form = PratoForm(request.POST or None, instance=obj) pk_url_kwarg = 'idprato' if form.is_valid(): form.save() messages.success(request, f'Prato Editado com Sucesso!') return redirect("menu:menu_list") context = { 'form': form, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "Menu/prato_create.html", context)
def home_view(request): if 'id' not in request.session: logged = False context = { "log": logged, } else: logged = True context = { "log": logged, "id": request.session["user_id"], "account": return_account_type(request.session["user_id"]), 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } return render(request, "atividades/inicio.html", context)