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)
        })
示例#3
0
文件: views.py 项目: RafikiGod/LES
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"
        })