예제 #1
0
def test_post_cursos(client):
    institucion = Institucion.objects().first()
    asignatura = Asignatura.objects().first()
    profesor = Profesor.objects().first()
    alumnos = Alumno.objects().all()
    grado = Grado.objects().first()
    curso_base = CursoBase.objects().first()

    if ((institucion == None) or (asignatura == None) or (profesor == None)
            or (alumnos == None) or (grado == None) or (curso_base == None)):
        assert True
    else:
        alumnos_array = []
        for alumno in alumnos:
            alumnos_array.append(alumno.id)
        data = {
            'nombre': 'nombre',
            'fecha_creacion': '01/01/2000',
            'preguntas': [],
            'asignatura': str(asignatura.id),
            'institucion': str(institucion.id),
            'profesor': str(profesor.id),
            'alumnos': alumnos_array,
            'grado': str(grado.id),
            'activo': True,
            'version': '1.0',
            'curso_base': str(curso_base.id),
            'descripcion': 'descripcion del curso'
        }
        token = profesor.get_token()
        rv = client.post('/recursos', data=data, headers={'auth-token': token})
        if rv._status_code == 200:
            assert True
        else:
            assert False
예제 #2
0
def test_put_recursos(client):
    curso = Curso.objects().first()
    institucion = Institucion.objects().first()
    asignatura = Asignatura.objects().first()
    profesor = Profesor.objects().first()
    alumno = Alumno.objects().first()
    grado = Grado.objects().first()
    curso_base = CursoBase.objects().first()

    if((institucion == None) or (asignatura == None) or \
       (profesor == None) or (alumno == None) or \
       (grado == None) or (curso_base == None) or (curso == None)):
        assert False
    data = {
        'nombre': 'nombre',
        'fecha_creacion': '01/01/2000',
        'preguntas': [],
        'asignatura': str(asignatura.id),
        'institucion': str(institucion.id),
        'profesor': str(profesor.id),
        'alumnos': str(alumno.id),
        'grado': str(grado.id),
        'activo': True,
        'version': 1,
        'curso_base': str(curso_base.id),
        'descripcion': 'descripcion del curso'
    }

    data_put = {'id': str(curso.id), 'data': data}
    data_put = json.dumps(data_put)
    data_put = data_put.encode()
    rv = client.put('/recursos', data=data_put)
    if rv._status_code == 200:
        return True
    assert False
예제 #3
0
    def put(self):
        #Cargar datos dinamicos
        data = request.data.decode()
        data = json.loads(data)
        idCurso = data['id']
        data = data['data']

        cursoBase = CursoBase.objects(id=data['curso_base']).first()
        asignatura = Asignatura.objects(id=data['asignatura']).first()
        institucion = Institucion.objects(id=data['institucion']).first()
        profesor = Profesor.objects(id=data['profesor']).first()
        alumnos = Alumno.objects(id=data['alumnos']).first()
        pregunta = Pregunta()

        curso = Curso.objects(id=idCurso).first()
        curso.nombre = data['nombre']
        curso.fecha_creacion = '10/06/2012'
        curso.preguntas = [pregunta]
        curso.asignatura = asignatura.id
        curso.institucion = institucion.id
        curso.profesor = profesor.id
        curso.alumnos = [alumnos.id]
        curso.activo = True
        curso.version = data['version']
        curso.curso_base = cursoBase.id
        curso.save()

        return {'test': 'test'}
예제 #4
0
def test_get_recurso_base_item(client):
    recurso_base = CursoBase.objects().first()
    if recurso_base == None:
        assert False
    rv = client.get('/recursobase/' + str(recurso_base.id))
    if rv._status_code == 200:
        return True
    assert False
예제 #5
0
 def get(self,id):
     curso = Curso.objects(id=id).first()
     print(curso)
     curso_base = CursoBase.objects(id=curso.curso_base.id).first()
     imagen = Image.open("./uploads/cursos/"+str(curso_base.id)+".jpg")
     imagen.save(os.path.join("./uploads/cursos", str(id)+".jpg"))
     imagen.thumbnail((500, 500))
     imagen.save(os.path.join("./uploads/cursos", str(id)+'_thumbnail.jpg'))
     curso = Curso.objects(id=id).first()
     curso.imagen = str(id)
     curso.save()
     return {'Response': 'exito'}
예제 #6
0
 def get(self, id):
     response = []
     institucion = Institucion.objects(id=id).first()
     for categoria in Categoria.objects().all():
         if categoria.activo:
             cursos = Curso.objects(categoria=categoria.id,
                                    institucion=institucion.id).count()
             cursosBase = CursoBase.objects(categoria=categoria.id).count()
             categoria = categoria.to_dict()
             categoria['cursos'] = cursos
             categoria['cursosBase'] = cursosBase
             response.append(categoria)
     return response
예제 #7
0
    def post(self):
        data = request.data.decode()
        data = json.loads(data)
        token = request.headers.get('auth_token')
        profesor = Profesor.load_from_token(token)
        asignatura = Asignatura.objects(id= data['asignatura']).first()
        curso_base = CursoBase.objects(id=data['curso_base']).first()
        curso = Curso()
        curso.nombre = data['nombre']
        curso.categoria = curso_base.categoria

        for habilidad_base in curso_base.habilidades:
            curso.habilidades.append(habilidad_base.id)

        for contenido_base in curso_base.contenidos:
            contenido = Contenido()
            contenido.identificador = contenido_base.identificador
            contenido.texto = contenido_base['texto']
            for pregunta_base in contenido_base['preguntas']:
                pregunta = Pregunta()
                pregunta.texto = pregunta_base['texto']
                pregunta.numero = pregunta_base['numero']
                habilidad = Habilidad.objects(id=pregunta_base['habilidad'].id).first()
                pregunta.habilidad = habilidad.id
                pregunta.tipo_pregunta = pregunta_base['tipo_pregunta']
                for alternativa_base in pregunta_base['alternativas']:
                    alternativa = Alternativa()
                    alternativa.texto = alternativa_base['texto']
                    alternativa.texto_secundario = alternativa_base['texto_secundario']
                    alternativa.correcta = alternativa_base['correcta']
                    pregunta.alternativas.append(alternativa)
                contenido.preguntas.append(pregunta)
            curso.contenidos.append(contenido)
        curso.asignatura = asignatura.id
        curso.profesor = profesor.id
        curso.activo = True
        curso.curso_base = curso_base.id
        curso.descripcion = data['descripcion']
        curso.save()
        return {'Response': 'exito', 'id': str(curso.id), 'id_base': str(curso_base.id)}
예제 #8
0
 def get(self, id):
     return json.loads(CursoBase.objects(id=id).first().to_json())
예제 #9
0
 def get(self):
     cursosBase = []
     for cursoBase in CursoBase.objects().all():
         cursosBase.append(cursoBase.to_dict())
     return cursosBase
예제 #10
0
 def get(self,id_institucion):
     institucion = Institucion.objects(id = id_institucion).first()
     cursosBase = []
     for cursoBase in CursoBase.objects(institucion = id_institucion).all():
         cursosBase.append(cursoBase.to_dict())
     return cursosBase