fix contact not highlighted after creation
This commit is contained in:
parent
59a336f5cd
commit
7c0e4b369a
|
@ -49,7 +49,7 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
{% for contact in contacts %}
|
{% for contact in contacts %}
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="my-2 p-2 card {% if contact.id == contact_id %} highlight-row {% endif %}">
|
<div class="my-2 p-2 card {% if contact.id == highlight_contact_id %} highlight-row {% endif %}">
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<a href="{{ 'mailto:' + contact.website_send_to() }}"
|
<a href="{{ 'mailto:' + contact.website_send_to() }}"
|
||||||
|
|
|
@ -46,11 +46,12 @@ class NewContactForm(FlaskForm):
|
||||||
|
|
||||||
|
|
||||||
@dashboard_bp.route("/alias_contact_manager/<alias_id>/", methods=["GET", "POST"])
|
@dashboard_bp.route("/alias_contact_manager/<alias_id>/", methods=["GET", "POST"])
|
||||||
@dashboard_bp.route(
|
|
||||||
"/alias_contact_manager/<alias_id>/<contact_id>", methods=["GET", "POST"]
|
|
||||||
)
|
|
||||||
@login_required
|
@login_required
|
||||||
def alias_contact_manager(alias_id, contact_id=None):
|
def alias_contact_manager(alias_id):
|
||||||
|
highlight_contact_id = None
|
||||||
|
if request.args.get("highlight_contact_id"):
|
||||||
|
highlight_contact_id = int(request.args.get("highlight_contact_id"))
|
||||||
|
|
||||||
alias = Alias.get(alias_id)
|
alias = Alias.get(alias_id)
|
||||||
|
|
||||||
# sanity check
|
# sanity check
|
||||||
|
@ -79,11 +80,16 @@ def alias_contact_manager(alias_id, contact_id=None):
|
||||||
|
|
||||||
_, website_email = parseaddr(contact_email)
|
_, website_email = parseaddr(contact_email)
|
||||||
|
|
||||||
|
contact = Contact.get_by(alias_id=alias.id, website_email=website_email)
|
||||||
# already been added
|
# already been added
|
||||||
if Contact.get_by(alias_id=alias.id, website_email=website_email):
|
if contact:
|
||||||
flash(f"{website_email} is already added", "error")
|
flash(f"{website_email} is already added", "error")
|
||||||
return redirect(
|
return redirect(
|
||||||
url_for("dashboard.alias_contact_manager", alias_id=alias_id)
|
url_for(
|
||||||
|
"dashboard.alias_contact_manager",
|
||||||
|
alias_id=alias_id,
|
||||||
|
highlight_contact_id=contact.id,
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
contact = Contact.create(
|
contact = Contact.create(
|
||||||
|
@ -102,7 +108,7 @@ def alias_contact_manager(alias_id, contact_id=None):
|
||||||
url_for(
|
url_for(
|
||||||
"dashboard.alias_contact_manager",
|
"dashboard.alias_contact_manager",
|
||||||
alias_id=alias_id,
|
alias_id=alias_id,
|
||||||
contact_id=contact.id,
|
highlight_contact_id=contact.id,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
elif request.form.get("form-name") == "delete":
|
elif request.form.get("form-name") == "delete":
|
||||||
|
@ -133,13 +139,15 @@ def alias_contact_manager(alias_id, contact_id=None):
|
||||||
# make sure highlighted contact is at array start
|
# make sure highlighted contact is at array start
|
||||||
contacts = alias.contacts
|
contacts = alias.contacts
|
||||||
|
|
||||||
if contact_id:
|
if highlight_contact_id:
|
||||||
contacts = sorted(contacts, key=lambda fe: fe.id == contact_id, reverse=True)
|
contacts = sorted(
|
||||||
|
contacts, key=lambda fe: fe.id == highlight_contact_id, reverse=True
|
||||||
|
)
|
||||||
|
|
||||||
return render_template(
|
return render_template(
|
||||||
"dashboard/alias_contact_manager.html",
|
"dashboard/alias_contact_manager.html",
|
||||||
contacts=contacts,
|
contacts=contacts,
|
||||||
alias=alias,
|
alias=alias,
|
||||||
new_contact_form=new_contact_form,
|
new_contact_form=new_contact_form,
|
||||||
contact_id=contact_id,
|
highlight_contact_id=highlight_contact_id,
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue