예제 #1
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'})
예제 #2
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})