def folder(request, student_code_id=None): # if not request.user.is_authenticated(): # return HttpResponse(unicode('Usuario sin autenticacion'), status=500) # else: if (request.method == 'GET'): if student_code_id == None: error = error_json(4, "Se debe agregar el código del estudiante") return HttpResponse(error, status=500, content_type='application/json') else: data = request.GET if validate_data(data, attrs=['operation', 'student_code']): if data['operation'] == "1": return HttpResponse(json.dumps( calculate_credits(student_code_id)), status=200, content_type='application/json') elif data['operation'] == "2": json_response = json.dumps( list_subject_approved(student_code_id)) return HttpResponse(json_response, status=200, content_type='application/json') elif data['operation'] == "3": plan = list_courses_scheme(student_code_id) if plan != None: json_response = json.dumps(plan.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: error = error_json(2, "No existe plan de estudios") return HttpResponse(error, status=500, content_type='application/json') elif data['operation'] == "4": datos = structure_master_courses(student_code_id) if datos != None: json_response = json.dumps(datos) return HttpResponse(json_response, status=200, content_type='application/json') else: error = error_json(4, "No existe el estudiante") return HttpResponse(error, status=400, content_type='application/json') else: return HttpResponse( unicode('No se llamo una operación correcta'), status=500) else: return HttpResponse( unicode('No se agrego una operación correcta'), status=500)
def teacher(request, teacher_id=None): # if not request.user.is_authenticated(): # return HttpResponse(unicode('Usuario sin autenticacion'),status=500) # else: if (request.method == 'GET'): if (teacher_id == None): response = list_teachers() json_response = json.dumps(response) return HttpResponse(json_response, status=200, content_type='application/json') else: data = request.GET if validate_data(data, attrs=['operation']): if "operation" in data: if data['operation'] == "1": try: teacher = Teacher.objects.get(code=teacher_id) if teacher != None: json_response = json.dumps(teacher.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: error = error_json(2, "No existe el profesor:" + str(teacher_id)) return HttpResponse(error, status=500, content_type='application/json') except Exception as e: error = error_json(2, "No existe el profesor:" + str(teacher_id)) return HttpResponse(error, status=500, content_type='application/json') else: teacher = Teacher.objects.get(id=teacher_id) if teacher != None: json_response = json.dumps(teacher.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: error = error_json(2, "No existe el profesor:" + str(teacher_id)) return HttpResponse(error, status=500, content_type='application/json') elif request.method == 'POST': data = request.DATA lista_attrs = list() lista_attrs.append('code') lista_attrs.append('email') lista_attrs.append('lastname') lista_attrs.append('name') if validate_data(data, attrs=lista_attrs): try: parametros = {} if 'code' in data: parametros.update({'code': data['code']}) if 'email' in data: parametros.update({'email': data['email']}) if 'lastname' in data: parametros.update({'lastname': data['lastname']}) if 'name' in data: parametros.update({'name': data['name']}) teacher = Teacher.objects.create(**parametros) json_response = json.dumps(teacher.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') except Exception as e: error = error_json(3, "No se creo el profesor " + str(e)) return HttpResponse(error, status=500, content_type='application/json') else: return HttpResponse(status=500) elif request.method == 'PUT': data = request.DATA if teacher_id != None: course = Teacher.objects.get(id=teacher_id) if 'code' in data: course.code = data['code'] if 'email' in data: course.email = data['email'] if 'lastname' in data: course.lastname = data['lastname'] if 'name' in data: course.name = data['name'] course.save() return HttpResponse(status=204) else: return HttpResponse(status=500) elif request.method == 'DELETE': if teacher_id != None: teacher_obj = Teacher.objects.get(id=teacher_id) if not teacher_obj == None: teacher_obj.delete() return HttpResponse(status=204) else: return HttpResponse(status=500) return HttpResponse(status=400)
def course(request, course_id=None): # if not request.user.is_authenticated(): # return HttpResponse(unicode('Usuario sin autenticacion'), status=500) # else: if request.method == 'GET': data = request.GET if not(validate_data(data, attrs=['operation', 'code_curso'])): if not(course_id == None ): response = list_courses() json_response = json.dumps(response) return HttpResponse(json_response, status=200, content_type='application/json') else: if validate_data(data, attrs=['operation', 'code_curso']): if "operation" in data: if data["operation"] == "1": if course_id == None: return HttpResponse(unicode('Se debe agregar el id del curso'), status=500) else: obj_secciones = dar_secciones(course_id) json_response = json.dumps(obj_secciones) return HttpResponse(json_response, status=200, content_type='application/json') if data['operation'] == "2": course_code = dar_curso_by_code(data["code_curso"]) json_response = json.dumps(course_code.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: course = Course.objects.get(id=course_id) json_response = json.dumps(course.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: error = error_json(1, "Error en los parametros de la operació") return HttpResponse(error, status=500, content_type='application/json') elif request.method == 'POST': data = request.DATA print data if validate_data(data, attrs=['operation', 'code', 'name', 'credits', 'summer', 'pensum', 'crn_section', 'name_section', 'semester', 'year', 'code_teacher', 'MESI', 'MBIT', 'MISO', 'MATI', 'MISIS', 'pregrado', 'otros']): lista_attrs = list() lista_attrs.append('code') lista_attrs.append('name') lista_attrs.append('credits') lista_attrs.append('summer') lista_attrs.append('pensum') if validate_data(data, attrs=lista_attrs): pensum_obj = Pensum.objects.get(id=data['pensum']) course = Course.objects.create(code=data['code'], name=data['name'], credits=data['credits'], summer=data['summer'], pensum=pensum_obj) json_response = json.dumps(course.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: return HttpResponse(status=500) elif request.method == 'PUT': data = request.DATA if course_id != None: if validate_data(data, attrs=['operation', 'code', 'name', 'credits', 'summer', 'pensum', 'crn_section', 'name_section', 'semester', 'year', 'code_teacher', 'MESI', 'MBIT', 'MISO', 'MATI', 'MISIS', 'pregrado', 'otros']): if 'operation' in data: if data['operation'] == "1": lista_capacity = {} if 'MESI'in data: lista_capacity['MESI'] = data['MESI'] if 'MBIT' in data: lista_capacity['MBIT'] = data['MBIT'] if 'MISO' in data: lista_capacity['MISO'] = data['MISO'] if 'MATI'in data: lista_capacity['MATI'] = data['MATI'] if 'MISIS' in data: lista_capacity['MISIS'] = data['MISIS'] if 'pregrado'in data: lista_capacity['pregrado'] = data['pregrado'] if 'otros' in data: lista_capacity['otros'] = data['otros'] obj_section = crear_seccion(course_id, data['crn_section'], data['name_section'], data['semester'], data['year'], data['code_teacher'], lista_capacity) json_response = json.dumps(obj_section.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: course = Course.objects.get(id=course_id) if 'code' in data: course.code = data['code'] if 'name' in data: course.name = data['name'] if 'credits' in data: course.credits = data['credits'] if 'summer' in data: course.summer = data['summer'] if 'pensum' in data: pensum_obj = Pensum.objects.get(id=data['pensum']) course.teacher = pensum_obj course.save() json_response = json.dumps(course.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: return HttpResponse(status=500) elif request.method == 'DELETE': if course_id != None: course_obj = Course.objects.get(id=course_id) if not course_obj == None: course_obj.delete() return HttpResponse(status=204) else: return HttpResponse(status=500) return HttpResponse(status=400)
def subject(request, subject_id=None): # if not request.user.is_authenticated(): # return HttpResponse(unicode('Usuario sin autenticacion'),status=500) # else: if (request.method == 'GET'): if (subject_id == None): response = list_subjects() json_response = json.dumps(response) return HttpResponse(json_response, status=200, content_type='application/json') else: subject = Subject.objects.get(id=subject_id) json_response = json.dumps(subject.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') elif request.method == 'POST': data = request.DATA lista_attrs = list() lista_attrs.append('grade') lista_attrs.append('student_status') lista_attrs.append('student') lista_attrs.append('section') if validate_data(data, attrs=lista_attrs): student_obj = Student.objects.get(id=data['student']) section_obj = Section.objects.get(id=data['section']) #agregar la validacion del objeto subject = Subject.objects.create( grade=data['grade'], student_status=data['student_status'], student=student_obj, section=section_obj) json_response = json.dumps(subject.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: return HttpResponse(status=500) elif request.method == 'PUT': data = request.DATA if subject_id != None: subject = Subject.objects.get(id=subject_id) if 'grade' in data: subject.grade = data['grade'] if 'student_status' in data: subject.student_status = data['student_status'] is 'True' if 'student' in data: student_obj = Student.objects.get(id=data['student']) subject.student = student_obj if 'section' in data: section_obj = Section.objects.get(id=data['section']) subject.section = section_obj #agregar la validacion de datos subject.save() return HttpResponse(status=204) else: return HttpResponse(status=500) elif request.method == 'DELETE': if subject_id != None: subject_obj = Subject.objects.get(id=subject_id) if not subject_obj == None: subject_obj.delete() return HttpResponse(status=204) else: return HttpResponse(status=500) return HttpResponse(status=400)
def master(request, master_id=None): # if not request.user.is_authenticated(): # return HttpResponse(unicode('Usuario sin autenticacion'), status=500) # else: if (request.method == 'GET'): if (master_id == None): data = request.GET if validate_data(data, attrs=['operation', 'master_name']): if data['operation'] == "5": try: maestria = Master.objects.get(name=data['master_name']) if maestria != None: json_response = json.dumps(maestria.to_dict()) print(json_response) return HttpResponse(json_response, status=200, content_type='application/json') else: error = error_json(2, "No existe la maestría") return HttpResponse(error, status=500, content_type='application/json') except Exception as e: error = error_json(2, "No existe la maestría") return HttpResponse(error, status=500, content_type='application/json') else: error = error_json(2, "No existe la maestría") return HttpResponse(error, status=500, content_type='application/json') else: response = list_masters() json_response = json.dumps(response) return HttpResponse(json_response, status=200, content_type='application/json') else: data = request.GET if validate_data(data, attrs=['operation', 'master_name']): if "operation" in data: if data['operation'] == "1": obj_pensumes_lista = dar_pensum_set(master_id) json_response = json.dumps(obj_pensumes_lista) if not obj_pensumes_lista: error = error_json(2, "No existe pensum") return HttpResponse(error, status=500, content_type='application/json') else: return HttpResponse(json_response, status=200, content_type='application/json') if data['operation'] == "2": obj_estudiantes_lista = dar_estudiantes_de_maestria(master_id) json_response = json.dumps(obj_estudiantes_lista) return HttpResponse(json_response, status=200, content_type='application/json') if data['operation'] == "3": obj_estudiantes_lista = dar_estudiantes_proyecto_grado(master_id) json_response = json.dumps(obj_estudiantes_lista) return HttpResponse(json_response, status=200, content_type='application/json') if data['operation'] == "4": generar_reportes() json_response = json.dumps({"mensaje": "Reportes generados correctamente"}) return HttpResponse(json_response, status=200, content_type='application/json') else: error = error_json(4, "No existe la operación") return HttpResponse(error, status=500, content_type='application/json') else: master = Master.objects.get(id=master_id) json_response = json.dumps(master.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') elif request.method == 'POST': data = request.DATA if validate_data(data, attrs=['operation', 'name']): if 'operation' in data: if master_id==None: error = error_json(4,"Se debe agregar el id de la maestría") return HttpResponse(error, status=500,content_type='application/json') else: master = Master.objects.create(name=data['name']) json_response = json.dumps(master.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: return HttpResponse(status=500) elif request.method == 'PUT': data = request.DATA if master_id != None: if validate_data(data, attrs=['name', 'active', 'operation','code_studen', 'email_studen', 'lastname_studen', 'name_studen']): if 'operation' in data: if data['operation'] == "1": name = data['name'] active = data['active'] obj_pensum = crear_pensum(name=name, active=active, master=master_id) json_response = json.dumps(obj_pensum.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') elif data['operation'] == "2": code_studen= data['code_studen'] email_studen = data['email_studen'] lastname_studen = data['lastname_studen'] name_studen = data['name_studen'] student_obj = crear_student(code_studen,email_studen,lastname_studen,name_studen,master_id) json_response = json.dumps(student_obj.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: master = Master.objects.get(id=master_id) if 'name' in data: master.name = data['name'] master.save() return HttpResponse(status=204) else: return HttpResponse(status=500) elif request.method == 'DELETE': if master_id != None: master = Master.objects.get(id=master_id) if not master == None: master.delete() return HttpResponse(status=204) else: return HttpResponse(status=500) return HttpResponse(status=400)
def section(request, section_id=None): # if not request.user.is_authenticated(): # return HttpResponse(unicode('Usuario sin autenticacion'),status=500) # else: if (request.method == 'GET'): if (section_id == None): response = list_sections() json_response = json.dumps(response) return HttpResponse(json_response, status=200, content_type='application/json') else: data = request.GET if validate_data(data, attrs=['operation', 'crn']): if "operation" in data: if data['operation'] == "1": if section_id!=None: capacidad = dar_capacidad(id_seccion=section_id) json_response = json.dumps(capacidad) return HttpResponse(json_response, status=200, content_type='application/json') if data['operation'] == "2": if section_id!=None: notas = dar_notas_seccion(id_seccion=section_id) json_response = json.dumps(notas) return HttpResponse(json_response, status=200, content_type='application/json') if data['operation'] == '6': if section_id!=None: seccion = dar_seccion_crn(section_id) json_response = json.dumps(seccion.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: error = error_json(1, "No existe la operació") return HttpResponse(error, status=200, content_type='application/json') else: try: section = Section.objects.get(id=section_id) json_response = json.dumps(section.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') except Exception as e: error = error_json(2, "No existe la sección") return HttpResponse(error, status=500, content_type='application/json') elif request.method == 'POST': data = request.DATA if validate_data(data, attrs=['operation', 'crn', 'name', 'semester', 'year', 'teacher', 'course', 'code_student', 'grade', 'status', 'jsoncapacidad']): if "operation" in data: if section_id==None: error = error_json(3, "Se debe agregar el id de la sección") return HttpResponse(error, status=500,content_type='application/json') else: print("operacion") if data['operation'] == 4: if section_id!=None: notas = cambiar_estado(id_section=section_id, estado=data['status']) if notas == None: error = error_json(5, "Verificar datos") return HttpResponse(error, status=500, content_type='application/json') json_response = json.dumps(notas.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') if data['operation'] == 3: notas = agergar_nota(code_student=data['code_student'], id_section=section_id, grade=data['grade']) if notas == None: error = error_json(5, "Verificar datos") return HttpResponse(error, status=500, content_type='application/json') json_response = json.dumps(notas.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') if data['operation'] == 5: #Se agrega la capacidad de estudaintes a la seccion seccion = dar_seccion_crn(section_id) capacity = data['jsoncapacidad'] capList=[] valor ={} try: capacity=json.loads(capacity) except Exception as e: None for capacidad in capacity: rta = Capacity.objects.create(name=capacidad, capacity=capacity[capacidad], section=seccion) valor[rta.name] = rta.capacity capList.append(valor) return HttpResponse(capList, status=200, content_type='application/json') else: error = error_json(1, "No existe la operació") return HttpResponse(error, status=500, content_type='application/json') else: lista_attrs = list() lista_attrs.append('crn') lista_attrs.append('name') lista_attrs.append('semester') lista_attrs.append('year') lista_attrs.append('teacher') lista_attrs.append('course') lista_attrs.append('status') if validate_data(data, attrs=lista_attrs): if data['teacher'] == None: v_teacher = None else: v_teacher = Teacher.objects.get(id=data['teacher']) course_obj = Course.objects.get(id=data['course']) section = Section.objects.create(crn=data['crn'], name=data['name'], semester=data['semester'], year=data['year'], status=data['status'], course=course_obj) if v_teacher != None: section.teacher = v_teacher section.save() json_response = json.dumps(section.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: error = error_json(1, "Parametros de ceracion de Seccion" + data) return HttpResponse(error, status=500, content_type='application/json') else: error = error_json(1, "Parametros incorrectos") return HttpResponse(error, status=500, content_type='application/json') elif request.method == 'PUT': data = request.DATA if section_id != None: section = Section.objects.get(id=section_id) if 'crn' in data: section.crn = data['crn'] if 'name' in data: section.name = data['name'] if 'semester' in data: section.semester = data['semester'] if 'year' in data: section.year = data['year'] if 'teacher' in data: teacher_obj = Teacher.objects.get(id=data['teacher']) section.teacher = teacher_obj if 'course' in data: course_obj = Course.objects.get(id=data['course']) section.course = course_obj section.save() return HttpResponse(status=204) else: return HttpResponse(status=500) elif request.method == 'DELETE': if section_id is not None: section_obj = Section.objects.get(id=section_id) if not section_obj is None: section_obj.delete() return HttpResponse(status=204) else: return HttpResponse(status=500) return HttpResponse(status=400)
def teacher(request, teacher_id=None): # if not request.user.is_authenticated(): # return HttpResponse(unicode('Usuario sin autenticacion'),status=500) # else: if (request.method == 'GET'): if (teacher_id == None): response = list_teachers() json_response = json.dumps(response) return HttpResponse(json_response, status=200, content_type='application/json') else: data = request.GET if validate_data(data, attrs=['operation']): if "operation" in data: if data['operation'] == "1": try: teacher = Teacher.objects.get(code=teacher_id) if teacher != None: json_response = json.dumps(teacher.to_dict()) return HttpResponse( json_response, status=200, content_type='application/json') else: error = error_json( 2, "No existe el profesor:" + str(teacher_id)) return HttpResponse( error, status=500, content_type='application/json') except Exception as e: error = error_json( 2, "No existe el profesor:" + str(teacher_id)) return HttpResponse( error, status=500, content_type='application/json') else: teacher = Teacher.objects.get(id=teacher_id) if teacher != None: json_response = json.dumps(teacher.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: error = error_json( 2, "No existe el profesor:" + str(teacher_id)) return HttpResponse(error, status=500, content_type='application/json') elif request.method == 'POST': data = request.DATA lista_attrs = list() lista_attrs.append('code') lista_attrs.append('email') lista_attrs.append('lastname') lista_attrs.append('name') if validate_data(data, attrs=lista_attrs): try: parametros = {} if 'code' in data: parametros.update({'code': data['code']}) if 'email' in data: parametros.update({'email': data['email']}) if 'lastname' in data: parametros.update({'lastname': data['lastname']}) if 'name' in data: parametros.update({'name': data['name']}) teacher = Teacher.objects.create(**parametros) json_response = json.dumps(teacher.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') except Exception as e: error = error_json(3, "No se creo el profesor " + str(e)) return HttpResponse(error, status=500, content_type='application/json') else: return HttpResponse(status=500) elif request.method == 'PUT': data = request.DATA if teacher_id != None: course = Teacher.objects.get(id=teacher_id) if 'code' in data: course.code = data['code'] if 'email' in data: course.email = data['email'] if 'lastname' in data: course.lastname = data['lastname'] if 'name' in data: course.name = data['name'] course.save() return HttpResponse(status=204) else: return HttpResponse(status=500) elif request.method == 'DELETE': if teacher_id != None: teacher_obj = Teacher.objects.get(id=teacher_id) if not teacher_obj == None: teacher_obj.delete() return HttpResponse(status=204) else: return HttpResponse(status=500) return HttpResponse(status=400)
def pensum(request, pensum_id=None): # if not request.user.is_authenticated(): # return HttpResponse(unicode('Usuario sin autenticacion'),status=500) # else: if (request.method == 'GET'): if (pensum_id == None): response = list_pensums() json_response = json.dumps(response) return HttpResponse(json_response, status=200, content_type='application/json') else: data = request.GET if validate_data(data, attrs=['operation']): if "operation" in data: if data['operation'] == "1": if pensum_id == None: return HttpResponse( unicode('Se debe agregar el id del pensum'), status=500) response = dar_cursos_pensum(pensum_id) json_response = json.dumps(response) if response != None: return HttpResponse( json_response, status=200, content_type='application/json') else: error = error_json(2, "No existe plan de estudios") return HttpResponse( error, status=500, content_type='application/json') else: error = error_json(4, "No existe la operación") return HttpResponse(error, status=500, content_type='application/json') else: pensum = Pensum.objects.get(id=pensum_id) json_response = json.dumps(pensum.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') elif request.method == 'POST': data = request.DATA if validate_data(data, attrs=['operation', 'name', 'active', 'master_id']): master_obj = Master.objects.get(id=data['master_id']) pensum = Pensum.objects.create(name=data['name'], active=data['active'], master=master_obj) json_response = json.dumps(pensum.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: return HttpResponse(status=500) elif request.method == 'PUT': data = request.DATA if pensum_id != None: if validate_data(data, attrs=[ 'name', 'active', 'operation', 'code_course', 'summer', 'name', 'credits' ]): if 'operation' in data: if data['operation'] == "1": codigo_curso = data['code_course'] summer = data['summer'] name = data['name'] credits = data['credits'] obj_curso = agregar_curso(id_pensum=pensum_id, code=codigo_curso, summer=summer, name=name, credits=credits) json_response = json.dumps(obj_curso.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: pensum = Pensum.objects.get(id=pensum_id) if 'name' in data: pensum.name = data['name'] if 'active' in data: if data['active'] == 'True': pensum.active = True elif data['active'] == 'False': pensum.active = False pensum.save() return HttpResponse(status=204) else: return HttpResponse(status=500) elif request.method == 'DELETE': if pensum_id != None: pensum = Pensum.objects.get(id=pensum_id) pensum.active = False pensum.save() return HttpResponse(status=204) else: return HttpResponse(status=500) return HttpResponse(status=400)
def student(request, student_id=None): # if not request.user.is_authenticated(): # return HttpResponse(unicode('Usuario sin autenticacion'), status=500) # else: if request.method == 'GET': if student_id is None: response = list_students() json_response = json.dumps(response) return HttpResponse(json_response, status=200, content_type='application/json') else: data = request.GET if validate_data(data, attrs=['operation', 'code_curso']): if "operation" in data: if data['operation'] == "1": notas = dar_notas(id_student=student_id) json_response = json.dumps(notas) return HttpResponse(json_response, status=200, content_type='application/json') if data['operation'] == "6": try: student = Student.objects.get(code=student_id) if student != None: json_response = json.dumps(student.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: error = error_json(2, "No existe el estudiante") return HttpResponse(error, status=500, content_type='application/json') except Exception as e: error = error_json(2, "No existe el estudiante") return HttpResponse(error, status=500, content_type='application/json') if data['operation'] == "3": plan = dar_scheme(student_id) if plan != None: json_response = json.dumps(plan.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: error = error_json(2, "No existe plan de estudios") return HttpResponse(error, status=500, content_type='application/json') if data['operation'] == "4": nota = ingles_aprobado(id_student=student_id) if nota != None: if nota == False: json_response = json.dumps({"Respuesta": "No tiene aprobado Ingles"}) return HttpResponse(json_response, status=200, content_type='application/json') else: json_response = json.dumps(nota.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: error = error_json(2, "No existe el estudiante") return HttpResponse(error, status=500, content_type='application/json') if data['operation'] == "5": nota = tiene_cruso_aprobado(id_student=student_id, code_curso_temp=data['code_curso']) if nota != None: if nota == False: json_response = json.dumps({"Respuesta": "No tiene el curso " + data['code_curso'] + " aprobado"}) return HttpResponse(json_response, status=500, content_type='application/json') else: json_response = json.dumps(nota.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: error = error_json(2, "No existe el estudiante") return HttpResponse(error, status=500, content_type='application/json') if data['operation'] == "7": cursos = total_cursos_maestria_elect(student_id) son_response = json.dumps(cursos) return HttpResponse(son_response, status=200, content_type='application/json') if data['operation'] == "8": cursos = tiene_proyecto_grado(student_id) if cursos == False: rta = {"Respuesta": "No tiene proyecto de grado"} return HttpResponse(json.dumps(rta), status=500, content_type='application/json') else: son_response = json.dumps(cursos) return HttpResponse(son_response, status=200, content_type='application/json') else: try: student = Student.objects.get(id=student_id) if student != None: json_response = json.dumps(student.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') except Exception as e: error = error_json(3, "No se existe el estudiante: " + str(e)) return HttpResponse(error, status=500, content_type='application/json') else: error = error_json(2, "No existe el estudiante") return HttpResponse(error, status=500, content_type='application/json') elif request.method == 'POST': data = request.DATA if validate_data(data, attrs=['operation', 'master_id', 'code', 'email', 'lastname', 'name', 'student_status', 'nombre', 'curso1', 'curso2', 'curso3', 'curso4', 'curso5', 'curso6', 'curso7', 'curso8', 'curso9', 'curso10', 'code_curso']): if "operation" in data: if student_id == None: error = error_json(4, "Se debe agregar el id del estudiante") return HttpResponse(error, status=500, content_type='application/json') else: if data['operation'] == "2": plan = crear_plan_studios(student_id, data['nombre'], data['curso1'], data['curso2'], data['curso3'], data['curso4'], data['curso5'], data['curso6'], data['curso7'], data['curso8'], data['curso9'], data['curso10']) json_response = json.dumps(plan.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: lista_attrs = list() lista_attrs.append('master_id') lista_attrs.append('code') lista_attrs.append('email') lista_attrs.append('lastname') lista_attrs.append('name') lista_attrs.append('student_status') if validate_data(data, attrs=lista_attrs): #agregar la validacion del objeto try: parametros = {} if 'code' in data: parametros.update({'code': data['code']}) if 'email' in data: parametros.update({'email': data['email']}) if 'lastname' in data: parametros.update({'lastname': data['lastname']}) if 'name' in data: parametros.update({'name': data['name']}) if 'student_status' in data: parametros.update({'student_status': data['student_status']}) if 'master_id' in data: parametros.update({'master': Master.objects.get(id=data['master_id'])}) #master_obj = Master.objects.get(id=data['master_id']) student = Student.objects.create(**parametros) # student = Student.objects.create(code=data['code'], # email=data['email'], # lastname=data['lastname'], # name=data['name'], # student_status=data['student_status'], # master=master_obj # ) json_response = json.dumps(student.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') except Exception as e: error = error_json(3, "No se creo el estudiante " + str(e)) return HttpResponse(error, status=500, content_type='application/json') else: error = error_json(3, "No se creo el estudiante") return HttpResponse(error, status=500, content_type='application/json') elif request.method == 'PUT': data = request.DATA print("Entro") if student_id is not None: print("Entro2") vstudent = Student.objects.get(id=student_id) if 'code' in data: vstudent.code = data['code'] if 'email' in data: vstudent.email = data['email'] if 'lastname' in data: vstudent.lastname = data['lastname'] if 'name' in data: vstudent.name = data['name'] if 'student_status' in data: vstudent.student_status = data['student_status'] #if 'total_approved_credits' in data: # student.total_approved_credits = data['total_approved_credits'] #if 'total_credits_actual_semester' in data: # student.total_credits_actual_semester = data['total_credits_actual_semester'] #agregar la validacion de datos vstudent.save() return HttpResponse(status=204) else: print("Entro3") return HttpResponse(status=500) elif request.method == 'DELETE': if student_id is not None: student_obj = Student.objects.get(id=student_id) if student_obj is not None: student_obj.delete() return HttpResponse(status=204) else: return HttpResponse(status=500) return HttpResponse(status=400)
def student(request, student_id=None): # if not request.user.is_authenticated(): # return HttpResponse(unicode('Usuario sin autenticacion'), status=500) # else: if request.method == 'GET': if student_id is None: response = list_students() json_response = json.dumps(response) return HttpResponse(json_response, status=200, content_type='application/json') else: data = request.GET if validate_data(data, attrs=['operation', 'code_curso']): if "operation" in data: if data['operation'] == "1": notas = dar_notas(id_student=student_id) json_response = json.dumps(notas) return HttpResponse(json_response, status=200, content_type='application/json') if data['operation'] == "6": try: student = Student.objects.get(code=student_id) if student != None: json_response = json.dumps(student.to_dict()) return HttpResponse( json_response, status=200, content_type='application/json') else: error = error_json(2, "No existe el estudiante") return HttpResponse( error, status=500, content_type='application/json') except Exception as e: error = error_json(2, "No existe el estudiante") return HttpResponse( error, status=500, content_type='application/json') if data['operation'] == "3": plan = dar_scheme(student_id) if plan != None: json_response = json.dumps(plan.to_dict()) return HttpResponse( json_response, status=200, content_type='application/json') else: error = error_json(2, "No existe plan de estudios") return HttpResponse( error, status=500, content_type='application/json') if data['operation'] == "4": nota = ingles_aprobado(id_student=student_id) if nota != None: if nota == False: json_response = json.dumps( {"Respuesta": "No tiene aprobado Ingles"}) return HttpResponse( json_response, status=200, content_type='application/json') else: json_response = json.dumps(nota.to_dict()) return HttpResponse( json_response, status=200, content_type='application/json') else: error = error_json(2, "No existe el estudiante") return HttpResponse( error, status=500, content_type='application/json') if data['operation'] == "5": nota = tiene_cruso_aprobado( id_student=student_id, code_curso_temp=data['code_curso']) if nota != None: if nota == False: json_response = json.dumps({ "Respuesta": "No tiene el curso " + data['code_curso'] + " aprobado" }) return HttpResponse( json_response, status=500, content_type='application/json') else: json_response = json.dumps(nota.to_dict()) return HttpResponse( json_response, status=200, content_type='application/json') else: error = error_json(2, "No existe el estudiante") return HttpResponse( error, status=500, content_type='application/json') if data['operation'] == "7": cursos = total_cursos_maestria_elect(student_id) son_response = json.dumps(cursos) return HttpResponse(son_response, status=200, content_type='application/json') if data['operation'] == "8": cursos = tiene_proyecto_grado(student_id) if cursos == False: rta = {"Respuesta": "No tiene proyecto de grado"} return HttpResponse( json.dumps(rta), status=500, content_type='application/json') else: son_response = json.dumps(cursos) return HttpResponse( son_response, status=200, content_type='application/json') else: try: student = Student.objects.get(id=student_id) if student != None: json_response = json.dumps(student.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') except Exception as e: error = error_json(3, "No se existe el estudiante: " + str(e)) return HttpResponse(error, status=500, content_type='application/json') else: error = error_json(2, "No existe el estudiante") return HttpResponse(error, status=500, content_type='application/json') elif request.method == 'POST': data = request.DATA if validate_data(data, attrs=[ 'operation', 'master_id', 'code', 'email', 'lastname', 'name', 'student_status', 'nombre', 'curso1', 'curso2', 'curso3', 'curso4', 'curso5', 'curso6', 'curso7', 'curso8', 'curso9', 'curso10', 'code_curso' ]): if "operation" in data: if student_id == None: error = error_json(4, "Se debe agregar el id del estudiante") return HttpResponse(error, status=500, content_type='application/json') else: if data['operation'] == "2": plan = crear_plan_studios( student_id, data['nombre'], data['curso1'], data['curso2'], data['curso3'], data['curso4'], data['curso5'], data['curso6'], data['curso7'], data['curso8'], data['curso9'], data['curso10']) json_response = json.dumps(plan.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: lista_attrs = list() lista_attrs.append('master_id') lista_attrs.append('code') lista_attrs.append('email') lista_attrs.append('lastname') lista_attrs.append('name') lista_attrs.append('student_status') if validate_data(data, attrs=lista_attrs): #agregar la validacion del objeto try: parametros = {} if 'code' in data: parametros.update({'code': data['code']}) if 'email' in data: parametros.update({'email': data['email']}) if 'lastname' in data: parametros.update({'lastname': data['lastname']}) if 'name' in data: parametros.update({'name': data['name']}) if 'student_status' in data: parametros.update( {'student_status': data['student_status']}) if 'master_id' in data: parametros.update({ 'master': Master.objects.get(id=data['master_id']) }) #master_obj = Master.objects.get(id=data['master_id']) student = Student.objects.create(**parametros) # student = Student.objects.create(code=data['code'], # email=data['email'], # lastname=data['lastname'], # name=data['name'], # student_status=data['student_status'], # master=master_obj # ) json_response = json.dumps(student.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') except Exception as e: error = error_json( 3, "No se creo el estudiante " + str(e)) return HttpResponse(error, status=500, content_type='application/json') else: error = error_json(3, "No se creo el estudiante") return HttpResponse(error, status=500, content_type='application/json') elif request.method == 'PUT': data = request.DATA print("Entro") if student_id is not None: print("Entro2") vstudent = Student.objects.get(id=student_id) if 'code' in data: vstudent.code = data['code'] if 'email' in data: vstudent.email = data['email'] if 'lastname' in data: vstudent.lastname = data['lastname'] if 'name' in data: vstudent.name = data['name'] if 'student_status' in data: vstudent.student_status = data['student_status'] #if 'total_approved_credits' in data: # student.total_approved_credits = data['total_approved_credits'] #if 'total_credits_actual_semester' in data: # student.total_credits_actual_semester = data['total_credits_actual_semester'] #agregar la validacion de datos vstudent.save() return HttpResponse(status=204) else: print("Entro3") return HttpResponse(status=500) elif request.method == 'DELETE': if student_id is not None: student_obj = Student.objects.get(id=student_id) if student_obj is not None: student_obj.delete() return HttpResponse(status=204) else: return HttpResponse(status=500) return HttpResponse(status=400)
def master(request, master_id=None): # if not request.user.is_authenticated(): # return HttpResponse(unicode('Usuario sin autenticacion'), status=500) # else: if (request.method == 'GET'): if (master_id == None): data = request.GET if validate_data(data, attrs=['operation', 'master_name']): if data['operation'] == "5": try: maestria = Master.objects.get(name=data['master_name']) if maestria != None: json_response = json.dumps(maestria.to_dict()) print(json_response) return HttpResponse( json_response, status=200, content_type='application/json') else: error = error_json(2, "No existe la maestría") return HttpResponse( error, status=500, content_type='application/json') except Exception as e: error = error_json(2, "No existe la maestría") return HttpResponse(error, status=500, content_type='application/json') else: error = error_json(2, "No existe la maestría") return HttpResponse(error, status=500, content_type='application/json') else: response = list_masters() json_response = json.dumps(response) return HttpResponse(json_response, status=200, content_type='application/json') else: data = request.GET if validate_data(data, attrs=['operation', 'master_name']): if "operation" in data: if data['operation'] == "1": obj_pensumes_lista = dar_pensum_set(master_id) json_response = json.dumps(obj_pensumes_lista) if not obj_pensumes_lista: error = error_json(2, "No existe pensum") return HttpResponse( error, status=500, content_type='application/json') else: return HttpResponse( json_response, status=200, content_type='application/json') if data['operation'] == "2": obj_estudiantes_lista = dar_estudiantes_de_maestria( master_id) json_response = json.dumps(obj_estudiantes_lista) return HttpResponse(json_response, status=200, content_type='application/json') if data['operation'] == "3": obj_estudiantes_lista = dar_estudiantes_proyecto_grado( master_id) json_response = json.dumps(obj_estudiantes_lista) return HttpResponse(json_response, status=200, content_type='application/json') if data['operation'] == "4": generar_reportes() json_response = json.dumps( {"mensaje": "Reportes generados correctamente"}) return HttpResponse(json_response, status=200, content_type='application/json') else: error = error_json(4, "No existe la operación") return HttpResponse(error, status=500, content_type='application/json') else: master = Master.objects.get(id=master_id) json_response = json.dumps(master.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') elif request.method == 'POST': data = request.DATA if validate_data(data, attrs=['operation', 'name']): if 'operation' in data: if master_id == None: error = error_json(4, "Se debe agregar el id de la maestría") return HttpResponse(error, status=500, content_type='application/json') else: master = Master.objects.create(name=data['name']) json_response = json.dumps(master.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: return HttpResponse(status=500) elif request.method == 'PUT': data = request.DATA if master_id != None: if validate_data(data, attrs=[ 'name', 'active', 'operation', 'code_studen', 'email_studen', 'lastname_studen', 'name_studen' ]): if 'operation' in data: if data['operation'] == "1": name = data['name'] active = data['active'] obj_pensum = crear_pensum(name=name, active=active, master=master_id) json_response = json.dumps(obj_pensum.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') elif data['operation'] == "2": code_studen = data['code_studen'] email_studen = data['email_studen'] lastname_studen = data['lastname_studen'] name_studen = data['name_studen'] student_obj = crear_student(code_studen, email_studen, lastname_studen, name_studen, master_id) json_response = json.dumps(student_obj.to_dict()) return HttpResponse(json_response, status=200, content_type='application/json') else: master = Master.objects.get(id=master_id) if 'name' in data: master.name = data['name'] master.save() return HttpResponse(status=204) else: return HttpResponse(status=500) elif request.method == 'DELETE': if master_id != None: master = Master.objects.get(id=master_id) if not master == None: master.delete() return HttpResponse(status=204) else: return HttpResponse(status=500) return HttpResponse(status=400)