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 })
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 })
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, })
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, })
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, })