示例#1
0
def edit(request, titulo_id):
    """
    Edición de los datos de un título.
    """
    titulo = Titulo.objects.get(pk=titulo_id)

    estado_actual_id = titulo.estado.id

    if request.method == 'POST':
        form = TituloForm(request.POST, instance=titulo, initial={'estado': estado_actual_id})
        if form.is_valid():
            titulo = form.save(commit=False)

            "Cambiar el estado?"
            if int(request.POST['estado']) is not estado_actual_id:
                titulo.estado = EstadoTitulo.objects.get(pk=request.POST['estado'])
                titulo.save()
                titulo.registrar_estado()
            else:
                # Guardar directamente
                titulo.save()

            form.save_m2m()  # Guardo las relaciones - https://docs.djangoproject.com/en/1.2/topics/forms/modelforms/#the-save-method

            MailHelper.notify_by_email(MailHelper.TITULO_UPDATE, titulo)
            request.set_flash('success', 'Datos actualizados correctamente.')
        else:
            request.set_flash('warning', 'Ocurrió un error actualizando los datos.')
    else:
        form = TituloForm(instance=titulo, initial={'estado': estado_actual_id})

    return my_render(request, 'titulos/titulo/edit.html', {
        'form': form,
        'is_new': False,
    })
示例#2
0
def create(request):
    """
    Alta de título.
    """
    if request.method == 'POST':
        form = TituloForm(request.POST)
        if form.is_valid():
            titulo = form.save(commit=False)
            titulo.estado = EstadoTitulo.objects.get(nombre=EstadoTitulo.VIGENTE)
            titulo.save()
            form.save_m2m()  # Guardo las relaciones - https://docs.djangoproject.com/en/1.2/topics/forms/modelforms/#the-save-method
            titulo.registrar_estado()

            MailHelper.notify_by_email(MailHelper.TITULO_CREATE, titulo)
            request.set_flash('success', 'Datos guardados correctamente.')

            # redirigir a edit
            return HttpResponseRedirect(reverse('tituloEdit', args=[titulo.id]))
        else:
            request.set_flash('warning', 'Ocurrió un error guardando los datos.')
    else:
        form = TituloForm()

    return my_render(request, 'titulos/titulo/new.html', {
        'form': form,
        'is_new': True,
    })