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 2016/11/30 21:41:35 UTC
[14/14] allura git commit: [#7981] add per-thread subscription icon
[#7981] add per-thread subscription icon
Project: http://git-wip-us.apache.org/repos/asf/allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/allura/commit/4bc8b16b
Tree: http://git-wip-us.apache.org/repos/asf/allura/tree/4bc8b16b
Diff: http://git-wip-us.apache.org/repos/asf/allura/diff/4bc8b16b
Branch: refs/heads/db/7981
Commit: 4bc8b16b77df572014afe474afcf9ebeb15c5ef4
Parents: 7179a32
Author: Dave Brondsema <da...@brondsema.net>
Authored: Wed Nov 30 16:23:31 2016 -0500
Committer: Dave Brondsema <da...@brondsema.net>
Committed: Wed Nov 30 16:40:30 2016 -0500
----------------------------------------------------------------------
.../lib/widgets/resources/js/subscriptions.js | 6 ++++--
.../forgediscussion/controllers/forum.py | 20 ++++++++++++++++++++
.../templates/discussionforums/thread.html | 1 +
.../forgediscussion/templates/index.html | 2 +-
ForgeTracker/forgetracker/tracker_main.py | 1 +
ForgeWiki/forgewiki/wiki_main.py | 1 +
6 files changed, 28 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/allura/blob/4bc8b16b/Allura/allura/lib/widgets/resources/js/subscriptions.js
----------------------------------------------------------------------
diff --git a/Allura/allura/lib/widgets/resources/js/subscriptions.js b/Allura/allura/lib/widgets/resources/js/subscriptions.js
index 5e61caf..14d37a7 100644
--- a/Allura/allura/lib/widgets/resources/js/subscriptions.js
+++ b/Allura/allura/lib/widgets/resources/js/subscriptions.js
@@ -69,10 +69,12 @@ SubscriptionForm = React.createClass({
if (resp.subscribed_to_tool) {
text = "You can't subscribe to this ";
text += this.props.thing;
- text += " because you are already subscribed to the entire tool";
+ text += " because you are already subscribed to the entire ";
+ text += resp.subscribed_to_entire_name ? resp.subscribed_to_entire_name : "tool";
+ text += ".";
} else {
var action = resp.subscribed ? 'subscribed to' : 'unsubscribed from';
- text = 'Successfully ' + action + ' this ' + this.props.thing;
+ text = 'Successfully ' + action + ' this ' + this.props.thing + '.';
}
$(link).tooltipster('content', text).tooltipster('show');
if (this.state.tooltip_timeout) {
http://git-wip-us.apache.org/repos/asf/allura/blob/4bc8b16b/ForgeDiscussion/forgediscussion/controllers/forum.py
----------------------------------------------------------------------
diff --git a/ForgeDiscussion/forgediscussion/controllers/forum.py b/ForgeDiscussion/forgediscussion/controllers/forum.py
index 3b81842..ee00fe2 100644
--- a/ForgeDiscussion/forgediscussion/controllers/forum.py
+++ b/ForgeDiscussion/forgediscussion/controllers/forum.py
@@ -161,6 +161,7 @@ class ForumController(DiscussionController):
class ForumThreadController(ThreadController):
+ W = WidgetConfig
@expose('jinja:forgediscussion:templates/discussionforums/thread.html')
@validate(dict(page=validators.Int(if_empty=0, if_invalid=0),
@@ -168,6 +169,7 @@ class ForumThreadController(ThreadController):
def index(self, limit=25, page=0, count=0, **kw):
if self.thread.discussion.deleted and not has_access(c.app, 'configure')():
redirect(self.thread.discussion.url() + 'deleted')
+ c.thread_subscription_form = self.W.subscribe_form
return super(ForumThreadController, self).index(limit=limit, page=page, count=count, show_moderate=True, **kw)
@h.vardec
@@ -191,6 +193,24 @@ class ForumThreadController(ThreadController):
self.thread.flags = args.pop('flags', [])
redirect(self.thread.url())
+ @expose('json:')
+ @require_post()
+ @validate(W.subscribe_form)
+ def subscribe(self, subscribe=None, unsubscribe=None, **kw):
+ if subscribe:
+ self.thread.subscribe()
+ elif unsubscribe:
+ self.thread.unsubscribe()
+
+ sub_tool = M.Mailbox.subscribed()
+ sub_forum = M.Mailbox.subscribed(artifact=self.discussion)
+ return {
+ 'status': 'ok',
+ 'subscribed': M.Mailbox.subscribed(artifact=self.thread),
+ 'subscribed_to_tool': sub_tool or sub_forum,
+ 'subscribed_to_entire_name': 'forum' if sub_forum else 'discussion tool',
+ }
+
class ForumPostController(PostController):
http://git-wip-us.apache.org/repos/asf/allura/blob/4bc8b16b/ForgeDiscussion/forgediscussion/templates/discussionforums/thread.html
----------------------------------------------------------------------
diff --git a/ForgeDiscussion/forgediscussion/templates/discussionforums/thread.html b/ForgeDiscussion/forgediscussion/templates/discussionforums/thread.html
index 367cd8a..d37d044 100644
--- a/ForgeDiscussion/forgediscussion/templates/discussionforums/thread.html
+++ b/ForgeDiscussion/forgediscussion/templates/discussionforums/thread.html
@@ -31,6 +31,7 @@
{% endif %}
{# {{ g.icons['tag'].render(title='Label This', extra_css='thread_tag') }} these labels aren't used anywhere ... #}
{{ g.icons['feed'].render(href='feed.rss', title='Follow This', extra_css='thread_feed0') }}
+ {{ c.thread_subscription_form.display(value=thread.subscribed(), action='subscribe', style='icon', thing='thread') }}
{% endblock %}
{% block edit_box %}
http://git-wip-us.apache.org/repos/asf/allura/blob/4bc8b16b/ForgeDiscussion/forgediscussion/templates/index.html
----------------------------------------------------------------------
diff --git a/ForgeDiscussion/forgediscussion/templates/index.html b/ForgeDiscussion/forgediscussion/templates/index.html
index da2c3a9..b43fedc 100644
--- a/ForgeDiscussion/forgediscussion/templates/index.html
+++ b/ForgeDiscussion/forgediscussion/templates/index.html
@@ -21,5 +21,5 @@
{% block actions %}
{{ super() }}
- {{c.whole_forum_subscription_form.display(value=c.subscribed, action='subscribe_to_forum', style='icon', thing='discussion')}}
+ {{c.whole_forum_subscription_form.display(value=c.subscribed, action='subscribe_to_forum', style='icon', thing='forum')}}
{% endblock %}
http://git-wip-us.apache.org/repos/asf/allura/blob/4bc8b16b/ForgeTracker/forgetracker/tracker_main.py
----------------------------------------------------------------------
diff --git a/ForgeTracker/forgetracker/tracker_main.py b/ForgeTracker/forgetracker/tracker_main.py
index 42dffb3..3227c4f 100644
--- a/ForgeTracker/forgetracker/tracker_main.py
+++ b/ForgeTracker/forgetracker/tracker_main.py
@@ -1559,6 +1559,7 @@ class TicketController(BaseController, FeedController):
'status': 'ok',
'subscribed': M.Mailbox.subscribed(artifact=self.ticket),
'subscribed_to_tool': M.Mailbox.subscribed(),
+ 'subscribed_to_entire_name': 'ticket tracker',
}
@expose('json:')
http://git-wip-us.apache.org/repos/asf/allura/blob/4bc8b16b/ForgeWiki/forgewiki/wiki_main.py
----------------------------------------------------------------------
diff --git a/ForgeWiki/forgewiki/wiki_main.py b/ForgeWiki/forgewiki/wiki_main.py
index 379914a..3fb7fb3 100644
--- a/ForgeWiki/forgewiki/wiki_main.py
+++ b/ForgeWiki/forgewiki/wiki_main.py
@@ -793,6 +793,7 @@ class PageController(BaseController, FeedController):
'status': 'ok',
'subscribed': M.Mailbox.subscribed(artifact=self.page),
'subscribed_to_tool': M.Mailbox.subscribed(),
+ 'subscribed_to_entire_name': 'wiki',
}