Separe mailbox route
This commit is contained in:
@@ -355,105 +355,6 @@ def deltoken_passwd_lost(token) :
|
||||
flash(u'Votre jeton est invalide', 'succes')
|
||||
return redirect(url_for('loginlogout.login', _external=True))
|
||||
|
||||
|
||||
@profil.route('/mymailbox/alias', methods=['GET', 'POST'] )
|
||||
def myalias():
|
||||
hostname=gethostname()
|
||||
if 'username' in session:
|
||||
UTILISATEUR='%s' % escape(session['username'])
|
||||
conn = sqlite3.connect(DATABASE) # Connexion à la base de donnée
|
||||
cursor = conn.cursor() # Création de l'objet "curseur"
|
||||
if request.method == 'POST' and MAIL_SERVER:
|
||||
if request.form['alias']:
|
||||
alias = request.form['alias'].lower()+'@'+hostname
|
||||
else:
|
||||
flash(u'Addresse invalide')
|
||||
|
||||
if email_disp(alias):
|
||||
cursor.execute("""SELECT Mail, alias FROM users where name=?""", (UTILISATEUR,))
|
||||
tmp = cursor.fetchone()
|
||||
mail = tmp[0]
|
||||
if tmp[1]:
|
||||
alias_list = tmp[1]
|
||||
aliases = alias_list + "," +alias
|
||||
else:
|
||||
aliases = alias
|
||||
cmd = SETUID+ " set_mail_alias " + "'"+mail+"'"+" add "+"'"+alias+"'"
|
||||
res = os.system(cmd)
|
||||
if res == 0:
|
||||
cursor.execute("UPDATE users SET alias=? WHERE name=?",
|
||||
(aliases, UTILISATEUR))
|
||||
conn.commit()
|
||||
TIME=time.strftime("%A %d %B %Y %H:%M:%S")
|
||||
IP=request.environ['REMOTE_ADDR']
|
||||
CLIENT_PLATFORM=request.headers.get('User-Agent')
|
||||
|
||||
log=TIME + ' - ' + IP + ' - ' + UTILISATEUR + ' - ' + CLIENT_PLATFORM + '\n' + '---> ' + "Ajout de l'alias "+ alias + '\n'
|
||||
append_to_log(log, UTILISATEUR)
|
||||
flash(u'Votre alias a été ajouté', 'succes')
|
||||
else:
|
||||
flash(u'Adresse indisponible', 'error')
|
||||
else:
|
||||
flash(u'Adresse indisponible', 'error')
|
||||
|
||||
cursor.execute("""SELECT Mail, alias FROM users WHERE name=?""",
|
||||
(UTILISATEUR,))
|
||||
tmp = cursor.fetchone()
|
||||
mailbox = dict()
|
||||
mailbox['Mail'] = tmp[0]
|
||||
if tmp[1]:
|
||||
mailbox['alias'] = tmp[1].split(',')
|
||||
else:
|
||||
mailbox['alias'] = list()
|
||||
conn.close()
|
||||
return render_template('myalias.html',
|
||||
section="mailbox",
|
||||
email=mailbox['Mail'],
|
||||
aliases=mailbox['alias'],
|
||||
hostname=hostname,
|
||||
MAIL_SERVER=MAIL_SERVER,
|
||||
username=UTILISATEUR )
|
||||
|
||||
else:
|
||||
return redirect(BASE_URL, code=401)
|
||||
|
||||
@profil.route('/mymailbox/rmalias/<aliasrm>')
|
||||
def remove_alias(aliasrm):
|
||||
if 'username' in session:
|
||||
if MAIL_SERVER:
|
||||
UTILISATEUR='%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 Mail, alias FROM users WHERE name=?""", (UTILISATEUR,))
|
||||
tmp = cursor.fetchone()
|
||||
mail = tmp[0]
|
||||
alias_list = tmp[1].split(',')
|
||||
aliases = ""
|
||||
for alias in alias_list:
|
||||
if alias != aliasrm:
|
||||
if aliases:
|
||||
aliases = aliases + "," + alias
|
||||
else:
|
||||
aliases = alias
|
||||
cmd = SETUID + " set_mail_alias " + "'"+mail+"'"+" del "+"'"+alias+"'"
|
||||
res = os.system(cmd)
|
||||
if res == 0:
|
||||
cursor.execute("UPDATE users SET alias=? WHERE name=?",
|
||||
(aliases, UTILISATEUR))
|
||||
conn.commit()
|
||||
TIME=time.strftime("%A %d %B %Y %H:%M:%S")
|
||||
IP=request.environ['REMOTE_ADDR']
|
||||
CLIENT_PLATFORM=request.headers.get('User-Agent')
|
||||
log = TIME + ' - ' + IP + ' - ' + UTILISATEUR + ' - ' + CLIENT_PLATFORM + '\n' + '---> ' + "Suppression de l'alias "+ alias + '\n'
|
||||
append_to_log(log, UTILISATEUR)
|
||||
flash(u'Votre alias a été supprimé', 'succes')
|
||||
else:
|
||||
flash(u'Il y a eu une erreur', 'error')
|
||||
|
||||
return redirect(url_for('profil.myalias', _external=True))
|
||||
else:
|
||||
return redirect(BASE_URL, code=401)
|
||||
|
||||
|
||||
|
||||
@profil.route('/invitation/', methods=['GET'])
|
||||
|
||||
Reference in New Issue
Block a user