def edit(request, matricula_id):
    """
    Edición de los datos de una matricula.
    """
    matricula = EstablecimientoMatricula.objects.get(pk=matricula_id)
    establecimiento = __get_establecimiento(request, matricula.establecimiento_id)

    if request.method == "POST":
        form = EstablecimientoMatriculaForm(request.POST, instance=matricula, establecimiento=establecimiento)
        if form.is_valid():
            matricula = form.save(commit=False)
            matricula.set_formacion_continua()
            matricula.set_formacion_docente()
            matricula.save()
            request.set_flash("success", "Datos actualizados correctamente.")
            return HttpResponseRedirect(
                reverse("establecimientoMatriculaIndexEstablecimiento", args=[matricula.establecimiento_id])
            )
        else:
            request.set_flash("warning", "Ocurrió un error actualizando los datos.")
    else:
        form = EstablecimientoMatriculaForm(instance=matricula, establecimiento=establecimiento)

    return my_render(
        request,
        "registro/establecimiento/matricula/edit.html",
        {"form": form, "matricula": matricula, "establecimiento": establecimiento},
    )
def create(request, establecimiento_id):
    establecimiento = __get_establecimiento(request, establecimiento_id)
    """
    Alta de matricula.
    """

    if request.method == "POST":
        form = EstablecimientoMatriculaForm(request.POST, establecimiento=establecimiento)
        if form.is_valid():
            matricula = form.save(commit=False)
            matricula.establecimiento_id = establecimiento.id
            matricula.set_formacion_continua()
            matricula.set_formacion_docente()
            matricula.save()

            request.set_flash("success", "Datos guardados correctamente.")
            return HttpResponseRedirect(
                reverse("establecimientoMatriculaIndexEstablecimiento", args=[matricula.establecimiento_id])
            )
        else:
            request.set_flash("warning", "Ocurrió un error guardando los datos.")
    else:
        form = EstablecimientoMatriculaForm(establecimiento=establecimiento)
    return my_render(
        request, "registro/establecimiento/matricula/new.html", {"establecimiento": establecimiento, "form": form}
    )