added delete alias feature
This commit is contained in:
parent
af2fd682da
commit
7a1c6dbbfb
49
app.py
49
app.py
|
@ -78,6 +78,21 @@ def miab_auth(username, password):
|
||||||
#or False
|
#or False
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
# get all aliases for a username
|
||||||
|
def get_aliases(username):
|
||||||
|
a = requests.get(miab_url + "/mail/aliases?format=json", auth=(miab_admin, miab_passwd))
|
||||||
|
data = a.json()
|
||||||
|
i=1 #start with 1 to skip miab main domain
|
||||||
|
aliases = []
|
||||||
|
while i < len(data):
|
||||||
|
j=0
|
||||||
|
while j < len(data[i]['aliases']):
|
||||||
|
if data[i]['aliases'][j]['forwards_to'][0] == username:
|
||||||
|
aliases.append(data[i]['aliases'][j]['address'])
|
||||||
|
j+=1
|
||||||
|
i+=1
|
||||||
|
return aliases
|
||||||
|
|
||||||
|
|
||||||
# routing
|
# routing
|
||||||
|
|
||||||
|
@ -86,8 +101,9 @@ def home():
|
||||||
username = logged_in()
|
username = logged_in()
|
||||||
message = request.get_cookie(cookie_name + "_message", secret=cookie_secret)
|
message = request.get_cookie(cookie_name + "_message", secret=cookie_secret)
|
||||||
if username:
|
if username:
|
||||||
|
aliases = get_aliases(username)
|
||||||
# render homepage
|
# render homepage
|
||||||
return template('default', username=username, app_name=app_name, message=message)
|
return template('default', username=username, app_name=app_name, message=message, aliases=aliases)
|
||||||
else:
|
else:
|
||||||
redirect('/login')
|
redirect('/login')
|
||||||
|
|
||||||
|
@ -158,6 +174,31 @@ def post_password():
|
||||||
redirect('/login')
|
redirect('/login')
|
||||||
|
|
||||||
|
|
||||||
|
#@post('/alias/add')
|
||||||
|
#def add_alias():
|
||||||
|
# pass
|
||||||
|
|
||||||
|
# delete alias
|
||||||
|
@post('/alias/delete')
|
||||||
|
def delete_alias():
|
||||||
|
username = logged_in()
|
||||||
|
if username:
|
||||||
|
remove = request.forms.get('remove')
|
||||||
|
aliases = get_aliases(username)
|
||||||
|
for alias in aliases:
|
||||||
|
if alias == remove:
|
||||||
|
#remove the alias
|
||||||
|
#requests.post()
|
||||||
|
message = { "message": "The alias " + str(remove) + " has been removed successfully", "alert": "success" }
|
||||||
|
response.set_cookie(cookie_name + "_message", message, secret=cookie_secret, max_age=5, path="/")
|
||||||
|
redirect('/')
|
||||||
|
message = { "message": "You're trying to do something filthy", "alert": "danger"}
|
||||||
|
response.set_cookie(cookie_name + "_message", message, secret=cookie_secret, max_age=5, path="/")
|
||||||
|
redirect('/')
|
||||||
|
else:
|
||||||
|
redirect('/login')
|
||||||
|
|
||||||
|
|
||||||
#@post('/delete')
|
#@post('/delete')
|
||||||
#def delete_account():
|
#def delete_account():
|
||||||
# username = logged_in()
|
# username = logged_in()
|
||||||
|
@ -167,13 +208,7 @@ def post_password():
|
||||||
# else:
|
# else:
|
||||||
# #render default and send flash error message
|
# #render default and send flash error message
|
||||||
|
|
||||||
#@post('/alias/add')
|
|
||||||
#def add_alias():
|
|
||||||
# pass
|
|
||||||
|
|
||||||
#@post('/alias/delete')
|
|
||||||
#def delete_alias():
|
|
||||||
# pass
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -78,10 +78,24 @@
|
||||||
<div class="starter-template">
|
<div class="starter-template">
|
||||||
<h2>Manage aliases</h2>
|
<h2>Manage aliases</h2>
|
||||||
<hr>
|
<hr>
|
||||||
<p>Aliases are additional email addresses which will be forwarded to your account. Besides your primary email address you can use an alias to send your emails.<br><small>Available domains: <b>@aundas.org</b>, <b>@socialnerds.org</b>, <b>@phlo.at</b>, <b>@gmur.ml</b>, <b>@socialg.it</b><br>Be aware the limit of five active aliases.</small></p>
|
<p>Aliases are additional email addresses which will be forwarded to your account.
|
||||||
<p>david@aundas.org (<a href="#">delete</a>)</p>
|
Besides your primary email address you can use an alias to send your emails.<br>
|
||||||
<p>david@socialnerds.org (<a href="#">delete</a>)</p>
|
<small>Available domains: <b>@aundas.org</b>, <b>@socialnerds.org</b>,
|
||||||
<p>hugo17@socialnerds.org (<a href="#">delete</a>)</p>
|
<b>@phlo.at</b>, <b>@gmur.ml</b>, <b>@socialg.it</b><br>
|
||||||
|
Be aware the limit of five active aliases.</small>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
%for alias in aliases:
|
||||||
|
<p>
|
||||||
|
<form class="form-inline" action="/alias/delete", method="post">
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="text" class="form-control" id="deletealiasInput" value="{{ alias }}" disabled>
|
||||||
|
<input name="remove" type="hidden" class="form-control" id="deletealiasInput2" value="{{ alias }}">
|
||||||
|
</div>
|
||||||
|
<button type="submit" class="btn btn-danger">delete</button>
|
||||||
|
</form>
|
||||||
|
</p>
|
||||||
|
%end
|
||||||
|
|
||||||
<form class="form-inline">
|
<form class="form-inline">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
|
|
Reference in New Issue