Rework invitation system and add qrcode
This commit is contained in:
@@ -35,13 +35,12 @@ def signin(token) :
|
||||
|
||||
mail_domain = set_mail_domain()
|
||||
|
||||
url_inscription = BASE_URL +'/inscription/'+token
|
||||
url_inscription = BASE_URL +'/'+'inscription/'+token
|
||||
resp = None
|
||||
if valid_token_register(token, "Invitation"):
|
||||
if 'username' in session :
|
||||
resp = redirect(url_for('profil.profile', _external=True))
|
||||
else :
|
||||
|
||||
# Réponse si la requete est de type GET ou si la requete POST echoue
|
||||
resp = render_template('inscription.html',
|
||||
signin_enable=app.config['SIGNIN_ENABLE'],
|
||||
@@ -52,6 +51,16 @@ def signin(token) :
|
||||
|
||||
if request.method == 'POST':
|
||||
|
||||
# Une fois que tout c'est bien passé pour l'inscription on détruit le jeton.
|
||||
conn = sqlite3.connect(DATABASE) # Connexion à la base de donnée
|
||||
cursor = conn.cursor() # Création de l'objet "curseur"
|
||||
|
||||
cursor.execute("""SELECT name, invitations FROM users where Token=?""", (token,))
|
||||
tmp = cursor.fetchone()
|
||||
user_invite = tmp[0]
|
||||
invitations_count=tmp[1]
|
||||
conn.close()
|
||||
|
||||
#On test si aucun champs du formulaire n'est vide.
|
||||
if len(request.form['user']) == 0 or \
|
||||
len(request.form['passwd']) == 0 or \
|
||||
@@ -60,7 +69,7 @@ def signin(token) :
|
||||
flash(u'Il faut remplir le formulaire en entier, les champs ne peuvent pas etre vide ', 'error')
|
||||
return render_template('inscription.html',
|
||||
signin_enable=app.config['SIGNIN_ENABLE'],
|
||||
token=token, hostname=hostname,
|
||||
token=token, hostname=mail_domain,
|
||||
url_inscription=url_inscription,
|
||||
MAIL_SERVER=MAIL_SERVER, XMPP_SERVER=XMPP_SERVER)
|
||||
|
||||
@@ -73,16 +82,11 @@ def signin(token) :
|
||||
|
||||
not_error = True
|
||||
|
||||
conn = sqlite3.connect(DATABASE) # Connexion à la base de donnée
|
||||
cursor = conn.cursor() # Création de l'objet "curseur"
|
||||
|
||||
cursor.execute("""SELECT name FROM users WHERE name=?""", (user,))
|
||||
testuser = cursor.fetchone()
|
||||
conn.close()
|
||||
|
||||
print("user :" +user)
|
||||
print ("passwd: "+ passwd)
|
||||
if testuser and valid_username(user):
|
||||
if invitations_count < 1 :
|
||||
flash(u'Votre lien d\'inscription est invalide', 'error')
|
||||
not_error=False
|
||||
|
||||
if not_error and valid_username(user):
|
||||
flash(u'Le Nom d\'utilisateur déjà utilisé ou contient des caractères invalides, merci d\'en choisir un autre', 'error')
|
||||
flash(u'Les caractères espaces et \' ( ) < > , ; : " [ ] | ç % & ne sont pas autorisés', 'error')
|
||||
not_error = False
|
||||
@@ -131,17 +135,16 @@ def signin(token) :
|
||||
with open(log_file, 'x') as file:
|
||||
file.write(log)
|
||||
except FileExistsError:
|
||||
print('The file '+log_file +' already exists')
|
||||
print('The file '+log_file +' already exists')
|
||||
|
||||
# Une fois que tout c'est bien passé pour l'inscription on détruit le jeton.
|
||||
cursor.execute("""SELECT name, invitations FROM users where Token=?""", (token,))
|
||||
tmp = cursor.fetchone()
|
||||
username = tmp[0]
|
||||
invitations_count=tmp[1] - 1
|
||||
if username == "pywallter":
|
||||
cursor.execute("""DELETE from users where name = ?""", (username,))
|
||||
|
||||
if user_invite == "pywallter":
|
||||
cursor.execute("""DELETE from users where name = ?""", (user_invite,))
|
||||
elif invitations_count > 0:
|
||||
invitations_count= invitations_count - 1
|
||||
cursor.execute("""UPDATE users set invitations=? where name=?""", (invitations_count, user_invite,))
|
||||
else:
|
||||
cursor.execute("""UPDATE users set invitations=?, Token='' where name=?""", (invitations_count, username,))
|
||||
cursor.execute("""UPDATE users set invitations=?, Token='' where name=?""", (invitations_count, user_invite,))
|
||||
conn.commit()
|
||||
|
||||
flash(u'Inscription réalisée avec succés !', 'success')
|
||||
@@ -149,7 +152,7 @@ def signin(token) :
|
||||
else:
|
||||
return render_template('inscription.html',
|
||||
signin_enable=app.config['SIGNIN_ENABLE'],
|
||||
token=token, hostname=hostname,
|
||||
token=token, hostname=mail_domain,
|
||||
url_inscription=url_inscription,
|
||||
MAIL_SERVER=MAIL_SERVER, XMPP_SERVER=XMPP_SERVER)
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user