From e7659a98cc46ad5dd804edd9b71533c8c1bdca87 Mon Sep 17 00:00:00 2001 From: Jeremy Archer Date: Thu, 21 Jan 2016 12:50:36 -0600 Subject: [PATCH] Sort entries by email in moderation view. --- caravel/controllers/moderation.py | 8 ++++++++ caravel/static/js/moderation.js | 6 ++---- caravel/templates/moderation/view.html | 18 ++++++++---------- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/caravel/controllers/moderation.py b/caravel/controllers/moderation.py index f43384a..e249ebd 100644 --- a/caravel/controllers/moderation.py +++ b/caravel/controllers/moderation.py @@ -14,6 +14,11 @@ def user_agent(user_agent): return str(user_agents.parse(user_agent)) +def email_order(entity): + user, domain = entity.principal.email.split("@") + return (domain, user) + + @app.route("/moderation", methods=["GET", "POST"]) def moderation_view(): """ @@ -48,6 +53,9 @@ def moderation_view(): inquiries = model.UnapprovedInquiry().query().fetch(100) listings = model.UnapprovedListing().query().fetch(100) + inquiries.sort(key=email_order) + listings.sort(key=email_order) + return render_template("moderation/view.html", inquiries=inquiries, listings=listings) diff --git a/caravel/static/js/moderation.js b/caravel/static/js/moderation.js index 82599b2..a292db6 100644 --- a/caravel/static/js/moderation.js +++ b/caravel/static/js/moderation.js @@ -11,12 +11,10 @@ var enableModeration = function(csrfToken) { elem.addEventListener("click", function() { var this_ = this, xhr = new XMLHttpRequest; xhr.open("POST", "/moderation", true); - this_.parentNode.parentNode.style.opacity = 0.5; + this_.parentNode.parentNode.remove(); xhr.onreadystatechange = function() { if (xhr.status >= 200 && xhr.status < 300) { - this_.parentNode.parentNode.remove(); - } else { - console.error("XHR FAILED"); + window.alert("XHR FAILED"); } }; xhr.setRequestHeader("Content-type", diff --git a/caravel/templates/moderation/view.html b/caravel/templates/moderation/view.html index 43f1f96..a2ba1fa 100644 --- a/caravel/templates/moderation/view.html +++ b/caravel/templates/moderation/view.html @@ -9,23 +9,22 @@

Inquiries

- - - + + {% for inquiry in inquiries %} - - - + +
User AgentIPEmailDevice Listing MessageEmail Moderation
{{ user_agent(inquiry.principal.device.user_agent) }}{{ inquiry.principal.device.ip_address }}{{ inquiry.principal.email }}{{ user_agent(inquiry.principal.device.user_agent) }}
+ {{ inquiry.principal.device.ip_address }}
{{ inquiry.listing.get().title }} {{ inquiry.message }}{{ inquiry.principal.email }} Approve Listings - - - + + @@ -49,9 +47,9 @@

Listings

- +
User AgentIPEmailDevice Title BodyEmail Moderation
{{ user_agent(listing.principal.device.user_agent) }} {{ listing.principal.device.ip_address }}{{ listing.principal.email }} {{ listing.title }} {{ listing.body }}{{ listing.principal.email }} Approve