Пример #1
0
def editar(request, id_actividad):
    """ ver una actividad via ajax """
    actividad = Actividad.objects.get(pk=id_actividad)
    empleado = request.user.profile  # interesante esto, se debe a que el models tiene un static que genera el profile
    f = ActividadForm(actividad.fecha_hora, empleado, instance=actividad)
    formset = RecursosFormSet(instance=actividad)

    if request.method == 'POST':
        f = ActividadForm(actividad.fecha_hora, empleado, request.POST, instance=actividad)
        recursos_formset = RecursosFormSet(request.POST, instance=actividad)

        if f.is_valid() and recursos_formset.is_valid():
            #actividad = f.save(commit=False)
            #new_actividad.fecha_hora = f.cleaned_data['fecha_hora']
            #new_actividad.empleado = empleado
            # grabar el formset
            actividad.save()
            recursos_formset.save()
            messages.success(request, 'Actividad Actualizada.')

        # en el peor de los casos
        return HttpResponseRedirect("/actividades/calendario")

    context = {'form_agregar_act': f, 'recursos_formset': formset, 'empleado': empleado, 'actividad': actividad}
    return render_to_response('editar.html', context_instance=RequestContext(request, context))
Пример #2
0
def crear(request, dia, mes, anio):
    """ crear una actividad via post """
    fecha = datetime(year=int(anio), month=int(mes), day=int(dia))
    #empleado = Empleado.objects.get(pk=1)
    try:
        empleado = request.user.profile
    except Empleado.DoesNotExist:
        raise Http404

    if request.method == 'POST':
        f = ActividadForm(fecha, empleado, request.POST)

        if f.is_valid():
            new_actividad = f.save(commit=False)
            #new_actividad.fecha_hora = f.cleaned_data['fecha_hora']
            new_actividad.empleado = empleado
            # grabar el formset
            new_actividad.save()
            recursos_formset = RecursosFormSet(request.POST, instance=new_actividad)
            if recursos_formset.is_valid():
                recursos_formset.save()
        else:
            messages.error(request, f.errors)

    # en el peor de los casos
    return HttpResponseRedirect("/actividades/calendario")