Exemplo n.º 1
0
def create(request):
	"""
	Alta de título nacional.
	"""
	if request.method == 'POST':
		form = PostituloNacionalForm(request.POST)
		if form.is_valid():
			postitulo_nacional = form.save(commit=False)
			postitulo_nacional.estado = EstadoPostituloNacional.objects.get(nombre=EstadoPostituloNacional.VIGENTE)
			postitulo_nacional.save()
			form.save_m2m()  # Guardo las relaciones - https://docs.djangoproject.com/en/1.2/topics/forms/modelforms/#the-save-method
			postitulo_nacional.registrar_estado()

			#MailHelper.notify_by_email(MailHelper.TITULO_CREATE, titulo)
			request.set_flash('success', 'Datos guardados correctamente.')

			# redirigir a edit
			return HttpResponseRedirect(reverse('postituloNacionalEdit', args=[postitulo_nacional.id]))
		else:
			request.set_flash('warning', 'Ocurrió un error guardando los datos.')
	else:
		form = PostituloNacionalForm()

	form.fields['estado'].queryset = EstadoPostituloNacional.objects.filter(nombre=EstadoPostituloNacional.VIGENTE)
	return my_render(request, 'postitulos/postitulo_nacional/new.html', {
		'form': form,
		'is_new': True,
	})
Exemplo n.º 2
0
def edit(request, postitulo_nacional_id):
	"""
	Edición de los datos de un título nacional.
	"""
	postitulo_nacional = PostituloNacional.objects.get(pk=postitulo_nacional_id)
	estado_actual_id = postitulo_nacional.estado.id

	if request.method == 'POST':
		form = PostituloNacionalForm(request.POST, instance=postitulo_nacional, initial={'estado': estado_actual_id})
		if form.is_valid():
			postitulo_nacional = form.save(commit=False)

			"Cambiar el estado?"
			if int(request.POST['estado']) is not estado_actual_id:
				postitulo_nacional.estado = EstadoPostituloNacional.objects.get(pk=request.POST['estado'])
				postitulo_nacional.save()
				postitulo_nacional.registrar_estado()
			else:
				# Guardar directamente
				postitulo_nacional.save()

			form.save_m2m()  # Guardo las relaciones - https://docs.djangoproject.com/en/1.2/topics/forms/modelforms/#the-save-method

			#MailHelper.notify_by_email(MailHelper.TITULO_UPDATE, titulo)
			request.set_flash('success', 'Datos actualizados correctamente.')
		else:
			request.set_flash('warning', 'Ocurrió un error actualizando los datos.')
	else:
		form = PostituloNacionalForm(instance=postitulo_nacional, initial={'estado': estado_actual_id})

	return my_render(request, 'postitulos/postitulo_nacional/edit.html', {
		'form': form,
		'is_new': False,
	})