Esempio n. 1
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
        })
Esempio n. 2
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
        })
Esempio n. 3
0
def cadastrar(request):
    if request.method == 'POST':
        novo = Estabelecimento(gerente=Cliente.objects.get(pk=request.user.pk))
        form = EstabEditar(request.POST, instance=novo)
        nova_imagem = Imagem(uploader=Cliente.objects.get(pk=request.user.pk))
        form_imagem = ImagemForm(request.POST, request.FILES, instance=nova_imagem)

        if form.is_valid():
            estab = form.save()

            if form_imagem.is_valid():
                estab.icone = form_imagem.save()
                estab.save()

            messages.success(request, '<h4>Cadastrado com sucesso!</h4> O ' + form.cleaned_data['nome'] + ' foi cadastrado com sucesso.')
            Log.new('create', request, estab, estab)
            return HttpResponseRedirect(reverse('central:estabelecimentos:home', args=()))
        else:
            messages.error(request, '<strong>Erro!</strong> O formulário não foi preenchido corretamente.')
    else:
        form = EstabEditar()
        form_imagem = ImagemForm()

    return render(request, 'central/estabelecimentos/cadastrar.html', {
        'request' : request,
        'form' : form,
        'form_imagem' : form_imagem,
        })
Esempio n. 4
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,
        })
Esempio n. 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,
        })
Esempio n. 6
0
def editar(request, slug, pagina_pk):
    estab = get_object_or_404(Estabelecimento, slug=slug)
    pagina = get_object_or_404(Pagina, pk=pagina_pk, estabelecimento=estab)

    # Pode acessar?
    cliente_pode_editar_or_404(estab, request)

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

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

            # Vai ter de apagar a imagem atual?
            elif request.POST.get('remover_imagem'):
                pagina.imagem.delete()

            messages.success(request, 'Página atualizada com sucesso..')
            Log.new('update', request, pagina, estab)
            return HttpResponseRedirect(request.path)
        else:
            messages.error(request, 'Erros de preenchimento impediram que a página fosse salva.')

    # Retorna
    return render(request, 'central/estabelecimentos/paginas/informacoes.html', {
        'request' : request,
        'estabelecimento' : estab,
        'pagina' : pagina,
        'form' : form,
        'form_imagem' : form_imagem,
        })
Esempio n. 7
0
def editar(request, slug, evento_pk):
    estab = get_object_or_404(Estabelecimento, slug=slug)
    evento = get_object_or_404(Evento, pk=evento_pk, estabelecimento=estab)

    # Pode Acessar?
    cliente_pode_editar_or_404(estab, request)

    # Editando!
    form = EventoForm(request.POST or None, instance=evento)
    novo_folder = Imagem(uploader=Cliente.objects.get(pk=request.user.pk))
    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():
                if evento.folder:
                    evento.folder.delete()
                evento.folder = form_imagem.save()
                evento.save()

            # Vai ter de apagar a imagem atual?
            elif request.POST.get('remover_folder'):
                evento.folder.delete()

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

    return render(request, 'central/estabelecimentos/eventos/informacoes.html', {
        'request' : request,
        'estabelecimento' : estab,
        'evento' : evento,
        'form' : form,
        })
Esempio n. 8
0
def cadastrar(request, slug):
    estab = get_object_or_404(Estabelecimento, slug=slug)

    # Pode acessar?
    cliente_pode_editar_or_404(estab, request)

    # Pode Cadastrar?
    if not estab.plano.n_paginas > estab.pagina_set.count():
        messages.error(request, 'Plano não permite addicionar novas páginas.')
        return HttpResponseRedirect(reverse('central:estabelecimentos:paginas:home', args=(estab.slug,)))

    # Cadastrando!
    nova = Pagina(estabelecimento=estab)
    form = PaginaCadastrar(request.POST or None, instance=nova)
    nova_imagem = Imagem(uploader=Cliente.objects.get(pk=request.user.pk))
    form_imagem = ImagemForm(request.POST or None, request.FILES or None, instance=nova_imagem)
    if request.method == 'POST':
        if form.is_valid():
            pagina = form.save()

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

            messages.success(request, 'Página criada com sucesso.')
            Log.new('create', request, pagina, estab)
            return HttpResponseRedirect(reverse('central:estabelecimentos:paginas:home', args=(estab.slug,)))
        else:
            messages.error(request, 'Erros de preenchimento impediram que a página fosse salva.')

    # Retorna
    return render(request, 'central/estabelecimentos/paginas/cadastrar.html', {
        'request' : request,
        'estabelecimento' : estab,
        'form' : form,
        'form_imagem' : form_imagem,
        })
Esempio n. 9
0
def informacoes(request, slug):
    estab = get_object_or_404(Estabelecimento, slug=slug)

    # Pode Editar?
    cliente_pode_editar_or_404(estab, request)

    # Processa a edição.
    form = EstabInformacoes(request.POST or None, instance=estab)
    nova_imagem = Imagem(uploader=Cliente.objects.get(pk=request.user.pk))
    form_imagem = ImagemForm(request.POST or None, request.FILES or None, instance=nova_imagem)
    if request.method == 'POST':
        if form.is_valid():
            estab = form.save()

            # Vai ter de apagar a imagem atual?
            if request.POST.get('remover_icone'):
                estab.icone.delete()

            # SE! tiver uma imagem, vamos upar e vincular E remover a antiga.
            if form_imagem.is_valid():
                if estab.icone:
                    estab.icone.delete()
                estab.icone = form_imagem.save()
                estab.save()

            messages.success(request, 'Informações atualizadas com sucesso.')
            Log.new('update', request, estab, estab)
            return HttpResponseRedirect(request.path)
        else:
            messages.error(request, '<strong>Erro!</strong> Não foi possivel salvar, pois existem erros de preenchimento.')

    return render(request, 'central/estabelecimentos/estabelecimento/informacoes.html', {
        'request' : request,
        'estabelecimento' : estab,
        'form' : form,
        'form_imagem' : form_imagem,
        })
Esempio n. 10
0
def pagina_inicial(request, slug):
    estab = get_object_or_404(Estabelecimento, slug=slug)

    # Pode Editar?
    cliente_pode_editar_or_404(estab, request)

    # Processa edição
    form = EstabPagInicial(request.POST or None, instance=estab)
    nova_imagem = Imagem(uploader=Cliente.objects.get(pk=request.user.pk))
    form_imagem = ImagemForm(request.POST or None, request.FILES or None, instance=nova_imagem)
    if request.method == 'POST':
        if form.is_valid():
            estab = form.save()

            # SE! tiver uma imagem, vamos upar e vincular E remover a antiga.
            if form_imagem.is_valid():
                if estab.icone:
                    estab.icone.delete()
                estab.icone = form_imagem.save()
                estab.save()

            # Vai ter de apagar a imagem atual?
            elif request.POST.get('remover_icone'):
                estab.icone.delete()

            messages.success(request, 'Página inicial salva com sucesso.')
            Log.new('update', request, estab, estab)
            return HttpResponseRedirect(request.path)
        else:
            messages.error(request, 'Erros de preenchimento encontrados.')

    return render(request, 'central/estabelecimentos/estabelecimento/pagina-inicial.html', {
        'request' : request,
        'estabelecimento' : estab,
        'form' : form,
        })
Esempio n. 11
0
def cadastrar(request, slug):
    estab = get_object_or_404(Estabelecimento, slug=slug)

    # Pode Acessar?
    cliente_pode_editar_or_404(estab, request)

    # Pode Adicionar/Relacionar?
    if not estab.plano.eventos:
        messages.error(request, 'Plano não suporta relacionamento de eventos.')
        return HttpResponseRedirect(reverse('central:estabelecimentos:eventos:home', args=(estab.slug,)))

    # Cadastrando!
    instance = Evento(estabelecimento=estab, status=Status.objects.get(pk=3))
    form = EventoForm(request.POST or None, instance=instance)
    novo_folder = Imagem(uploader=Cliente.objects.get(pk=request.user.pk))
    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']))
            Log.new('create', request, Evento.objects.get(pk=evento.pk), estab)
            return HttpResponseRedirect(reverse('central:estabelecimentos:eventos:home', args=(estab.slug,)))
        else:
            messages.error(request, '<strong>Erro!</strong> Preencha corretamente o formulario.')

    return render(request, 'central/estabelecimentos/eventos/cadastrar.html', {
        'request' : request,
        'estabelecimento' : estab,
        'form' : form,
        })