Example #1
0
def test_get_topico(client):
    topico = Topico.objects().first()
    if topico == None:
        assert True
    else:
        rv = client.get('/topicos/' + str(topico.id))
        if rv._status_code == 200:
            assert True
        else:
            assert False
Example #2
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 Topico.objects(id=id).first().to_dict()
Example #3
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"}
Example #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
     response = []
     for topico in Topico.objects().all():
         if topico.activo:
             response.append(topico.to_dict())
     return response
Example #5
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'}
Example #6
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()
     topico = Topico.objects(id=data['id']).first()
     prueba.topicos.append(topico.id)
     prueba.save()
     return {"Response": "exito"}
Example #7
0
 def create_from_excel(cls, list_rows):
     list_preguntas = []
     for index, pregunta in enumerate(list_rows):
         try:
             topico = Topico.objects(id=pregunta[2]).first()
             if (topico == None):
                 return []
         except:
             return []
         if (pregunta[1] == "None"
                 or not (pregunta[1] in ["A", "B", "C", "D", "E"])):
             return []
         alternativa = pregunta[1]
         preguntaNuevo = Pregunta(numero_pregunta=index + 1,
                                  alternativa=alternativa,
                                  topico=topico)
         list_preguntas.append(preguntaNuevo)
     return list_preguntas
Example #8
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'}
Example #9
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)
     if profesor == None:
         return {'response': 'user_invalid'}, 401
     data = request.data.decode()
     data = json.loads(data)
     prueba = Prueba.objects(id=id).first()
     topico = Topico.objects(id=data['topico']).first()
     pregunta = Pregunta()
     if (data['tipo'] == "TAREA"):
         pregunta.numero_pregunta = len(prueba.preguntas) + 1
         pregunta.topico = topico
     else:
         pregunta.numero_pregunta = len(prueba.preguntas) + 1
         pregunta.topico = topico
         pregunta.alternativa = data['alternativa']
     prueba.preguntas.append(pregunta)
     prueba.cantidad_preguntas = len(prueba.preguntas)
     prueba.save()
     return {"Response": "exito"}
Example #10
0
 def create_layout_excel(cls, topicos):
     headers = ["Numero", "Alternativa Correcta", "Id. Topico"]
     result_list = [Topico.export_to_excel(topicos)]
     return create_excel(result_list, headers, "Formato_preguntas")