def test_longitud_nombre_mayor_a_cero(self): """ Prueba que el nombre ingresado tenga una longitud mayor a cero. """ estudiante = Estudiante() estudiante.edad = 0 estudiante.nombre = "Julian" estudiante.save() e = Estudiante.objects.all()[0] self.assertEqual(e.nombre, "Julian")
def migrar_estudiante(request): try: if request.method == 'POST': form = EstudianteForm(request.POST) if form.is_valid(): cedula = form['cedula'].value() carrera = Carrera.objects.get(codigo=form['carrera'].value()) periodo = Periodo.objects.get(estado=True) clienteCarrera = webservices.infoCarrera() #si el estudiante no está regstrado en la base de datos lo buscamos en el OASIS y lo almacenamos en la base de datos local if not (Estudiante.objects.filter(cedula=cedula).exists()): estudiante = Estudiante() estudiante.cedula = cedula resultEstudiante = clienteCarrera.service.GetDatosEstudianteMatriculado( estudiante.cedula) if resultEstudiante is not None: estudiante.cedula = resultEstudiante['Cedula'] estudiante.username = resultEstudiante['Cedula'] estudiante.first_name = metodos.remover_acentos( resultEstudiante['Nombres']) estudiante.last_name = metodos.remover_acentos( resultEstudiante['Apellidos']) if not resultEstudiante['Email'] is None: estudiante.email = resultEstudiante['Email'] estudiante.is_active = 1 estudiante.is_superuser = 0 estudiante.is_staff = 0 estudiante.password = make_password( resultEstudiante['Cedula'], salt=None, hasher='default') estudiante.save() usuario = User.objects.get(id=estudiante.id) if Group.objects.filter(name='Estudiantes').exists(): grupo = Group.objects.get(name='Estudiantes') else: grupo = Group.objects.create(name='Estudiantes') usuario.groups.add(grupo) usuario.save() #return JsonResponse(estudiante.first_name, safe=False) #si el estudiante existe en la base de datos lo recuperamos if (Estudiante.objects.filter(cedula=cedula)): estudiante = Estudiante.objects.get(cedula=cedula) #Obtenemos las asignaturas en las que el estudiante se encuentra matriculado desde la base de datos del sistema académico resultAsignaturas = clienteCarrera.service.GetMateriasEstudiante( carrera.codigo, estudiante.cedula, periodo.codigo) #return JsonResponse((resultAsignaturas != ""), safe=False) if (resultAsignaturas != ""): for a in resultAsignaturas[0]: tmp = metodos.recursive_asdict(a) if Asignatura.objects.filter( codigo=tmp['Codigo']).exists(): asignatura = Asignatura.objects.get( codigo=tmp['Codigo']) if DocenteAsignaturaPeriodo.objects.filter( asignatura=asignatura, periodo=periodo).exists(): docenteAsignatura = DocenteAsignaturaPeriodo.objects.get( asignatura=asignatura, periodo=periodo) if not (DocenteAsignaturaPeriodoEstudiante. objects.filter( docenteasignatura= docenteAsignatura, estudiante=estudiante).exists( )): docenteAsignaturaEstudiante = DocenteAsignaturaPeriodoEstudiante( ) docenteAsignaturaEstudiante.docenteasignatura = docenteAsignatura docenteAsignaturaEstudiante.estudiante = estudiante docenteAsignaturaEstudiante.save() return HttpResponseRedirect( reverse('home') + "?migrar=correcto") else: form = EstudianteForm() return render(request, 'estudiante/nuevo.html', {'form': form}, context_instance=RequestContext(request)) except: return HttpResponseRedirect(reverse('home') + "?migrar=error")