Пример #1
0
def add_serie(request):
    '''
    Formulario que agrega/edita links
    '''
    form = SerieForm()
    if request.GET.get('edit'):
        serie_id = request.GET.get('edit')
        serie = Serie.objects.get(pk=serie_id)
        form = SerieForm(instance=serie)
        return {
            'form': form,
        }
    if request.method == 'POST':
        form_serie = SerieForm(request.POST)
        if form_serie.is_valid():
            print 'yeaahh'
            form_serie.save()
            return {
                'message': 'OK',
            }
        else:
            print 'noooooo'
            return {
                'message': 'fuuu',
            }
    return {
        'form': form,
    }
Пример #2
0
def add_serie(request):
    '''
    Formulario que agrega/edita links
    '''
    form = SerieForm()
    if request.GET.get('edit'):
        serie_id = request.GET.get('edit')
        serie = Serie.objects.get(pk=serie_id)
        form = SerieForm(instance=serie)
        return {'form': form,}
    if request.method == 'POST':
        form_serie = SerieForm(request.POST)
        if form_serie.is_valid():
            print 'yeaahh'
            form_serie.save()
            return {'message': 'OK',}
        else:
            print 'noooooo'
            return {'message': 'fuuu',}
    return {
        'form': form,
    }
Пример #3
0
def add_or_edit_serie(request, serie_slug=None):
    '''
    Formulario que agrega/edita series
    '''
    # Entregamos el formulario
    if request.method == 'GET':
        if serie_slug:
        # Si hay una serie no es add, es edit, ergo devolvemos la instancia
            serie = Serie.objects.get(slug_name=serie_slug)
            form_serie = SerieForm(instance=serie)
            img_form = ImageSerieForm()
            return {
                    'form': form_serie,
                    'serie': serie,
                    'img_form': img_form,
                }
        else:
            # Agregar una serie, este es el formulario limpio
            form_serie = SerieForm()
            img_form = ImageSerieForm()
            return {
                'form': form_serie,
                'img_form': img_form,
            }

    # Respuesta, nos llega el formulario
    if request.method == 'POST':
        # TODO: preparamos los actores/roles
        serie_post_clean = request.POST.copy()
        serie_post_clean['slug_name'] = slugify(request.POST['name_es'])
        # Le pasamos a modeltranslation los campos por defecto en spanish
        serie_post_clean['name'] = request.POST['name_es']
        serie_post_clean['description'] = request.POST['description_es']
        # Si hay una serie no es add, es edit, ergo tratamos la instancia
        if serie_slug:
            serie = Serie.objects.get(slug_name=serie_slug)
            # para que no joda el poster ya existente
            try:
                serie_post_clean['poster'] = serie.poster.id
            except:
                pass
            form_serie = SerieForm(serie_post_clean, instance=serie)
            img_form = ImageSerieForm()
        else:
            form_serie = SerieForm(serie_post_clean)
            img_form = ImageSerieForm()
        if form_serie.is_valid():
            if not serie_slug:
                try:
                    # Comprobamos que no exista ya una serie con ese nombre
                    name_es = form_serie.data['name_es']
                    name_en = form_serie.data['name_en']
                    serie = Serie.objects.get(
                            Q(name_es=name_es)|
                            Q(name_en=name_en)
                        )
                except IntegrityError:
                    return {
                        'message': 'Duplicada',
                        'form': form_serie,
                        'img_form': img_form,
                    }
                except ObjectDoesNotExist:
                    pass
            serie = form_serie.save()
            slug = form_serie.cleaned_data['slug_name']
            # Si existe FILES es que nos envian una imagen para la serie
            if request.FILES:
                img_serie = ImageSerie()
                img_serie.title = slug
                img_serie.src = request.FILES['src']
                img_serie.is_poster = True
                img_serie.serie = serie
                img_serie.save()
            # TODO: tratamiento de los actores
            final_url = reverse('serie.views.get_serie', kwargs={
                'serie_slug': slug
            })
            # Redireccionamos a la ficha de la serie
            return HttpResponseRedirect(final_url)
        else:
            # uoops -- excepciones
            return {
                'message': form_serie.errors,
                'message2': img_form.errors,
                'form': form_serie,
                'img_form': img_form,
            }