From 1ee5ad17ed97017a7ee312b490749a9df71ce20a Mon Sep 17 00:00:00 2001 From: Ryan Lerch Date: Apr 11 2016 14:21:06 +0000 Subject: [PATCH 1/6] added and activity feed view for instances using datagrepper --- diff --git a/pagure/static/pagure.css b/pagure/static/pagure.css index 2dd7610..5dd5687 100644 --- a/pagure/static/pagure.css +++ b/pagure/static/pagure.css @@ -478,3 +478,19 @@ blockquote { color: #586e75; padding: 1em 1em 0.1em 1em; } + +.messagetitle{ + border-top: 1px solid #eee; +} + +.messageitem{ + padding-left: 2em; +} + +.messageicon{ +float: left; +font-size: 1.5em; +padding-right: 0.5em; +margin-top: -4px; +color: #999; +} diff --git a/pagure/templates/activity.html b/pagure/templates/activity.html new file mode 100644 index 0000000..c68db22 --- /dev/null +++ b/pagure/templates/activity.html @@ -0,0 +1,140 @@ +{% extends "repo_master.html" %} + +{% block title %}Activity - {{ repo.name }}{% endblock %} +{% set tag = "home" %} + + +{% block repo %} +
+
+
+{% endblock %} + +{% block jscripts %} +{{ super() }} + +{% endblock %} diff --git a/pagure/ui/repo.py b/pagure/ui/repo.py index fa819d1..6a3eb3a 100644 --- a/pagure/ui/repo.py +++ b/pagure/ui/repo.py @@ -1548,3 +1548,20 @@ def view_docs(repo, username=None, filename=None): endpoint='view_docs', select='docs', ) + +@APP.route('//activity/') +@APP.route('//activity') +def view_project_activity(repo): + """ Display the documentation + """ + repo_obj = pagure.lib.get_project(SESSION, repo, user=None) + + if not repo_obj: + flask.abort(404, 'Project not found') + if not APP.config.get('DATAGREPPER_URL'): + flask.abort(404) + + return flask.render_template( + 'activity.html', + repo=repo_obj, + ) From 8eb9dde266876802e26194f88f100fbbbf963a85 Mon Sep 17 00:00:00 2001 From: Ryan Lerch Date: Apr 11 2016 14:21:06 +0000 Subject: [PATCH 2/6] move the config check above the DB call --- diff --git a/pagure/ui/repo.py b/pagure/ui/repo.py index 6a3eb3a..af8cf36 100644 --- a/pagure/ui/repo.py +++ b/pagure/ui/repo.py @@ -1552,14 +1552,16 @@ def view_docs(repo, username=None, filename=None): @APP.route('//activity/') @APP.route('//activity') def view_project_activity(repo): - """ Display the documentation + """ Display the activity feed """ + + if not APP.config.get('DATAGREPPER_URL'): + flask.abort(404) + repo_obj = pagure.lib.get_project(SESSION, repo, user=None) if not repo_obj: flask.abort(404, 'Project not found') - if not APP.config.get('DATAGREPPER_URL'): - flask.abort(404) return flask.render_template( 'activity.html', From 8b40bac85fa2e897311e8754214ce08dc954a4be Mon Sep 17 00:00:00 2001 From: Ryan Lerch Date: Apr 11 2016 14:21:06 +0000 Subject: [PATCH 3/6] updated the feed to show git commits too --- diff --git a/pagure/static/pagure.css b/pagure/static/pagure.css index 5dd5687..9e4d314 100644 --- a/pagure/static/pagure.css +++ b/pagure/static/pagure.css @@ -494,3 +494,8 @@ padding-right: 0.5em; margin-top: -4px; color: #999; } +.msg-git-hash{ + font-family:monospace; + background-color:#eee; + color:#777; +} diff --git a/pagure/templates/activity.html b/pagure/templates/activity.html index c68db22..4113642 100644 --- a/pagure/templates/activity.html +++ b/pagure/templates/activity.html @@ -74,7 +74,24 @@ function processMessages(item, lastitem) { return "ISSUE#"+item["msg"]["issue"]["id"] } else if (item["topic"].indexOf("io.pagure.prod.pagure.project") > -1 ){ if (item["topic"]=="io.pagure.prod.pagure.project.forked"){ - $("#messages").append("
"+item["msg"]["agent"]+" forked "+item["msg"]["project"]["name"]+" into "+item["msg"]["agent"]+"/"+item["msg"]["project"]["name"]+"
"+item["meta"]["date"]+"
"); + $("#messages").append("
"+item["msg"]["agent"]+" forked "+item["msg"]["project"]["name"]+" into "+item["msg"]["agent"]+"/"+item["msg"]["project"]["name"]+"
"+item["meta"]["date"]+"
"); + } else { + $("#messages").append("
"+item["meta"]["subtitle"]+"
"); + } + return ""; + } else if (item["topic"].indexOf("io.pagure.prod.pagure.git") > -1 ){ + if (lastitem.valueOf() != new String("GITCOMMIT#"+item["msg"]["commit"]["branch"]).valueOf()) + { + $("#messages").append("
New commits to "+item['msg']['commit']['branch'].replace("refs/heads/","")+"
"+item["meta"]["date"]+"
"); + } + if (item["topic"]=="io.pagure.prod.pagure.git.receive"){ + $("#messages").append("\ + \ +
\ + "+item["msg"]["commit"]["name"]+" committed "+item["msg"]["commit"]["rev"].substring(0,6)+" "+item["msg"]["commit"]["message"]+" \ +
\ +
"); + return "GITCOMMIT#"+item["msg"]["commit"]["branch"]; } else { $("#messages").append("
"+item["meta"]["subtitle"]+"
"); } @@ -89,7 +106,7 @@ $(document).ready(function() { var page = null; pants = $.ajax({ type: 'GET', - url: "{{ config.get('DATAGREPPER_URL') }}/raw?category={{ config.get('DATAGREPPER_CATEGORY') }}&contains=%22name%22:%22{{repo.name}}%22&meta=link&meta=date&meta=subtitle", + url: "{{ config.get('DATAGREPPER_URL') }}/raw?delta=2592000&category={{ config.get('DATAGREPPER_CATEGORY') }}&category=git&contains=%22name%22:%22{{repo.name}}%22&meta=link&meta=date&meta=subtitle", async: false, contentType: "application/json", dataType: 'jsonp', @@ -113,7 +130,7 @@ $(document).ready(function() { $("#loadmore").hide(); $.ajax({ type: 'GET', - url: "{{ config.get('DATAGREPPER_URL') }}/raw?category={{ config.get('DATAGREPPER_CATEGORY') }}&contains=%22name%22:%22{{repo.name}}%22&meta=link&meta=date&meta=subtitle&page="+page, + url: "{{ config.get('DATAGREPPER_URL') }}/raw?delta=2592000&category={{ config.get('DATAGREPPER_CATEGORY') }}&category=git&contains=%22name%22:%22{{repo.name}}%22&meta=link&meta=date&meta=subtitle&page="+page, async: false, contentType: "application/json", dataType: 'jsonp', From 6f83abc9c05298c4b14f5f55671218dc54e2973f Mon Sep 17 00:00:00 2001 From: Ryan Lerch Date: Apr 11 2016 14:21:06 +0000 Subject: [PATCH 4/6] cleaned up code, removed long lines --- diff --git a/pagure/templates/activity.html b/pagure/templates/activity.html index 4113642..cefb2bd 100644 --- a/pagure/templates/activity.html +++ b/pagure/templates/activity.html @@ -7,49 +7,115 @@ {% block repo %}
-
+
+ + + +
{% endblock %} {% block jscripts %} {{ super() }}