예제 #1
0
 def get(self, id):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     alumno = Alumno.load_from_token(token)
     apoderado = Apoderado.load_from_token(token)
     administrador = Administrador.load_from_token(token)
     profesor = Profesor.load_from_token(token)
     if alumno == None and apoderado == None and administrador == None and profesor == None:
         return {'response': 'user_invalid'},401
     return Colegio.objects(id=id).first().to_dict()
예제 #2
0
 def delete(self, id):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     profesor = Profesor.load_from_token(token)
     if profesor == None:
         return {'response': 'user_invalid'}, 401
     prueba = Prueba.objects(id=id).first()
     prueba.activo = False
     prueba.save()
     return {'Response': 'borrado'}
예제 #3
0
 def post(self):
     file = request.files["file"]
     lista = excel_read(file)
     args = self.reqparse.parse_args()
     prueba_id = args.get('prueba_id')
     token = args.get('auth-token')
     profesor = Profesor.load_from_token(token)
     if profesor == None:
         return {'response': 'user_invalid'}, 401
     return Prueba.load_preguntas(lista, prueba_id)
예제 #4
0
 def get(self):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     alumno = Alumno.load_from_token(token)
     apoderado = Apoderado.load_from_token(token)
     administrador = Administrador.load_from_token(token)
     profesor = Profesor.load_from_token(token)
     if alumno == None and apoderado == None and administrador == None and profesor == None:
         return {'response': 'user_invalid'}, 401
     return json.loads(Observacion.objects().all().to_json())
예제 #5
0
    def post(self, id):
        args = self.reqparse.parse_args()
        token = args.get('auth-token')
        profesor = Profesor.load_from_token(token)
        data = request.data.decode()
        data = json.loads(data)
        prueba = Prueba.objects(id=id).first()
        for registro in data['data']:
            evaluacion = Evaluacion()
            cantidad_buenas = 0
            cantidad_malas = 0
            cantidad_omitidas = 0
            alumno = Alumno.objects(id=registro['id']).first()
            evaluacion.alumno = alumno
            evaluacion.prueba = prueba
            for pregunta in prueba.preguntas:
                respuesta = Respuesta()
                respuesta.numero_pregunta = pregunta.numero_pregunta
                if registro[str(pregunta.numero_pregunta)] == "":
                    cantidad_omitidas = cantidad_omitidas + 1
                    respuesta.correcta = False
                    if prueba.tipo != "TAREA":
                        respuesta.alternativa = "O"
                else:
                    if prueba.tipo != "TAREA":
                        if registro[str(pregunta.numero_pregunta)].upper(
                        ) == pregunta.alternativa.upper():
                            cantidad_buenas = cantidad_buenas + 1
                            respuesta.correcta = True
                            respuesta.alternativa = str(registro[str(
                                pregunta.numero_pregunta)].upper())
                        else:
                            cantidad_malas = cantidad_malas + 1
                            respuesta.correcta = False
                            respuesta.alternativa = str(registro[str(
                                pregunta.numero_pregunta)].upper())
                    else:
                        if registro[str(pregunta.numero_pregunta)].upper(
                        ) == "CORRECTA":
                            cantidad_buenas = cantidad_buenas + 1
                            respuesta.correcta = True

                        if registro[str(pregunta.numero_pregunta)].upper(
                        ) == "INCORRECTA":
                            cantidad_malas = cantidad_malas + 1
                            respuesta.correcta = False
                evaluacion.respuestas.append(respuesta)
            evaluacion.cantidad_buenas = cantidad_buenas
            evaluacion.cantidad_malas = cantidad_malas
            evaluacion.cantidad_omitidas = cantidad_omitidas
            evaluacion.puntaje = int((
                (850 - prueba.puntaje_base) / len(prueba.preguntas)) *
                                     cantidad_buenas + prueba.puntaje_base)
            evaluacion.save()
        return {'Response': 'exito'}
예제 #6
0
 def put(self, id_evaluacion):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     profesor = Profesor.load_from_token(token)
     if profesor == None:
         return {'response': 'user_invalid'}, 401
     evaluacion = Evaluacion.objects(id=id_evaluacion).first()
     data = request.data.decode()
     data = json.loads(data)
     evaluacion.puntaje = int(data['puntaje'])
     evaluacion.save()
     return {'Response': 'exito'}, 200
예제 #7
0
 def delete(self, id):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     alumno = Alumno.load_from_token(token)
     apoderado = Apoderado.load_from_token(token)
     administrador = Administrador.load_from_token(token)
     profesor = Profesor.load_from_token(token)
     if alumno == None and apoderado == None and administrador == None and profesor == None:
         return {'response': 'user_invalid'}, 401
     evento = Evento.objects(id=id).first()
     evento.delete()
     return {'Response': 'exito'}
예제 #8
0
 def delete(self, id):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     alumno = Alumno.load_from_token(token)
     apoderado = Apoderado.load_from_token(token)
     administrador = Administrador.load_from_token(token)
     profesor = Profesor.load_from_token(token)
     if alumno == None and apoderado == None and administrador == None and profesor == None:
         return {'response': 'user_invalid'}, 401
     topico = Topico.objects(id=id).first()
     topico.activo = False
     topico.save()
     return {"Response": "borrado"}
예제 #9
0
 def post(self):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     profesor = Profesor.load_from_token(token)
     if profesor == None:
         return {'response': 'user_invalid'}, 401
     data = request.data.decode()
     data = json.loads(data)
     topico = Topico()
     topico.nombre = data['nombre']
     topico.asignatura = profesor.asignatura.id
     topico.save()
     return {'Response': 'exito'}
예제 #10
0
 def get(self):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     alumno = Alumno.load_from_token(token)
     apoderado = Apoderado.load_from_token(token)
     administrador = Administrador.load_from_token(token)
     profesor = Profesor.load_from_token(token)
     if alumno == None and apoderado == None and administrador == None and profesor == None:
         return {'response': 'user_invalid'}, 401
     response = []
     for asistencia in Asistencia.objects().all():
         response.append(asistencia.to_dict_short())
     return response
예제 #11
0
 def get(self):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     administrador = Administrador.load_from_token(token)
     profesor = Profesor.load_from_token(token)
     if administrador == None and profesor == None:
         return {'response': 'user_invalid'}, 401
     response = []
     eventos = Evento.objects().all()
     for evento in eventos:
         if evento.activo is False:
             response.append(evento.to_dict())
     return response
예제 #12
0
 def delete(self, id):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     alumno = Alumno.load_from_token(token)
     apoderado = Apoderado.load_from_token(token)
     administrador = Administrador.load_from_token(token)
     profesor = Profesor.load_from_token(token)
     if alumno == None and apoderado == None and administrador == None and profesor == None:
         return {'response': 'user_invalid'}, 401
     justificacion = Justificacion.objects(id=id).first()
     justificacion.activo = False
     justificacion.save()
     return {'Response': 'exito'}
예제 #13
0
 def get(self, id_prueba):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     alumno = Alumno.load_from_token(token)
     apoderado = Apoderado.load_from_token(token)
     administrador = Administrador.load_from_token(token)
     profesor = Profesor.load_from_token(token)
     if alumno == None and apoderado == None and administrador == None and profesor == None:
         return {'response': 'user_invalid'}, 401
     columnDefs = []
     columnDefs.append({
         'headerName': 'Nombres',
         'field': 'nombres',
         'sortable': True
     })
     columnDefs.append({
         'headerName': 'Apellido Paterno',
         'field': 'apellido_paterno',
         'sortable': True
     })
     columnDefs.append({
         'headerName': 'Apellido Materno',
         'field': 'apellido_materno',
         'sortable': True
     })
     columnDefs.append({
         'headerName': 'Rut',
         'field': 'rut',
         'sortable': True
     })
     prueba = Prueba.objects(id=id_prueba).first()
     for pregunta in prueba.preguntas:
         if prueba.tipo == "ENSAYO" or prueba.tipo == "TALLER":
             columnDefs.append({
                 'headerName': str(pregunta.numero_pregunta),
                 'field': str(pregunta.numero_pregunta),
                 'editable': True,
                 'width': 40
             })
         if prueba.tipo == "TAREA":
             columnDefs.append({
                 'headerName': str(pregunta.numero_pregunta),
                 'field': str(pregunta.numero_pregunta),
                 'editable': True,
                 'width': 80,
                 'cellEditor': 'select',
                 'cellEditorParams': {
                     'values': ['correcta', 'incorrecta']
                 }
             })
     return columnDefs
예제 #14
0
 def get(self):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     alumno = Alumno.load_from_token(token)
     apoderado = Apoderado.load_from_token(token)
     administrador = Administrador.load_from_token(token)
     profesor = Profesor.load_from_token(token)
     if alumno == None and apoderado == None and administrador == None and profesor == None:
         return {'response': 'user_invalid'}, 401
     cursos = []
     for curso in Curso.objects().all():
         if curso.activo:
             cursos.append(curso.to_dict())
     return cursos
예제 #15
0
 def get(self,id_recurso):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     userAdmin = Administrador.load_from_token(token)
     userProf = Profesor.load_from_token(token)
     if userAdmin == None and userProf == None:
         return {'response': 'user_invalid'}, 401
     recurso = Curso.objects(id=id_recurso).first()
     if recurso == None:
         return {'response': 'resorce_invalid'},404
     response = []
     for evaluacion in Evaluacion.objects(curso=recurso.id).all():
         response.append(evaluacion.to_dict())
     return response
예제 #16
0
 def get(self):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     profesor = Profesor.load_from_token(token)
     cursos = []
     if profesor == None:
         return {'response': 'user_invalid'}, 401
     for curso in Curso.objects().all():
         if profesor.asignatura in curso.asignaturas:
             cursos.append({
                 "id": str(curso.id),
                 "nombre": str(curso.nombre)
             })
     return cursos
예제 #17
0
 def get(self, id, tipo):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     alumno = Alumno.load_from_token(token)
     apoderado = Apoderado.load_from_token(token)
     administrador = Administrador.load_from_token(token)
     profesor = Profesor.load_from_token(token)
     if alumno == None and apoderado == None and administrador == None and profesor == None:
         return {'response': 'user_invalid'}, 401
     response = []
     observaciones = Observacion.objects(alumno=id, tipo=tipo).all()
     for observacion in observaciones:
         response.append(observacion.to_dict())
     return response
예제 #18
0
 def get(self):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     alumno = Alumno.load_from_token(token)
     apoderado = Apoderado.load_from_token(token)
     administrador = Administrador.load_from_token(token)
     profesor = Profesor.load_from_token(token)
     if alumno == None and apoderado == None and administrador == None and profesor == None:
         return {'response': 'user_invalid'}, 401
     response = []
     asignatura = Asignatura.objects(id=profesor.asignatura.id).first()
     for alerta in Alerta.objects(asignatura=asignatura.id).all():
         response.append(alerta.to_dict())
     return response
예제 #19
0
 def get(self, id):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     alumno = Alumno.load_from_token(token)
     apoderado = Apoderado.load_from_token(token)
     administrador = Administrador.load_from_token(token)
     profesor = Profesor.load_from_token(token)
     if alumno == None and apoderado == None and administrador == None and profesor == None:
         return {'response': 'user_invalid'}, 401
     response = []
     for alerta in Alerta.objects().all():
         if str(alerta.alumno.curso.id) == str(id):
             response.append(alerta.to_dict())
     return response
예제 #20
0
 def get(self, id):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     alumno = Alumno.load_from_token(token)
     apoderado = Apoderado.load_from_token(token)
     administrador = Administrador.load_from_token(token)
     profesor = Profesor.load_from_token(token)
     if alumno == None and apoderado == None and administrador == None and profesor == None:
         return {'response': 'user_invalid'}, 401
     response = []
     prueba = Prueba.objects(id=id).first()
     for evaluacion in Evaluacion.objects(prueba=prueba.id):
         response.append(evaluacion.to_dict())
     return response
예제 #21
0
 def put(self, id):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     profesor = Profesor.load_from_token(token)
     data = request.data.decode()
     data = json.loads(data)
     if profesor == None:
         return {'response': 'user_invalid'}, 401
     data = request.data.decode()
     data = json.loads(data)
     prueba = Prueba.objects(id=id).first()
     prueba.puntaje_base = int(data['puntaje_base'])
     prueba.save()
     return {'Response': 'exito'}
예제 #22
0
    def get(self, asignatura_id=None):
        args = self.reqparse.parse_args()
        token = args.get('auth-token')
        if asignatura_id:
            alumno = Alumno.load_from_token(token)
            admin = Administrador.load_from_token(token)

            if alumno == None and admin == None:
                return {'response': 'user_invalid'}, 401
            return Archivo.get_all_by_asignatura(asignatura_id)
        else:
            profesor = Profesor.load_from_token(token)
            if profesor == None:
                return {'response': 'user_invalid'}, 401
            return Archivo.get_all_by_asignatura(profesor.asignatura.id)
예제 #23
0
 def get(self, id):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     alumno = Alumno.load_from_token(token)
     apoderado = Apoderado.load_from_token(token)
     administrador = Administrador.load_from_token(token)
     profesor = Profesor.load_from_token(token)
     if alumno == None and apoderado == None and administrador == None and profesor == None:
         return {'response': 'user_invalid'}, 401
     alumno = Alumno.objects(id=id).first()
     justificaciones = []
     for justificacion in Justificacion.objects(alumno=alumno.id).all():
         if justificacion.activo:
             justificaciones.append(justificacion.to_dict())
     return justificaciones
예제 #24
0
 def get(self):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     alumno = Alumno.load_from_token(token)
     apoderado = Apoderado.load_from_token(token)
     administrador = Administrador.load_from_token(token)
     profesor = Profesor.load_from_token(token)
     if alumno == None and apoderado == None and administrador == None and profesor == None:
         return {'response': 'user_invalid'}, 401
     profesores = Profesor.objects().all()
     response = []
     for profesor in profesores:
         if profesor.activo:
             response.append(profesor.to_dict())
     return response
예제 #25
0
 def post(self):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     profesor = Profesor.load_from_token(token)
     data = request.data.decode()
     data = json.loads(data)
     if profesor == None:
         return {'response': 'user_invalid'}, 401
     prueba = Prueba()
     prueba.nombre = data['nombre']
     prueba.cantidad_preguntas = 0
     prueba.asignatura = profesor.asignatura.id
     prueba.tipo = data['tipo']
     prueba.save()
     return {"Response": "exito", 'id': str(prueba.id)}
예제 #26
0
    def get(self, id_apoderado, id_alumno):
        args = self.reqparse.parse_args()
        token = args.get('auth-token')
        alumno = Alumno.load_from_token(token)
        apoderado = Apoderado.load_from_token(token)
        administrador = Administrador.load_from_token(token)
        profesor = Profesor.load_from_token(token)
        if alumno == None and apoderado == None and administrador == None and profesor == None:
            return {'response': 'user_invalid'}, 401

        apoderado = Apoderado.objects(id=id_apoderado).first()
        alumno = Alumno.objects(id=id_alumno).first()
        apoderado.alumno = alumno
        apoderado.save()
        return {'Response': 'exito'}
예제 #27
0
 def get(self):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     userProf = Profesor.load_from_token(token)
     if userProf == None:
         return {'response': 'user_invalid'}, 401
     institucion = None
     if userProf != None:
         institucion = Institucion.objects(
             id=userProf.institucion.id).first()
     if institucion == None:
         return {'response': 'colegio_invalid'}, 404
     userProf.primera_vez = False
     userProf.save()
     return {'Response': 'exito'}
예제 #28
0
 def get(self, id_curso):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     alumno = Alumno.load_from_token(token)
     apoderado = Apoderado.load_from_token(token)
     administrador = Administrador.load_from_token(token)
     profesor = Profesor.load_from_token(token)
     if alumno == None and apoderado == None and administrador == None and profesor == None:
         return {'response': 'user_invalid'}, 401
     alumnos = []
     curso = Curso.objects(id=id_curso).first()
     for alumno in Alumno.objects(curso=curso.id, activo=True).all():
         if alumno.activo:
             alumnos.append(alumno.to_dict())
     return alumnos
예제 #29
0
 def delete(self, id_topico, id_prueba):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     profesor = Profesor.load_from_token(token)
     if profesor == None:
         return {'response': 'user_invalid'}, 401
     prueba = Prueba.objects(id=id_prueba).first()
     topico = Topico.objects(id=id_topico).first()
     topicos = []
     for topico_prueba in prueba.topicos:
         if topico_prueba.id != topico.id:
             topicos.append(topico_prueba)
     prueba.topicos = topicos
     prueba.save()
     return {'Response': 'borrado'}
예제 #30
0
 def post(self):
     args = self.reqparse.parse_args()
     token = args.get('auth-token')
     alumno = Alumno.load_from_token(token)
     apoderado = Apoderado.load_from_token(token)
     administrador = Administrador.load_from_token(token)
     profesor = Profesor.load_from_token(token)
     if alumno == None and apoderado == None and administrador == None and profesor == None:
         return {'response': 'user_invalid'}, 401
     data = request.data.decode()
     data = json.loads(data)
     curso = Curso()
     curso.nombre = data['nombre']
     curso.save()
     return {'Response': 'exito'}