def inscricao_delete(request, inscricao): user = userValidation.getLoggedUser(request) if user._type == userValidation.PARTICIPANTE: insc = None try: insc = models.InscricaoColetiva.objects.get( participante_utilizador_idutilizador=user.pk, inscricao_idinscricao=inscricao) except: try: insc = models.InscricaoIndividual.objects.get( participante_utilizador_idutilizador=user.pk, 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" }) delete_inscricao(insc) messages_info.success(request, f'Inscrição apagada com sucesso!') return redirect("inscricao:consulta") if user._type == userValidation.ADMINISTRADOR: 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" }) delete_inscricao(insc) messages_info.success(request, f'Inscrição apagada com sucesso!') return redirect("inscricao:consulta") 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 têm permissao para apagar a inscrição" })
def consultar_inscricao(request): user = userValidation.getLoggedUser(request) if user._type == None: 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 está logado" }) if user._type == userValidation.ADMINISTRADOR: args = {} elif user._type == userValidation.COORDENADOR: sessao = { 'sessao_idsessao__atividade_idatividade__unidade_organica_iduo': user.unidade_organica_iduo.pk } args = {'sessao': sessao} elif user._type == userValidation.PARTICIPANTE: insc = {'participante_utilizador_idutilizador': user.pk} args = {'inscricao': insc} else: 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 está logado" }) (result_coletivo, result_individual) = get_inscricoes(**args) dias = models.Dia.objects.all() result_dias = list() for dia in dias: if dia.pk.year == datetime.date.today().year: result_dias.append(dia) return render( request, 'consultar_participante.html', { 'user_type': user._type, 'dias': result_dias, 'inscricoes_coletivas': result_coletivo, 'inscricoes_individuais': result_individual, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) })
def consultar_inscricao(request): user = userValidation.getLoggedUser(request) if user._type == None: 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 está logado" }) if user._type == userValidation.ADMINISTRADOR: args = {} if user._type == userValidation.COORDENADOR: sessao = { 'sessao_idsessao__atividade_idatividade__unidade_organica_iduo': user.unidade_organica_iduo.pk } args = {'sessao': sessao} if user._type == userValidation.PARTICIPANTE: insc = {'participante_utilizador_idutilizador': user.pk} args = {'inscricao': insc} (result_coletivo, result_individual) = get_inscricoes(**args) return render( request, 'consultar_participante.html', { 'user_type': user._type, 'inscricoes_coletivas': result_coletivo, 'inscricoes_individuais': result_individual, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) })
def form(request, _type, ano, inscricao=None, user=None): dia = datetime.datetime.strptime(ano, '%Y-%m-%d') dia = models.Dia.objects.get(pk=dia) user = userValidation.getLoggedUser(request) context = { 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) } test = create_inscricao_allowed(user) if test != True: return render(request, "not_for-u.html", { 'context': context, 'message': test }) if user._type == userValidation.PARTICIPANTE: if inscricao != None: inscricao_user = inscricao.participante_utilizador_idutilizador.pk if inscricao_user != user.pk: return render( request, "not_for-u.html", { 'context': context, 'message': "Não têm permissões para ver/alterar esta inscrição" }) elif user._type == userValidation.ADMINISTRADOR: if inscricao == None: return render( request, "not_for-u.html", { 'context': context, 'message': "Criação de Inscrições por o administrador não é suportado" }) else: user = inscricao.participante_utilizador_idutilizador.utilizador_idutilizador else: return render( request, "not_for-u.html", { 'context': context, 'message': "Não têm permissões para criar inscrição" }) if inscricao != None: inscricao = inscricao.pk if (_type == 0): if request.method == 'POST': form = forms.CustomForm(dia, request, inscricao=inscricao) if form.is_valid(): form.save(user) messages.send_notification(request, form) if (inscricao != None): messages_info.success(request, f'Inscrição alterada com sucesso!') else: messages_info.success(request, f'Inscrição criada com sucesso!') return redirect('inscricao:consulta') else: campus = models.Campus.objects.all() sessoes = list_sessao(dia) return render( request, 'inscricao_form.html', { 'form': form, 'atividades_sessao': sessoes, "ano": ano, 'campus': campus, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) }) else: campus = models.Campus.objects.all() form = forms.CustomForm(dia, inscricao=inscricao) sessoes = list_sessao(dia) return render( request, 'inscricao_form.html', { 'form': form, "ano": ano, 'atividades_sessao': sessoes, 'campus': campus, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) }) elif (_type == 1): if request.method == 'POST': form = forms.FormIndividual(dia, request, inscricao=inscricao) if form.is_valid(): form.save(user) messages.send_notification(request, form) if (inscricao != None): messages_info.success(request, f'Inscrição alterada com sucesso!') else: messages_info.success(request, f'Inscrição criada com sucesso!') return redirect('inscricao:consulta') else: campus = models.Campus.objects.all() sessoes = list_sessao(dia) return render( request, 'inscricao_individual_form.html', { 'form': form, "ano": ano, 'atividades_sessao': sessoes, 'campus': campus, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) }) else: campus = models.Campus.objects.all() form = forms.FormIndividual(dia, inscricao=inscricao) sessoes = list_sessao(dia) return render( request, 'inscricao_individual_form.html', { 'form': form, "ano": ano, 'atividades_sessao': sessoes, 'campus': campus, 'i': len(noti_not_checked(request)), 'not_checked': noti_not_checked(request) }) else: return render(request, "not_for-u.html", { 'context': context, 'message': "Erro desconhecido" })