From 826e7a9c94e3e500d654409c2dd78e2865eeaa94 Mon Sep 17 00:00:00 2001 From: Ilya Shakhat Date: Wed, 6 Jul 2016 16:54:08 +0300 Subject: [PATCH] Integrate Twitter into activity log reports Change-Id: I95721c7a25e60253e9acf244fb7ddc7a557e0ac1 --- stackalytics/dashboard/reports.py | 2 +- .../dashboard/static/js/stackalytics-ui.js | 36 +++++++++++ .../templates/_macros/activity_log.html | 35 ++++++++++- .../dashboard/templates/overview.html | 1 + .../dashboard/templates/reports/activity.html | 3 +- .../templates/reports/company_activity.html | 3 +- .../dashboard/templates/reports/record.html | 62 ++++++++----------- .../templates/reports/user_activity.html | 3 +- 8 files changed, 105 insertions(+), 40 deletions(-) diff --git a/stackalytics/dashboard/reports.py b/stackalytics/dashboard/reports.py index 90dd93bc9..3aa0da227 100644 --- a/stackalytics/dashboard/reports.py +++ b/stackalytics/dashboard/reports.py @@ -272,7 +272,7 @@ def company_activity(company): return result -@blueprint.route('/record/') +@blueprint.route('/record/') @decorators.templated() @decorators.exception_handler() def record(record_id): diff --git a/stackalytics/dashboard/static/js/stackalytics-ui.js b/stackalytics/dashboard/static/js/stackalytics-ui.js index 7b7df473c..7f7970485 100644 --- a/stackalytics/dashboard/static/js/stackalytics-ui.js +++ b/stackalytics/dashboard/static/js/stackalytics-ui.js @@ -266,6 +266,42 @@ function extendWithGravatar(record, image_size) { }); } +function extendWithTweet(record) { + var tweet = null; + + if (record.record_type == "commit") { + tweet = "«" + record.subject + "» is committed by " + record.author_name + " in " + record.module; + } else if (record.record_type == "mark") { + if (record.type == "Workflow" && record.value == 1) { + tweet = record.author_name + " approved «" + record.parent_subject + "» in " + record.module + ":P"; + } else if (record.type == "Self-Workflow" && record.value == 1) { + tweet = record.author_name + " self-approved patch in " + record.module; + } else if (record.type == "Workflow" && record.value == -1) { + tweet = record.author_name + " work in progress on patch in " + record.module; + } else if (record.type == "Abandon" || record.type == "Self-Abandon") { + tweet = record.author_name + " abandoned patch in " + record.module; + } else { + var smile = [";(", ":(", "", ":)", ":D"][record.value + 2]; + tweet = "Got " + ((record.value > 0)? "+": "") + record.value + " from " + record.author_name + " on patch in " + record.module + smile; + } + } else if (record.record_type == "review") { + tweet = record.status + " change request by " + record.author_name + " in " + record.module; + } else if (record.record_type == "patch") { + tweet = record.author_name + " submitted «" + record.parent_subject + "» in " + record.module; + } else if (record.record_type == "email") { + tweet = record.author_name + " emails about " + record.subject; + } else if (record.record_type == "bpd" || record.record_type == "bpc") { + tweet = "Blueprint «" + record.title + "» in " + record.module; + } else if (record.record_type == "bugf" || record.record_type == "bugr") { + tweet = record.status + " bug «" + record.title + "» in " + record.module + " " + record.web_link; + } else if (record.record_type == "tr") { + tweet = record.author_name + " translated " + record.loc + " words into " + record.language; + } + + record.tweet = tweet; + record.tweet_url = "http://stackalytics.com/report/record/" + record.primary_key; +} + function encodeURI(s) { s = encodeURIComponent(s); s = s.replace("*", "%2A"); diff --git a/stackalytics/dashboard/templates/_macros/activity_log.html b/stackalytics/dashboard/templates/_macros/activity_log.html index 4182b5dc4..5aa2282ce 100644 --- a/stackalytics/dashboard/templates/_macros/activity_log.html +++ b/stackalytics/dashboard/templates/_macros/activity_log.html @@ -1,5 +1,26 @@ {% macro show_activity_log(user_id=None, company=None, blueprint_id=None, -show_record_type=True, show_user_gravatar=True, gravatar_size=32, show_all=True) -%} +show_record_type=True, show_user_gravatar=True, gravatar_size=32, show_all=True, +show_twitter=False) -%} + +{% if show_twitter %} + +{% endif %} + {% endblock %} @@ -213,10 +208,7 @@ into {{ record.language }} {% endif %} -
- - -
+
diff --git a/stackalytics/dashboard/templates/reports/user_activity.html b/stackalytics/dashboard/templates/reports/user_activity.html index 39d4af592..91a021ed1 100644 --- a/stackalytics/dashboard/templates/reports/user_activity.html +++ b/stackalytics/dashboard/templates/reports/user_activity.html @@ -21,6 +21,7 @@
-{{ activity_log.show_activity_log(user_id=user.user_id, show_user_gravatar=false, gravatar_size=64) }} +{{ activity_log.show_activity_log(user_id=user.user_id, + show_user_gravatar=false, gravatar_size=64, show_twitter=True) }} {% endblock %}