Пример #1
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,
        })
Пример #2
0
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))
Пример #3
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,
        })
Пример #4
0
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'})
Пример #5
0
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})