Skip to content
Snippets Groups Projects
Commit 52035c41 authored by Marco De Donno's avatar Marco De Donno
Browse files

Check for duplicate trainee users in one folder

parent f48ed452
No related branches found
No related tags found
No related merge requests found
......@@ -330,22 +330,41 @@ def add_users_to_folder( folder_id ):
users_email_list = users_email_list.replace( "\n", ";" ).split( ";" )
for user_email in users_email_list:
userid = config.db.query_fetchone( "SELECT nextval( 'username_trainee_seq' ) as id" )[ "id" ]
username = "trainee_{}".format( userid )
try:
sql = """
SELECT count( email ) AS nb
FROM users
LEFT JOIN exercises_trainee_list ON users.id = exercises_trainee_list.user_id
WHERE
exercises_trainee_list.folder = %s AND
email = %s
GROUP BY email
"""
nb = config.db.query_fetchone( sql, ( folder_id, user_email, ) )[ "nb" ]
except TypeError:
nb = 0
sql = utils.sql.sql_insert_generate( "users", [ "username", "email", "type" ], "id" )
data = ( username, user_email, 7 )
trainee_user_id = config.db.query_fetchone( sql, data )[ "id" ]
if nb == 0:
userid = config.db.query_fetchone( "SELECT nextval( 'username_trainee_seq' ) as id" )[ "id" ]
username = "trainee_{}".format( userid )
sql = utils.sql.sql_insert_generate( "users", [ "username", "email", "type" ], "id" )
data = ( username, user_email, 7 )
trainee_user_id = config.db.query_fetchone( sql, data )[ "id" ]
sql = utils.sql.sql_insert_generate( "exercises_trainee_list", [ "user_id", "folder" ], "id" )
data = ( trainee_user_id, folder_id, )
config.db.query_fetchone( sql, data )
sql = utils.sql.sql_insert_generate( "exercises_trainee_list", [ "user_id", "folder" ], "id" )
data = ( trainee_user_id, folder_id, )
config.db.query_fetchone( sql, data )
else:
continue
config.db.commit()
return jsonify( {
"error": False
} )
except:
return jsonify( {
"error": True
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment