Beispiel #1
0
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)
Beispiel #3
0
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)
Beispiel #4
0
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)
Beispiel #7
0
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)
Beispiel #8
0
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)
Beispiel #10
0
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)
Beispiel #11
0
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)