def edit(request, cohorte_id): """ Edición de los datos de una cohorte. """ cohorte = Cohorte.objects.get(pk=cohorte_id) if request.method == 'POST': form = CohorteForm(request.POST, instance=cohorte) if form.is_valid(): cohorte = form.save() request.set_flash('success', 'Datos actualizados correctamente.') else: request.set_flash('warning', 'Ocurrió un error actualizando los datos.') else: form = CohorteForm(instance=cohorte) carrera_jurisdiccional = cohorte.carrera_jurisdiccional """ choices = [] for a_cohorte in carrera_jurisdiccional.datos_cohorte.all(): choices += [(i, i) for i in range(a_cohorte.primera_cohorte_solicitada, a_cohorte.ultima_cohorte_solicitada + 1)] form.fields["anio"].choices = choices """ asignada_establecimiento = cohorte.asignada_establecimiento() if asignada_establecimiento: form.fields["anio"].choices = [(cohorte.anio, cohorte.anio)] # No se puede modificar la carrera ni el año form.fields["carrera_jurisdiccional"].queryset = CarreraJurisdiccional.objects.filter(id=cohorte.carrera_jurisdiccional_id) form.fields["carrera_jurisdiccional"].empty_label = None return my_render(request, 'titulos/cohorte/edit.html', { 'form': form, 'cohorte': cohorte, 'carrera_jurisdiccional': cohorte.carrera_jurisdiccional, 'asignada_establecimiento': asignada_establecimiento, 'is_new': False, })
def create(request, carrera_jurisdiccional_id): """ Alta de cohorte """ carrera_jurisdiccional = CarreraJurisdiccional.objects.get(pk=carrera_jurisdiccional_id) if request.method == 'POST': form = CohorteForm(request.POST) if form.is_valid(): cohorte = form.save() # redirigir a edit request.set_flash('success', 'Datos guardados correctamente.') return HttpResponseRedirect(reverse('cohortesPorCarreraJurisdiccional', args=[carrera_jurisdiccional.id])) else: request.set_flash('warning', 'Ocurrió un error guardando los datos.') else: form = CohorteForm() choices = [('', '-------')] """ try: for cohorte in carrera_jurisdiccional.datos_cohorte.all(): choices += [(i, i) for i in range(cohorte.primera_cohorte_solicitada, cohorte.ultima_cohorte_solicitada + 1)] except CarreraJurisdiccionalCohorte.DoesNotExist: pass form.fields["anio"].choices = choices """ form.fields["carrera_jurisdiccional"].initial = carrera_jurisdiccional.id return my_render(request, 'titulos/cohorte/new.html', { 'form': form, 'carrera_jurisdiccional': carrera_jurisdiccional, 'is_new': True, })