def evento_novo(request): ''' @evento_novo: Metodo de criação de uma novo Matéria ''' form = EventoForm() if request.method == 'POST': form = EventoForm(request.POST) if form.is_valid(): evento = form.save(commit=False) max_length = Evento._meta.get_field('slug').max_length orig = slugify(evento.titulo)[:max_length] if Evento.objects.filter(slug=evento.slug).exists(): evento.slug = "%s-%d" % (orig[:max_length - len(str(evento.titulo.split())) - 1], 1) else: evento.slug = "%s" % (orig[:max_length - len(str(evento.titulo.split())) - 1]) evento.save() form.save_m2m() return HttpResponseRedirect(r('evento:eventos')) else: return render(request, 'evento_novo.html', {'form': form, 'status': 'Novo'}) else: return render(request, 'evento_novo.html', {'form': form, 'status': 'Novo'})
def evento_editar(request, evento_id): ''' @evento_editar: Metodo de edição de uma evento cadastrada na base ''' evento = Evento.objects.get(id=evento_id) form = EventoForm(instance=evento) foto = evento.foto if request.method == 'POST': form = EventoForm(request.POST, instance=evento) if form.is_valid(): evento = form.save(commit=False) max_length = Evento._meta.get_field('slug').max_length orig = slugify(evento.titulo)[:max_length] if Evento.objects.filter(slug=evento.slug).exists(): evento.slug = "%s-%d" % (orig[:max_length - len(str(evento.titulo.split())) - 1], 1) else: evento.slug = "%s" % (orig[:max_length - len(str(evento.titulo.split())) - 1]) evento.save() form.save_m2m() return HttpResponseRedirect( r('evento:eventos')) else : return render(request,'evento_novo.html',{'form': form,'foto': foto,'status':'Editar','id_evento':evento_id}) else: return render(request,'evento_novo.html',{'form': form,'foto': foto,'status':'Editar','id_evento':evento_id})
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 evento_sin_negociacion(request): usuario_registrado=UsuarioRegistrado.objects.get(pk=request.user.id) if request.method == 'POST': form = EventoForm(request.POST) evento=form.save(commit=False) if form.is_valid(): evento=form.save(commit=False) evento.complejo=Complejo.objects.get(pk=request.user.id) evento.save() for banda_id in request.POST.getlist('bandas'): participacion = Participacion.objects.create(evento_id=evento.id, banda_id=banda_id) participacion.estado="A confirmar" participacion.save() return HttpResponseRedirect(reverse('evento.views.listado')) else: form = EventoForm() return render_to_response("evento/creacion_eventos.html", locals(), context_instance=RequestContext(request))
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, })