def create(request):
    """
    Alta de dependencia.
    """
    if request.method == "POST":
        form = DependenciaFuncionalForm(request.POST)
        if form.is_valid():
            dependencia_funcional = form.save(commit=True)

            request.set_flash("success", "Datos guardados correctamente.")

            # redirigir a edit
            return HttpResponseRedirect(reverse("dependenciaFuncionalEdit", args=[dependencia_funcional.id]))
        else:
            request.set_flash("warning", "Ocurrió un error guardando los datos.")
    else:
        form = DependenciaFuncionalForm()
    if request.get_perfil().jurisdiccion() is not None:
        form.fields["jurisdiccion"].queryset = Jurisdiccion.objects.filter(id=request.get_perfil().jurisdiccion().id)
    return my_render(request, "registro/dependencia_funcional/new.html", {"form": form, "is_new": True})
def edit(request, dependencia_funcional_id):
    """
    Edición de los datos de una dependencia funcional.
    """
    dependencia_funcional = DependenciaFuncional.objects.get(pk=dependencia_funcional_id)
    if request.method == "POST":
        form = DependenciaFuncionalForm(request.POST, instance=dependencia_funcional)
        if form.is_valid():
            dependencia_funcional = form.save()
            request.set_flash("success", "Datos actualizados correctamente.")
        else:
            request.set_flash("warning", "Ocurrió un error actualizando los datos.")
    else:
        form = DependenciaFuncionalForm(instance=dependencia_funcional)
    if request.get_perfil().jurisdiccion() is not None:
        form.fields["jurisdiccion"].queryset = Jurisdiccion.objects.filter(id=request.get_perfil().jurisdiccion().id)

    return my_render(
        request,
        "registro/dependencia_funcional/edit.html",
        {"form": form, "dependencia_funcional": dependencia_funcional},
    )