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
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()
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"}
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
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'}
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"}
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
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'}
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"}
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")