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, })