Ejemplo n.º 1
0
def edit_rubic(title_, description_, datajson_, id_challenge, id_rubic):
    response = -1
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        now = datetime.now()
        query = "UPDATE rubic SET title=%s , description=%s, last_modified_datetime=%s, datajson=%s, FK_CHALLENGE_id_number=%s WHERE id_number=%s "
        data = (
            title_,
            description_,
            str(now),
            datajson_,
            id_challenge,
            id_rubic,
        )
        cursor.execute(query, data)
        cnx.commit()
        response = int(cursor.lastrowid)
        cnx.close()
        return response
    except Exception as e:
        print(e)
        return response
Ejemplo n.º 2
0
def new_template_rubic(title_, description_, datajson_, fk_user_email):
    response = -1
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        now = datetime.now()
        query = "INSERT INTO rubic_template(title, description, create_datetime, datajson, status, FK_USERS_email) VALUES (%s, %s, %s, %s, %s, %s);"
        data = (
            title_,
            description_,
            str(now),
            datajson_,
            "show",
            fk_user_email,
        )
        cursor.execute(query, data)
        cnx.commit()
        response = int(cursor.lastrowid)
        cnx.close()
        return response
    except Exception as e:
        print(e)
        return response
Ejemplo n.º 3
0
def edit_template_challenge(id_challenge_, title_, description_, photo_, aim_,
                            FK_CATEGORY_category_name_, FK_USER_email):
    response = -1
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        now = datetime.now()
        query = "UPDATE challenge_template SET title=%s , description=%s, photo=%s, aim=%s, last_modified_datetime=%s,  FK_CATEGORY_category_name=%s WHERE FK_USERS_email=%s AND id_challenge = %s"
        data = (
            title_,
            description_,
            photo_,
            aim_,
            now,
            FK_CATEGORY_category_name_,
            FK_USER_email,
            id_challenge_,
        )
        cursor.execute(query, data)
        cnx.commit()
        response = int(cursor.lastrowid)
        cnx.close()
        return response
    except Exception as e:
        print(e)
        return response
Ejemplo n.º 4
0
def get_all_my_challenges(user_email):
    r = []
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        query = "SELECT ch.id_number,ch.title,ch.description,ch.token,ch.photo,ch.aim,ch.create_datetime,ch.last_modified_datetime,ch.FK_DEADLINE_type,ch.deadline_value,ch.FK_CLASSROOM_id_number,ch.FK_CATEGORY_category_name FROM challenge as ch INNER JOIN classroom as cl WHERE cl.FK_USERS_email = %s AND cl.id_number = ch.FK_CLASSROOM_id_number"
        data = (user_email, )
        cursor.execute(query, data)
        for (id_number, title, description, token, photo, aim, create_datetime,
             last_modified_datetime, FK_DEADLINE_type, deadline_value,
             FK_CLASSROOM_id_number, FK_CATEGORY_category_name) in cursor:
            r.append([
                id_number, title, description, token, photo, aim,
                create_datetime, last_modified_datetime, FK_DEADLINE_type,
                deadline_value, FK_CLASSROOM_id_number,
                FK_CATEGORY_category_name
            ])
        cursor.close()
        cnx.close()
        return r
    except Exception as e:
        print('Error #1 en la base de datos')
        print(e)
        return r
Ejemplo n.º 5
0
def iam_challenge_owner_by_id(id_challenge_, FK_USER_email):
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        query = "SELECT ch.id_number as iddd FROM classroom as cl INNER JOIN challenge as ch WHERE cl.id_number = ch.FK_CLASSROOM_id_number AND ch.id_number=%s AND cl.FK_USERS_email=%s "
        data_ = (
            id_challenge_,
            FK_USER_email,
        )
        cursor.execute(
            query,
            data_,
        )
        for (iddd) in cursor:
            return True
        cursor.close()
        cnx.close()
        return False
    except Exception as e:
        print('Error #1 en la base de datos')
        print(e)
        return False


#### ESTUDIANTE
Ejemplo n.º 6
0
def new_template_challenge(title_, description_, photo_, aim_,
                           FK_CATEGORY_category_name_, FK_USER_email):
    response = -1
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        now = datetime.now()
        query = "INSERT INTO challenge_template(title, description, token, photo, aim ,added_datetime, status ,FK_CATEGORY_category_name) VALUES (%s, %s, %s, %s, %s, %s, %s, %s);"
        data = (
            title_,
            description_,
            photo_,
            aim_,
            now,
            "show",
            FK_CATEGORY_category_name_,
            FK_USER_email,
        )
        cursor.execute(query, data)
        cnx.commit()
        response = int(cursor.lastrowid)
        cnx.close()
        return response
    except Exception as e:
        print(e)
        return response
Ejemplo n.º 7
0
def get_all_templates_challenge():
    r = []
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        query = "SELECT id_number, title, description, photo, aim, added_datetime, last_modified_datetime, FK_CATEGORY_category_name, FK_USERS_email FROM challenge_template WHERE status =%s"
        cursor.execute(
            query,
            "show",
        )
        for (id_number, title, description, photo, aim, added_datetime,
             last_modified_datetime, FK_CATEGORY_category_name,
             FK_USERS_email) in cursor:
            r.append([
                id_number, title, description, photo, aim, added_datetime,
                last_modified_datetime, FK_CATEGORY_category_name,
                FK_USERS_email
            ])
        cursor.close()
        cnx.close()
        return r
    except Exception as e:
        print('Error #1 en la base de datos')
        print(e)
        return r
Ejemplo n.º 8
0
def get_all_my_rubics(fk_user_email):
    r = []
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        query = "SELECT ru.id_number, ru.title, ru.description, ru.create_datetime, ru.last_modified_datetime, ru.datajson, ru.FK_CHALLENGE_id_number  FROM rubic as ru INNER JOIN challenge as ch INNER JOIN classroom as cl WHERE cl.id_number = ch.FK_CLASSROOM_id_number AND ru.FK_CHALLENGE_id_number=ch.id_number AND cl.FK_USERS_email=%s"
        data_ = (fk_user_email, )
        cursor.execute(
            query,
            data_,
        )
        for (id_number, title, description, create_datetime,
             last_modified_datetime, datajson,
             FK_CHALLENGE_id_number) in cursor:
            r.append([
                id_number, title, description, create_datetime,
                last_modified_datetime, datajson, FK_CHALLENGE_id_number
            ])
        cursor.close()
        cnx.close()
        return r
    except Exception as e:
        print('Error #1 en la base de datos')
        print(e)
        return r
Ejemplo n.º 9
0
def edit_challenge(id_challenge_, title_, description_, photo_, aim_,
                   FK_DEADLINE_type_, deadline_value_, FK_CLASSROOM_id_number_,
                   FK_CATEGORY_category_name_):
    response = -1
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        now = datetime.now()
        token_ = str(get_random_num(4)) + '-' + str(get_random_str(4))
        query = "UPDATE challenge SET title=%s , description=%s, token=%s, photo=%s, aim=%s, last_modified_datetime=%s, FK_DEADLINE_type=%s, deadline_value=%s, FK_CLASSROOM_id_number=%s, FK_CATEGORY_category_name=%s WHERE id_challenge = %s"
        data = (
            title_,
            description_,
            token_,
            photo_,
            aim_,
            now,
            FK_DEADLINE_type_,
            deadline_value_,
            FK_CLASSROOM_id_number_,
            FK_CATEGORY_category_name_,
            id_challenge_,
        )
        cursor.execute(query, data)
        cnx.commit()
        response = int(cursor.lastrowid)
        cnx.close()
        return response
    except Exception as e:
        print(e)
        return response
Ejemplo n.º 10
0
def new_challenge(title_, description_, photo_, aim_, fk_deadline_type_,
                  deadline_value_, FK_CLASSROOM_id_number_,
                  FK_CATEGORY_category_name_):
    response = -1
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        now = datetime.now()
        token_ = str(get_random_num(4)) + '-' + str(get_random_str(4))
        query = "INSERT INTO challenge(title,description,token,photo,aim,create_datetime,FK_DEADLINE_type,deadline_value,FK_CLASSROOM_id_number,FK_CATEGORY_category_name) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s);"
        data = (
            title_,
            description_,
            token_,
            photo_,
            aim_,
            now,
            fk_deadline_type_,
            deadline_value_,
            FK_CLASSROOM_id_number_,
            FK_CATEGORY_category_name_,
        )
        cursor.execute(query, data)
        cnx.commit()
        response = int(cursor.lastrowid)
        cnx.close()
        return response
    except Exception as e:
        print(e)
        return response
Ejemplo n.º 11
0
def insert_request_log(endpoint_,
                       request_type_,
                       data_,
                       ip_,
                       fk_user_email=None):
    response = -1
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        now = datetime.now()
        query = "INSERT INTO request_log(endpoint,request_type, data, reqdatetime, ip, FK_USERS_email) VALUES (%s, %s, %s, %s, %s, %s);"
        data = (
            endpoint_,
            request_type_,
            data_,
            str(now),
            ip_,
            fk_user_email,
        )
        cursor.execute(query, data)
        cnx.commit()
        response = int(cursor.lastrowid)
        cnx.close()
        return response
    except Exception as e:
        print(e)
        return response
Ejemplo n.º 12
0
def restar_reco(id_query):
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        query = "UPDATE query_result SET popularidad = popularidad - 1 WHERE id_result =%s;"
        data = (id_query,)
        cursor.execute(query, data)
        cnx.commit()
        cnx.close()
        return True
    except Exception as e:
        print(e)
        return False
Ejemplo n.º 13
0
def fin_de_desafio_reg(usuario_,n_desafio):
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        query = "INSERT INTO r_usuario_challenge(FK_USUARIO_nickname,FK_CHALLENGE_id_number, estado) VALUES (%s, %s, %s);"
        data = (usuario_,n_desafio,'finalizado')
        cursor.execute(query, data)
        cnx.commit()
        cnx.close()
        return True
    except Exception as e:
        print(e)
        return False
Ejemplo n.º 14
0
def insertar_nuevo_registro(tipo_, data_, usuario_):
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        now = datetime.now()
        query = "INSERT INTO logs(log_type, data, server_datetime,FK_USUARIO_nickname) VALUES (%s, %s, %s,%s);"
        data = (tipo_, data_, now, usuario_)
        cursor.execute(query, data)
        cnx.commit()
        cnx.close()
        return True
    except Exception as e:
        print(e)
        return False
Ejemplo n.º 15
0
def this_user_exist(user_, email_):
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        query = "SELECT email FROM users WHERE email=%s OR users =%s"
        data = (email_,user_,)
        cursor.execute(query, data)
        for (email) in cursor:
            return True
        cursor.close()
        cnx.close()
        return False
    except Exception as e:
        print(str(e))
        return False
Ejemplo n.º 16
0
def get_all_categories():
    r = []
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        query = "SELECT category_name, description FROM category"
        cursor.execute(query, )
        for (category_name, description) in cursor:
            r.append([category_name, description])
        cursor.close()
        cnx.close()
        return r
    except Exception as e:
        print('Error #1 en la base de datos')
        print(e)
        return r
Ejemplo n.º 17
0
def get_all_contries():
    r = []
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        query = "SELECT country FROM country"
        cursor.execute(query)
        for (country) in cursor:
            r.append(str(country[0]))
        cursor.close()
        cnx.close()
        return r
    except Exception as e:
        print('Error #1 en la base de datos')
        print(e)
        return r
Ejemplo n.º 18
0
def Get_posttest():
    r = []
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        query = "SELECT id_test,test_texto,tipo_pregunta FROM pre_pos_test WHERE test_tipopregunta = 'posttest';"
        cursor.execute(query,)
        for (id_test,test_texto,tipo_pregunta) in cursor:
            r.append([{"id":id_test,"text":test_texto,"tipopregunta":tipo_pregunta}])
        cursor.close()
        cnx.close()
        return r
    except Exception as e:
        print('Error #2 en la base de datos')
        print(e)
        return r
Ejemplo n.º 19
0
def login_user(user_, passw_):
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        query = "SELECT FK_USUARIO_TIPO_tipo_usuario FROM usuario WHERE nickname = %s AND password = %s"
        data = (user_,passw_,)
        cursor.execute(query, data)
        for (FK_USUARIO_TIPO_tipo_usuario) in cursor:
            return FK_USUARIO_TIPO_tipo_usuario[0]
        cursor.close()
        cnx.close()
        return ""
    except Exception as e:
        print('Error #2 en la base de datos')
        print(e)
        return ""
Ejemplo n.º 20
0
def login_user(user_, passw_):
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        salt = get_salt_of_user(user_)
        passw_salted = encrypt_pass(passw_,salt)
        query = "SELECT nickname, email,FK_ROL_rol_name FROM users WHERE (nickname = %s or email = %s) AND passw = %s"
        data = (user_,user_, passw_salted,)
        cursor.execute(query, data)
        for (nickname, email,FK_ROL_rol_name) in cursor:
            return [nickname, email, FK_ROL_rol_name]
        cursor.close()
        cnx.close()
        return []
    except Exception as e:
        print(str(e))
        return 'Error #2 en la base de datos'
Ejemplo n.º 21
0
def crear_usuario(email_, nickname_, firstname_, lastname_, passw_, birthdat_datetime_, contry_, type_):
    response = -1
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        salt = random_salt()
        passw_salted = encrypt_pass(passw_, salt)
        query = "INSERT INTO `users` (`email`, `nickname`, `firstname`, `lastname`, `passw`, `salt`, `birthday_datetime`, `FK_COUNTRY_country`, `FK_ROL_rol_name`) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s);"
        data = (email_, nickname_, firstname_, lastname_, passw_salted, salt, birthdat_datetime_, contry_, type_,)
        cursor.execute(query, data)
        cnx.commit()
        response = int(cursor.lastrowid)
        cnx.close()
        return response
    except Exception as e:
        print(e)
        return response
Ejemplo n.º 22
0
def get_all_my_class_student(email_user):
    r = []
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        query = "SELECT room.id_number, room.classroom_name, users.firstname, users.lastname FROM classmate as mate INNER JOIN classroom as room INNER JOIN users WHERE room.FK_USERS_email = users.email AND mate.FK_CLASSROOM_id_number = room.id_number and mate.FK_USERS_email = %s"
        data = (email_user, )
        cursor.execute(query, data)
        for (id_number, classroom_name, firstname, lastname) in cursor:
            r.append([id_number, classroom_name, firstname, lastname])
        cursor.close()
        cnx.close()
        return r
    except Exception as e:
        print('Error #1 en la base de datos | get_all_my_class_student')
        print(e)
        return r
Ejemplo n.º 23
0
def Get_challenges_by_id(user_,id_desafio):
    r = {}
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        query = "SELECT id_number, titulo, objetivos, descripcion FROM challenge WHERE id_number = %s;"
        data=(id_desafio,)
        cursor.execute(query,data)
        for (id_number, titulo, objetivos, descripcion) in cursor:
            estado = Get_challenge_state(user_, id_desafio)
            return {"titulo":titulo, "objetivo":objetivos,"descripcion":descripcion, "estado":estado}

        return r
    except Exception as e:
        print('Error #2 en la base de datos')
        print(e)
        return r
Ejemplo n.º 24
0
def get_all_my_challenges_profesor(email_user):
    r = []
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        query = "SELECT id_number, classroom_name FROM `classroom` WHERE FK_USERS_email =%s"
        data = (email_user, )
        cursor.execute(query, data)
        for (id_number, classroom_name) in cursor:
            r.append([id_number, classroom_name])
        cursor.close()
        cnx.close()
        return r
    except Exception as e:
        print('Error #1 en la base de datos | get_all_my_challenges_profesor')
        print(e)
        return r
Ejemplo n.º 25
0
def get_all_students_in_challenge(id_challenge):
    r = []
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        query = "SELECT FK_USERS_email FROM challenge_user WHERE FK_CHALLENGE_id_number = %s"
        data = (id_challenge, )
        cursor.execute(query, data)
        for (FK_USERS_email) in cursor:
            r.append(str(FK_USERS_email[0]))
        cursor.close()
        cnx.close()
        return r
    except Exception as e:
        print('Error #1 en la base de datos')
        print(e)
        return r
Ejemplo n.º 26
0
def Get_all_challenges(user_):
    r = []
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        query = "SELECT id_number, titulo, objetivos, descripcion FROM challenge WHERE 1;"
        cursor.execute(query,)

        for (id_number, titulo, objetivos, descripcion) in cursor:
            estado = Get_challenge_state(user_,id_number)
            r.append([id_number, titulo, objetivos, descripcion, estado])
        cursor.close()
        cnx.close()
        return r
    except Exception as e:
        print('Error #2 en la base de datos')
        print(e)
        return r 
Ejemplo n.º 27
0
def edit_class_profesor_(id_class, new_classname):
    response = -1
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        query = "UPDATE challenge SET classroom_name=%s WHERE id_number=%s"
        data = (
            new_classname,
            id_class,
        )
        cursor.execute(query, data)
        cnx.commit()
        response = int(cursor.lastrowid)
        cnx.close()
        return response
    except Exception as e:
        print(e)
        return response
Ejemplo n.º 28
0
def Get_challenge_state(user_,id_number):
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        query = "SELECT estado FROM r_usuario_challenge WHERE FK_CHALLENGE_id_number = %s AND FK_USUARIO_nickname = %s"
        data = (id_number,user_,)
        print(id_number)
        print(user_)
        cursor.execute(query, data)
        for (estado) in cursor:
            print(estado)
            return estado[0]
        cursor.close()
        cnx.close()
        return ""
    except Exception as e:
        print('Error #2 en la base de datos')
        print(e)
        return ""
Ejemplo n.º 29
0
def this_user_below_to_this_class(FK_USER_EMAIL, id_class):
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        query = "SELECT * FROM classmate WHERE FK_CLASSROOM_id_number=%s and FK_USERS_email=%s"
        data = (
            id_class,
            FK_USER_EMAIL,
        )
        cursor.execute(query, data)
        for (id_number) in cursor:
            return True
        cursor.close()
        cnx.close()
        return False
    except Exception as e:
        print('Error #1 en la base de datos | this_user_below_to_this_class')
        print(e)
        return False
Ejemplo n.º 30
0
def this_challenge_have_rubic(id_challenge_):
    try:
        database_ = Database()
        config = database_.config
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
        query = "SELECT id_number FROM `rubic` WHERE FK_CHALLENGE_id_number=%s "
        data_ = (id_challenge_, )
        cursor.execute(
            query,
            data_,
        )
        for (id_number) in cursor:
            return True
        cursor.close()
        cnx.close()
        return False
    except Exception as e:
        print('Error #1 en la base de datos')
        print(e)
        return False