def edit(request, domicilio_id):
    """
    Edición de los datos de una domicilio.
    """
    domicilio = EstablecimientoDomicilio.objects.get(pk=domicilio_id)
    establecimiento = __get_establecimiento(request, domicilio.establecimiento_id)
    jurisdiccion = establecimiento.dependencia_funcional.jurisdiccion

    if request.method == 'POST':
        form = EstablecimientoDomicilioForm(request.POST, instance=domicilio, jurisdiccion_id=jurisdiccion.id, establecimiento_id=establecimiento.id)
        if form.is_valid():
            domicilio = form.save()
            request.set_flash('success', 'Datos actualizados correctamente.')
            return HttpResponseRedirect(reverse('establecimientoDomiciliosIndex', args=[domicilio.establecimiento_id]))
        else:
            request.set_flash('warning', 'Ocurrió un error actualizando los datos.')
    else:
        form = EstablecimientoDomicilioForm(instance=domicilio, jurisdiccion_id=jurisdiccion.id, establecimiento_id=establecimiento.id)

    form.fields["localidad"].queryset = Localidad.objects.filter(departamento__jurisdiccion__id=jurisdiccion.id)
    return my_render(request, 'registro/establecimiento/domicilios/edit.html', {
        'form': form,
        'domicilio': domicilio,
        'establecimiento': establecimiento,
    })
def create(request, establecimiento_id):
    establecimiento = __get_establecimiento(request, establecimiento_id)
    """
    Alta de domicilio.
    """
    jurisdiccion = establecimiento.dependencia_funcional.jurisdiccion

    if request.method == 'POST':
        form = EstablecimientoDomicilioForm(request.POST, jurisdiccion_id=jurisdiccion.id, establecimiento_id=establecimiento.id)
        if form.is_valid():
            domicilio = form.save(commit=False)
            domicilio.establecimiento_id = establecimiento.id
            domicilio.save()

            request.set_flash('success', 'Datos guardados correctamente.')
            return HttpResponseRedirect(reverse('establecimientoDomiciliosIndex', args=[domicilio.establecimiento_id]))
        else:
            request.set_flash('warning', 'Ocurrió un error guardando los datos.')
    else:
        form = EstablecimientoDomicilioForm(jurisdiccion_id=jurisdiccion.id, establecimiento_id=establecimiento.id)
    form.fields["localidad"].queryset = Localidad.objects.filter(departamento__jurisdiccion__id=jurisdiccion.id)
    "Localidad seleccionada al hacer refresh"
    try:        
        localidad_seleccionada = request.POST['localidad']
    except KeyError:
        localidad_seleccionada = None
    return my_render(request, 'registro/establecimiento/domicilios/new.html', {
        'establecimiento': establecimiento,
        'form': form,
        'localidad_seleccionada': localidad_seleccionada,
    })