Пример #1
0
def editar_publicidade(request, pk):
    pub = get_object_or_404(Publicidade, pk=pk)

    # Editando!
    nova_imagem = Imagem(uploader=request.user)
    form = PublicidadeEditarForm(request.POST or None, instance=pub)
    form_imagem = ImagemForm(request.POST or None, request.FILES or None, instance=nova_imagem)
    if request.method == 'POST':
        if form.is_valid():
            pub = form.save()

            if form_imagem.is_valid():
                if pub.imagem:
                    pub.imagem.delete()
                pub.imagem = form_imagem.save()
                pub.save()

            messages.success(request, 'Informações atualizadas com sucesso.')
            Registro.new('update', request, pub)
            return HttpResponseRedirect(request.path)
        else:
            messages.error(request, '<strong>Erro!</strong> Preencha corretamente o formulario.')

    return render(request, 'central/publicidades/editar.html', {
        'pub' : pub,
        'form' : form,
        'form_imagem' : form_imagem
        })
Пример #2
0
def cadastrar_publicidade(request):
    cliente = Cliente.objects.get(pk=request.user.pk)
    novo = Publicidade(cliente=cliente)
    nova_imagem = Imagem(uploader=cliente)
    form = PublicidadeForm(request.POST or None, instance=novo)
    form_imagem = ImagemForm(request.POST or None, request.FILES or None, instance=nova_imagem)
    if request.method == 'POST':
        if form.is_valid():
            pub = form.save()

            # SE! tiver uma imagem, vamos upar e vincular.
            if form_imagem.is_valid():
                pub.imagem = form_imagem.save()
                pub.save()

            messages.success(request, 'Publicidade %s criada com sucesso.' % (form.cleaned_data['titulo']))
            Registro.new('create', request, pub)
            return HttpResponseRedirect(reverse('central:publicidades:home', args=()))
        else:
            messages.error(request, '<strong>Erro!</strong> Preencha corretamente o formulario.')

    return render(request, 'central/publicidades/cadastrar.html', {
        'form' : form,
        'form_imagem' : form_imagem
        })
Пример #3
0
def cadastrar(request):
    # Pode Acessar?
    # Regra de negocio permite a todos o acesso.

    # Cadastrando!
    cliente = Cliente.objects.get(pk=request.user.pk)
    novo_evento = Evento(promoter=cliente, status=Status.objects.all()[0])
    novo_folder = Imagem(uploader=cliente)
    form = EventoForm(request.POST or None, instance=novo_evento)
    form_imagem = ImagemForm(request.POST or None, request.FILES or None, instance=novo_folder)
    if request.method == 'POST':
        if form.is_valid():
            evento = form.save()

            # SE! tiver uma imagem, vamos upar e vincular.
            if form_imagem.is_valid():
                evento.folder = form_imagem.save()
                evento.save()

            messages.success(request, 'Evento %s criado com sucesso.' % (form.cleaned_data['titulo']))
            Registro.new('create', request, evento)
            return HttpResponseRedirect(reverse('central:eventos:home', args=()))
        else:
            messages.error(request, '<strong>Erro!</strong> Preencha corretamente o formulario.')

    # Exibição
    return render(request, 'central/eventos/cadastrar.html', {
        'request' : request,
        'form' : form,
        'form_imagem' : form_imagem,
        })
Пример #4
0
def apagar(request, evento_pk):
    evento = get_object_or_404(Evento, pk=evento_pk)
    cliente = Cliente.objects.get(pk=request.user.pk)

    # Pode Acessar?
    # Para apagar deve ser o promoter do evento.
    if evento.promoter.pk != cliente.pk:
        messages.error(request, "Você não tem permissões para apagar o evento requisitado.")
        return HttpResponseRedirect(reverse('central:eventos:home', args=()))

    # Apagar.
    if request.method == 'POST':
        if request.POST['confirma'] == "1":
            evento.delete()
            messages.success(request, 'O evento ' + evento.titulo + ' foi removido com sucesso.')
            Registro.new('delete', request, evento)
            return HttpResponseRedirect(reverse('central:eventos:home', args=()))
        else:
            messages.error(request, 'A confirmação para apagar não foi registrada.')

    # Exibição
    return render(request, 'central/eventos/apagar.html', {
        'request' : request,
        'evento' : evento,
        })
Пример #5
0
def editar(request, evento_pk):
    evento = get_object_or_404(Evento, pk=evento_pk)
    cliente = Cliente.objects.get(pk=request.user.pk)

    # Pode Acessar?
    # Para editar, deve ser o promoter do evento.
    if evento.promoter.pk != cliente.pk:
        messages.error(request, "Você não tem permissões papa editar o evento requisitado.")
        return HttpResponseRedirect(reverse('central:eventos:home', args=()))

    # Editando!
    novo_folder = Imagem(uploader=Cliente.objects.get(pk=request.user.pk))
    form = EventoForm(request.POST or None, instance=evento)
    form_imagem = ImagemForm(request.POST or None, request.FILES or None, instance=novo_folder)
    if request.method == 'POST':
        if form.is_valid():
            evento = form.save()

            # Vai ter de apagar a imagem atual?
            if request.POST.get('remover_folder'):
                evento.folder.delete()
                # Não precisa de SAVE!

            # SE! tiver uma imagem, vamos upar e vincular.
            if form_imagem.is_valid():
                if evento.folder:
                    evento.folder.delete()
                evento.folder = form_imagem.save()
                evento.save()

            messages.success(request, 'Informações atualizadas com sucesso.')
            Registro.new('update', request, evento)
            return HttpResponseRedirect(request.path)
        else:
            messages.error(request, '<strong>Erro!</strong> Preencha corretamente o formulario.')

    # Exibição
    return render(request, 'central/eventos/informacoes.html', {
        'request' : request,
        'evento' : evento,
        'form' : form,
        'form_imagem' : form_imagem,
        })