Rework invitation system and add qrcode

This commit is contained in:
2025-12-27 07:16:39 +01:00
parent 5e54c1d383
commit 51b016aa69
6 changed files with 73 additions and 40 deletions

View File

@@ -349,39 +349,51 @@ def deltoken_passwd_lost(token) :
@profil.route('/invitation/', methods=['GET'])
@login_required
def invitation():
UTILISATEUR='%s' % escape(session['username'])
user='%s' % escape(session['username'])
conn = sqlite3.connect(DATABASE) # Connexion à la base de donnée
cursor = conn.cursor() # Création de l'objet "curseur"
cursor.execute("""SELECT Token, invitations FROM users WHERE name=?""", (UTILISATEUR,))
cursor.execute("""SELECT Token, invitations FROM users WHERE name=?""", (user,))
tmp = cursor.fetchone()
token = tmp[0]
if token:
url_invitation = BASE_URL + 'inscription/' + token
nb_invitations = tmp[1]
if token and nb_invitations > 0:
url_invitation = BASE_URL + '/inscription/' + token
img = qrcode.make(url_invitation)
img.save(os.path.join(DOSSIER_PERSO, user, "invitation.png"))
else:
url_invitation = ""
invitations_count = tmp[1]
conn.close()
return render_template('invitation.html',
section='Profil',
nb_invitation=invitations_count,
nb_invitation=nb_invitations,
token=token,
url_invitation=url_invitation)
@profil.route('/invitation.png', methods=['GET'])
@login_required
def invitation_qrcode():
user='%s' % escape(session['username'])
return send_file(
os.path.join(DOSSIER_PERSO, user, "invitation.png"))
@profil.route('/gen_token/', methods=['GET'])
@login_required
def generate_token():
user='%s' % escape(session['username'])
conn = sqlite3.connect(DATABASE) # Connexion à la base de donnée
cursor = conn.cursor() # Création de l'objet "curseur"
cursor.execute("""SELECT invitations FROM users WHERE name=?""", (user,))
tmp = cursor.fetchone()
token = tmp[0]
token = gen_token("Invitation")
cursor.execute("UPDATE users SET Token=? WHERE name=?",
(token, user))
conn.commit()
conn.close()
return redirect(BASE_URL+'invitation/')
return redirect(BASE_URL+'/invitation/')
@profil.route( '/delete_me/', methods=['GET','POST'])