def create_disciplina(): # cursos = Curso.objects.all() # disciplinas = [ # { # 'codigo': 'CAX-MTM001', # 'nome': 'Matemática Elementar', # # 'curso': cursos[0].pk # } # ] # for disc in disciplinas: # disciplina = Disciplina(**disc) # disciplina.save() # disciplina.curso.add(cursos[0]) # logger.info("%(disciplina)s created.") with open('curso/management/commands/disciplinas.csv', encoding="ISO-8859-1") as csvfile: disciplinas = csv.reader(csvfile, quotechar='|') for row in disciplinas: if row[0] == 'curso': curso = Curso(nome=row[1], abreviacao=row[2], matriz=row[3], is_active=row[4]) curso.save() else: try: disciplina = Disciplina.objects.get(codigo=row[0]) disciplina.curso.add(curso) except ObjectDoesNotExist: disciplina = Disciplina(codigo=row[0], nome=row[1]) disciplina.save() disciplina.curso.add(curso)
def creaCurso(curso): curso = int(curso.split("/")[0]) existe = existeCurso(curso) creado = False if ( not existe ): curso = Curso(curso=curso) curso.save() cambiaTutoresAProfesores() copiaProyectosEnCursoCursoActualAProyectosPendientesCursoNuevo(curso) #evaluationSystemCopy = EvaluationSystemCopy().fromCourse(cursoAnterior).toNewEvaluationSystemInCourse(curso) creado = True return creado
def creaCurso(curso): curso = int(curso.split("/")[0]) existe = existeCurso(curso) creado = False if (not existe): curso = Curso(curso=curso) curso.save() cambiaTutoresAProfesores() copiaProyectosEnCursoCursoActualAProyectosPendientesCursoNuevo(curso) #evaluationSystemCopy = EvaluationSystemCopy().fromCourse(cursoAnterior).toNewEvaluationSystemInCourse(curso) creado = True return creado
def create_curso(): """Creates an curso object combining different elements from the list""" logger.info("Creating curso") cursos = [ { 'nome': 'ENGENHARIA METALÚRGICA', 'abreviacao': 'EM', 'matriz': '2016', 'is_active': False, }, { 'nome': 'ENGENHARIA METALÚRGICA', 'abreviacao': 'EM', 'matriz': '2019', 'is_active': True, }, { 'nome': 'ENGENHARIA DE PRODUÇÃO', 'abreviacao': 'EP', 'matriz': '2016', }, { 'nome': 'LICENCIATURA EM MATEMÁTICA', 'abreviacao': 'LM', 'matriz': '2017', 'is_active': False, }, { 'nome': 'LICENCIATURA EM MATEMÁTICA', 'abreviacao': 'LM', 'matriz': '2019', }, { 'nome': 'TECNOLOGIA EM PROCESSOS GERENCIAIS', 'abreviacao': 'TPG', 'matriz': '2019', }, { 'nome': 'TECNOLOGIA EM PROCESSOS METALÚRGICOS', 'abreviacao': 'TPM', 'matriz': '2017', }, ] for cal in cursos: curso = Curso(**cal) curso.save() logger.info("%(curso)s created.")
def iniciaAplicacion(request, login): if QueryCourse().getLastCourse(): return HttpResponseForbidden() if (request.method == "POST" ) : form = ProfesorForm(request) if (form.is_valid()): form.save() curso = Curso(curso=int(datetime.date.today().year)) curso.save() newEvaluationSystem = SistemaEvaluacion(curso=curso, estado="D") newEvaluationSystem.save() return HttpResponseRedirect('/coordinacio/projectes/') else: form = ProfesorForm(request) return render_to_response('inicializaAplicacion.html', locals())
def iniciaAplicacion(request, login): if QueryCourse().getLastCourse(): return HttpResponseForbidden() if (request.method == "POST"): form = ProfesorForm(request) if (form.is_valid()): form.save() curso = Curso(curso=int(datetime.date.today().year)) curso.save() newEvaluationSystem = SistemaEvaluacion(curso=curso, estado="D") newEvaluationSystem.save() return HttpResponseRedirect('/coordinacio/projectes/') else: form = ProfesorForm(request) return render_to_response('inicializaAplicacion.html', locals())
def save(self, commit=True): data = self.clean() formacao = Formacao(**self.form_to_dict_formacao()) curso = None if data['tipo_curso'] == 'curso-externo': curso = Curso(**self.form_to_dict_curso()) if commit: if curso: curso.save() formacao.curso_id = curso.pk else: formacao.curso_id = data['curso_id'] formacao.save() return formacao
def create(self, request, *args, **kwargs): try: data = request.data try: prof = Professor.objects.get(id=data.get('prof')) except ObjectDoesNotExist as ex: prof = None try: facu = Faculdade.objects.get(id=data.get('facu')) except ObjectDoesNotExist as ex: facu = None curso = Curso( nome=data['name'], codigo=data['codigo'], faculdade=facu, professor_coordenador=prof, ) curso.save() serializer_context = { 'request': request, } return Response({ 'status': True, 'curso': CursoSerializer(curso, context=serializer_context).data }) except IntegrityError as ex: return Response({ 'status': False, 'error': "Algum campo está faltando.", 'except': ex.args }) except Exception as ex: return generic_except(ex)
def editaCurso(request, user, curso): cursoA = int(curso.split("/")[0]) cursoB = int(curso.split("/")[1]) if cursoA + 1 != cursoB: return HttpResponseNotFound() curso = cursoA cursoForm = Curso() cursoDB = QueryCourse().getCourseByCourse(curso) if not cursoDB: return HttpResponseNotFound() if (request.method == "POST"): form = CursoForm(request.POST, instance=cursoForm) if form.is_valid(): cursoDB.fechaTope = cursoForm.fechaTope cursoDB.save() return HttpResponseRedirect('/coordinacio/cursos/') else: form = CursoForm(initial={'fechaTope': cursoDB.fechaTope}) return render_to_response('edicionCurso.html', locals())
def carga_datos_inicial(request): roles = ['Docente', 'Decano', 'Director de Programa', 'Administrador'] tipos_act = ['Formacion', 'Evaluacion'] tipos_cursos = [ 'Asignatura básica', 'Asignatura Profesional', 'Electiva Complementaria', 'Electiva Profesional' ] escuelas = [{ 'corto': 'EISC', 'largo': 'Escuela de Ingeniería en Sistemas y Computacion' }, { 'corto': 'EIEE', 'largo': 'Escuela de Ingeniería Eléctrica y Electrónica' }, { 'corto': 'EICG', 'largo': 'Escuela de Ingeniería Civil y Geomática' }, { 'corto': 'Estad', 'largo': 'Escuela de Estadística' }, { 'corto': 'EIDENAR', 'largo': 'Escuela de Ingeniería de Recursos Naturales y del Ambiente' }] usuarios = [{ 'username': '******', 'first_name': 'Raul', 'last_name': 'Gutierrez', 'rol': 'Director de Programa', 'password': '******', 'email': '*****@*****.**', 'escuela': 'EISC' }, { 'username': '******', 'first_name': 'Mauricio Eduardo', 'last_name': 'Fernández', 'rol': 'Director de Programa', 'password': '******', 'email': '*****@*****.**', 'escuela': 'EISC' }, { 'username': '******', 'first_name': 'Diego Fernando', 'last_name': 'Garcia', 'rol': 'Director de Programa', 'password': '******', 'email': '*****@*****.**', 'escuela': 'EIEE' }, { 'username': '******', 'first_name': 'Jaime', 'last_name': 'Mosquera Restrepo', 'rol': 'Director de Programa', 'password': '******', 'email': '*****@*****.**', 'escuela': 'Estad' }, { 'username': '******', 'first_name': 'Hernando', 'last_name': 'Palacios', 'rol': 'Director de Programa', 'password': '******', 'email': '*****@*****.**', 'escuela': 'EIEE' }, { 'username': '******', 'first_name': 'Jesus', 'last_name': 'Gonzales', 'rol': 'Director de Programa', 'password': '******', 'email': '*****@*****.**', 'escuela': 'EIEE' }, { 'username': '******', 'first_name': 'Manolo', 'last_name': 'Galvan', 'rol': 'Director de Programa', 'password': '******', 'email': '*****@*****.**', 'escuela': 'EIEE' }, { 'username': '******', 'first_name': 'Luz Edith', 'last_name': 'Barba', 'rol': 'Director de Programa', 'password': '******', 'email': '*****@*****.**', 'escuela': 'EIDENAR' }, { 'username': '******', 'first_name': 'Camilo José', 'last_name': 'Cruz Rivera', 'rol': 'Administrador', 'password': '******', 'email': '*****@*****.**', 'escuela': 'EISC' }, { 'username': '******', 'first_name': 'Beatriz', 'last_name': 'Florian', 'rol': 'Docente', 'password': '******', 'email': '*****@*****.**', 'escuela': 'EISC' }, { 'username': '******', 'first_name': 'Roberto', 'last_name': 'Behar Gutierrez', 'rol': 'Docente', 'password': '******', 'email': '*****@*****.**', 'escuela': 'Estad' }, { 'username': '******', 'first_name': 'Víctor Manuel', 'last_name': 'Gonzales Rojas', 'rol': 'Docente', 'password': '******', 'email': '*****@*****.**', 'escuela': 'Estad' }, { 'username': '******', 'first_name': 'Angel', 'last_name': 'Garcia Baños', 'rol': 'Docente', 'password': '******', 'email': '*****@*****.**', 'escuela': 'EISC' }, { 'username': '******', 'first_name': 'Oscar Fernando', 'last_name': 'Bedoya', 'rol': 'Docente', 'password': '******', 'email': '*****@*****.**', 'escuela': 'EISC' }, { 'username': '******', 'first_name': 'Ruben', 'last_name': 'Nieto', 'rol': 'Docente', 'password': '******', 'email': '*****@*****.**', 'escuela': 'EIEE' }, { 'username': '******', 'first_name': 'Sandra', 'last_name': 'Nope', 'rol': 'Docente', 'password': '******', 'email': '*****@*****.**', 'escuela': 'EIEE' }, { 'username': '******', 'first_name': 'Carlos Arturo', 'last_name': 'Lozano Moncada', 'rol': 'Decano', 'password': '******', 'email': '*****@*****.**', 'escuela': 'EISC' }] programas = [{ 'nombre': 'Ingeniería en Sistemas', 'semestres': 10, 'creditos': 159, 'escuela': 'EISC', 'dir_programa': 'raul_g' }, { 'nombre': 'Estadística', 'semestres': 10, 'creditos': 153, 'escuela': 'Estad', 'dir_programa': 'jaime_m' }, { 'nombre': 'Tecnología en Sistemas de Información', 'semestres': 7, 'creditos': 90, 'escuela': 'EISC', 'dir_programa': 'mauricio_f' }, { 'nombre': 'Ingeniería Eléctrica', 'semestres': 10, 'creditos': 167, 'escuela': 'EIEE', 'dir_programa': 'diego_g' }, { 'nombre': 'Ingeniería Electrónica', 'semestres': 10, 'creditos': 160, 'escuela': 'EIEE', 'dir_programa': 'hernando_p' }, { 'nombre': 'Tecnología Electrónica', 'semestres': 6, 'creditos': 90, 'escuela': 'EIEE', 'dir_programa': 'jesus_g' }, { 'nombre': 'Ingeniería Civil', 'semestres': 10, 'creditos': 170, 'escuela': 'EICG', 'dir_programa': 'manolo_g' }, { 'nombre': 'Ingeniería Sanitaria y Ambiental', 'semestres': 10, 'creditos': 169, 'escuela': 'EIDENAR', 'dir_programa': 'luz_b' }] cursos = [{ 'nombre': 'Desarrollo de Software 2', 'codigo': '750092M', 'creditos': 4, 'programa': 'Ingeniería en Sistemas', 'horas_catedra': 4, 'horas_individual': 8, 'tipo': 'Asignatura Profesional', 'docente_encargado': 'beatriz_f', 'semestre': 7, 'validable': True, 'habilitable': False }, { 'nombre': 'Sistemas de Información', 'codigo': '750022M', 'creditos': 3, 'programa': 'Ingeniería en Sistemas', 'horas_catedra': 3, 'horas_individual': 6, 'tipo': 'Asignatura Profesional', 'docente_encargado': 'beatriz_f', 'semestre': 8, 'validable': True, 'habilitable': False }, { 'nombre': 'Inteligencia Artificial', 'codigo': '750033M', 'creditos': 4, 'programa': 'Ingeniería en Sistemas', 'horas_catedra': 4, 'horas_individual': 8, 'tipo': 'Asignatura Profesional', 'docente_encargado': 'Oscar_B', 'semestre': 7, 'validable': True, 'habilitable': False }, { 'nombre': 'Fundamentos de Analisi y Diseño de Algoritmos', 'codigo': '750094M', 'creditos': 4, 'programa': 'Ingeniería en Sistemas', 'horas_catedra': 4, 'horas_individual': 8, 'tipo': 'Asignatura Profesional', 'docente_encargado': 'Oscar_B', 'semestre': 5, 'validable': True, 'habilitable': False }, { 'nombre': 'Fundamentos de Lenguajes de Programación', 'codigo': '750095M', 'creditos': 4, 'programa': 'Ingeniería en Sistemas', 'horas_catedra': 4, 'horas_individual': 8, 'tipo': 'Asignatura Profesional', 'docente_encargado': 'Oscar_B', 'semestre': 4, 'validable': True, 'habilitable': False }, { 'nombre': 'Introducción a la Estadística', 'codigo': '770087M', 'creditos': 3, 'programa': 'Estadística', 'horas_catedra': 3, 'horas_individual': 6, 'tipo': 'Asignatura Profesional', 'docente_encargado': 'Roberto_b', 'semestre': 1, 'validable': True, 'habilitable': False }, { 'nombre': 'Estadística Descriptiva', 'codigo': '770086M', 'creditos': 3, 'programa': 'Estadística', 'horas_catedra': 3, 'horas_individual': 6, 'tipo': 'Asignatura Profesional', 'docente_encargado': 'Roberto_b', 'semestre': 2, 'validable': True, 'habilitable': False }, { 'nombre': 'Estadística Aplicada 2', 'codigo': '790012M', 'creditos': 4, 'programa': 'Estadística', 'horas_catedra': 4, 'horas_individual': 8, 'tipo': 'Asignatura Profesional', 'docente_encargado': 'Roberto_b', 'semestre': 8, 'validable': True, 'habilitable': False }, { 'nombre': 'Muestreo Estadístico', 'codigo': '770546M', 'creditos': 4, 'programa': 'Estadística', 'horas_catedra': 4, 'horas_individual': 8, 'tipo': 'Asignatura Profesional', 'docente_encargado': 'Víctor_M', 'semestre': 7, 'validable': True, 'habilitable': False }, { 'nombre': 'Introduccion a la Programación Orientada a Objetos', 'codigo': '750569M', 'creditos': 3, 'programa': 'Ingeniería en Sistemas', 'horas_catedra': 3, 'horas_individual': 6, 'tipo': 'Asignatura Profesional', 'docente_encargado': 'Angel_G', 'semestre': 7, 'validable': True, 'habilitable': False }, { 'nombre': 'Bases de datos', 'codigo': '750091M', 'creditos': 4, 'programa': 'Ingeniería en Sistemas', 'horas_catedra': 4, 'horas_individual': 8, 'tipo': 'Asignatura Profesional', 'docente_encargado': 'Angel_G', 'semestre': 6, 'validable': True, 'habilitable': False }, { 'nombre': 'Teoria Electromagnética', 'codigo': '710023M', 'creditos': 4, 'programa': 'Ingeniería Eléctrica', 'horas_catedra': 4, 'horas_individual': 8, 'tipo': 'Asignatura Profesional', 'docente_encargado': 'Ruben_N', 'semestre': 6, 'validable': True, 'habilitable': False }, { 'nombre': 'Circuitos Integrados', 'codigo': '710568M', 'creditos': 4, 'programa': 'Ingeniería Electrónica', 'horas_catedra': 4, 'horas_individual': 8, 'tipo': 'Asignatura Profesional', 'docente_encargado': 'Ruben_N', 'semestre': 2, 'validable': True, 'habilitable': False }, { 'nombre': 'Electricidad para Electrónica', 'codigo': '711064M', 'creditos': 3, 'programa': 'Ingeniería Electrónica', 'horas_catedra': 3, 'horas_individual': 6, 'tipo': 'Asignatura Profesional', 'docente_encargado': 'Ruben_N', 'semestre': 2, 'validable': True, 'habilitable': False }, { 'nombre': 'Estadística no Parametrica', 'codigo': '781546M', 'creditos': 4, 'programa': 'Estadística', 'horas_catedra': 4, 'horas_individual': 8, 'tipo': 'Asignatura Profesional', 'docente_encargado': 'Víctor_M', 'semestre': 7, 'validable': True, 'habilitable': False }, { 'nombre': 'Circuitos Electricos', 'codigo': '728564M', 'creditos': 3, 'programa': 'Ingeniería Eléctrica', 'horas_catedra': 3, 'horas_individual': 6, 'tipo': 'Asignatura Profesional', 'docente_encargado': 'Sandra_N', 'semestre': 5, 'validable': True, 'habilitable': False }, { 'nombre': 'Electrónica', 'codigo': '726498M', 'creditos': 4, 'programa': 'Ingeniería Eléctrica', 'horas_catedra': 4, 'horas_individual': 8, 'tipo': 'Asignatura Profesional', 'docente_encargado': 'Sandra_N', 'semestre': 6, 'validable': True, 'habilitable': False }, { 'nombre': 'Transformadores', 'codigo': '726571M', 'creditos': 4, 'programa': 'Ingeniería Eléctrica', 'horas_catedra': 4, 'horas_individual': 8, 'tipo': 'Asignatura Profesional', 'docente_encargado': 'Sandra_N', 'semestre': 7, 'validable': True, 'habilitable': False }, { 'nombre': 'Lineas y Redes', 'codigo': '724591M', 'creditos': 4, 'programa': 'Ingeniería Eléctrica', 'horas_catedra': 4, 'horas_individual': 8, 'tipo': 'Asignatura Profesional', 'docente_encargado': 'Sandra_N', 'semestre': 8, 'validable': True, 'habilitable': False }] for escuela in escuelas: if not Escuela.objects.filter(nombre_corto=escuela['corto']).exists(): registro = Escuela(nombre_largo=escuela['largo'], nombre_corto=escuela['corto']) registro.save() for rol in roles: if not Rol.objects.filter(nombre=rol).exists(): registro = Rol(nombre=rol) registro.save() for usuario in usuarios: if not Usuario.objects.filter(username=usuario['username']).exists(): registro = Usuario.objects.create_user( username=usuario['username'], email=usuario['email'], password=usuario['password']) registro.first_name = usuario['first_name'] registro.last_name = usuario['last_name'] registro.rol = Rol.objects.get(nombre=usuario['rol']) registro.escuela = Escuela.objects.get( nombre_corto=usuario['escuela']) # rol=Rol.objects.get(nombre=usuario['rol']), # escuela=Escuela.objects.get(nombre_corto=usuario['escuela'])) registro.save() for tipo in tipos_act: if not TipoActividad.objects.filter(nombre=tipo).exists(): registro = TipoActividad(nombre=tipo) registro.save() for tipo in tipos_cursos: if not TipoCurso.objects.filter(nombre=tipo).exists(): registro = TipoCurso(nombre=tipo) registro.save() for programa in programas: if not Programa.objects.filter(nombre=programa['nombre']).exists(): registro = Programa( nombre=programa['nombre'], semestres=programa['semestres'], creditos=programa['creditos'], cod_escuela=Escuela.objects.get( nombre_corto=programa['escuela']), dir_programa=Usuario.objects.get( username=programa['dir_programa']), ) registro.save() for curso in cursos: if not Curso.objects.filter(codigo=curso['codigo']).exists(): registro = Curso( codigo=curso['codigo'], nombre=curso['nombre'], creditos=curso['creditos'], horas_catedra=curso['horas_catedra'], horas_individual=curso['horas_individual'], programa=Programa.objects.get(nombre=curso['programa']), tipo=TipoCurso.objects.get(nombre=curso['tipo']), docente_encargado=Usuario.objects.get( username=curso['docente_encargado']), semestre=curso['semestre'], validable=curso['validable'], habilitable=curso['habilitable'], ) registro.save() return HttpResponse("Datos Cargados")
def setUp(self): self.curso = Curso( codigo_curso='CTT1', descricao='Curso de teste', nivel_curso='B' ) self.serializer = CursoSerializer(instance=self.curso)
def setUp(self): self.curso = Curso(codigo_curso='CTT1', descricao='Curso de teste')