add alias search
This commit is contained in:
parent
a362a0f543
commit
28c8fa0f4d
|
@ -29,6 +29,13 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<form method="get" class="col-3">
|
||||||
|
<input type="search" name="query" placeholder="Enter to search for alias" class="form-control"
|
||||||
|
value="{{ query }}">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="row row-cards row-deck mt-4">
|
<div class="row row-cards row-deck mt-4">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
|
|
|
@ -33,6 +33,8 @@ def index():
|
||||||
if highlight_gen_email_id:
|
if highlight_gen_email_id:
|
||||||
del session[HIGHLIGHT_GEN_EMAIL_ID]
|
del session[HIGHLIGHT_GEN_EMAIL_ID]
|
||||||
|
|
||||||
|
query = request.args.get("query") or ""
|
||||||
|
|
||||||
# User generates a new email
|
# User generates a new email
|
||||||
if request.method == "POST":
|
if request.method == "POST":
|
||||||
if request.form.get("form-name") == "trigger-email":
|
if request.form.get("form-name") == "trigger-email":
|
||||||
|
@ -113,12 +115,13 @@ def index():
|
||||||
return render_template(
|
return render_template(
|
||||||
"dashboard/index.html",
|
"dashboard/index.html",
|
||||||
client_users=client_users,
|
client_users=client_users,
|
||||||
aliases=get_alias_info(current_user.id, highlight_gen_email_id),
|
aliases=get_alias_info(current_user.id, query, highlight_gen_email_id),
|
||||||
highlight_gen_email_id=highlight_gen_email_id,
|
highlight_gen_email_id=highlight_gen_email_id,
|
||||||
|
query=query,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def get_alias_info(user_id, highlight_gen_email_id=None) -> [AliasInfo]:
|
def get_alias_info(user_id, query=None, highlight_gen_email_id=None) -> [AliasInfo]:
|
||||||
aliases = {} # dict of alias and AliasInfo
|
aliases = {} # dict of alias and AliasInfo
|
||||||
q = db.session.query(GenEmail, ForwardEmail, ForwardEmailLog).filter(
|
q = db.session.query(GenEmail, ForwardEmail, ForwardEmailLog).filter(
|
||||||
GenEmail.user_id == user_id,
|
GenEmail.user_id == user_id,
|
||||||
|
@ -126,6 +129,9 @@ def get_alias_info(user_id, highlight_gen_email_id=None) -> [AliasInfo]:
|
||||||
ForwardEmail.id == ForwardEmailLog.forward_id,
|
ForwardEmail.id == ForwardEmailLog.forward_id,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if query:
|
||||||
|
q = q.filter(GenEmail.email.contains(query))
|
||||||
|
|
||||||
for ge, fe, fel in q:
|
for ge, fe, fel in q:
|
||||||
if ge.email not in aliases:
|
if ge.email not in aliases:
|
||||||
aliases[ge.email] = AliasInfo(
|
aliases[ge.email] = AliasInfo(
|
||||||
|
@ -150,6 +156,10 @@ def get_alias_info(user_id, highlight_gen_email_id=None) -> [AliasInfo]:
|
||||||
.filter(GenEmail.email.notin_(aliases.keys()))
|
.filter(GenEmail.email.notin_(aliases.keys()))
|
||||||
.filter(GenEmail.user_id == user_id)
|
.filter(GenEmail.user_id == user_id)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if query:
|
||||||
|
q = q.filter(GenEmail.email.contains(query))
|
||||||
|
|
||||||
for ge in q:
|
for ge in q:
|
||||||
aliases[ge.email] = AliasInfo(
|
aliases[ge.email] = AliasInfo(
|
||||||
gen_email=ge,
|
gen_email=ge,
|
||||||
|
|
Loading…
Reference in a new issue