You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by br...@apache.org on 2017/09/26 18:39:29 UTC
[2/3] allura git commit: [#8164] add subscribe icon in Merge Request
action bar
[#8164] add subscribe icon in Merge Request action bar
Project: http://git-wip-us.apache.org/repos/asf/allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/allura/commit/6307d34f
Tree: http://git-wip-us.apache.org/repos/asf/allura/tree/6307d34f
Diff: http://git-wip-us.apache.org/repos/asf/allura/diff/6307d34f
Branch: refs/heads/db/8164
Commit: 6307d34f708ad5c000eb864ebf3e4d8147c4b9de
Parents: 63070c1
Author: Dave Brondsema <da...@brondsema.net>
Authored: Tue Sep 26 12:54:02 2017 -0400
Committer: Dave Brondsema <da...@brondsema.net>
Committed: Tue Sep 26 14:37:18 2017 -0400
----------------------------------------------------------------------
Allura/allura/controllers/repository.py | 29 +++++++++++++++++++-
Allura/allura/templates/repo/merge_request.html | 3 ++
2 files changed, 31 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/allura/blob/6307d34f/Allura/allura/controllers/repository.py
----------------------------------------------------------------------
diff --git a/Allura/allura/controllers/repository.py b/Allura/allura/controllers/repository.py
index 7b4c703..9518f89 100644
--- a/Allura/allura/controllers/repository.py
+++ b/Allura/allura/controllers/repository.py
@@ -359,6 +359,7 @@ class MergeRequestController(object):
page=None, limit=None, page_size=None, count=None,
style='linear')
mr_dispose_form = SCMMergeRequestDisposeWidget()
+ subscribe_form = SubscribeForm(thing='merge request')
def __init__(self, num):
self.req = M.MergeRequest.query.get(
@@ -373,9 +374,18 @@ class MergeRequestController(object):
c.thread = self.thread_widget
c.log_widget = self.log_widget
c.mr_dispose_form = self.mr_dispose_form
+ c.subscribe_form = self.subscribe_form
+
limit, page = h.paging_sanitizer(limit, page)
with self.req.push_downstream_context():
downstream_app = c.app
+
+ tool_subscribed = M.Mailbox.subscribed()
+ if tool_subscribed:
+ subscribed = False
+ else:
+ subscribed = M.Mailbox.subscribed(artifact=self.req)
+
result = dict(
downstream_app=downstream_app,
req=self.req,
@@ -384,7 +394,9 @@ class MergeRequestController(object):
merge_status=self.req.merge_task_status(),
page=page,
limit=limit,
- count=self.req.discussion_thread.post_count)
+ count=self.req.discussion_thread.post_count,
+ subscribed=subscribed,
+ )
try:
result['commits'] = self.req.commits
except Exception:
@@ -495,6 +507,21 @@ class MergeRequestController(object):
"""Return result from the cache. Used by js, after task was completed."""
return {'can_merge': self.req.can_merge()}
+ @expose('json:')
+ @require_post()
+ @validate(subscribe_form)
+ def subscribe(self, subscribe=None, unsubscribe=None, **kw):
+ if subscribe:
+ self.req.subscribe()
+ elif unsubscribe:
+ self.req.unsubscribe()
+ return {
+ 'status': 'ok',
+ 'subscribed': M.Mailbox.subscribed(artifact=self.req),
+ 'subscribed_to_tool': M.Mailbox.subscribed(),
+ 'subscribed_to_entire_name': 'code repository',
+ }
+
class RefsController(object):
http://git-wip-us.apache.org/repos/asf/allura/blob/6307d34f/Allura/allura/templates/repo/merge_request.html
----------------------------------------------------------------------
diff --git a/Allura/allura/templates/repo/merge_request.html b/Allura/allura/templates/repo/merge_request.html
index c5517c1..fd3acdf 100644
--- a/Allura/allura/templates/repo/merge_request.html
+++ b/Allura/allura/templates/repo/merge_request.html
@@ -27,6 +27,9 @@ Merge Request #{{req.request_number}}: {{req.summary}} ({{req.status}})
{% endblock %}
{% block actions %}
+ {% if c.user and c.user != c.user.anonymous() %}
+ {{ c.subscribe_form.display(value=subscribed, action='subscribe', style='icon') }}
+ {% endif %}
{% if h.has_access(req, 'write')() %}
{{ g.icons['edit'].render(href='edit', show_title=True) }}
{% endif %}