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:33 UTC

[12/14] allura git commit: [#7981] disable per-thread checkboxes form, when subscribed at a higher level

[#7981] disable per-thread checkboxes form, when subscribed at a higher level


Project: http://git-wip-us.apache.org/repos/asf/allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/allura/commit/aea9f02e
Tree: http://git-wip-us.apache.org/repos/asf/allura/tree/aea9f02e
Diff: http://git-wip-us.apache.org/repos/asf/allura/diff/aea9f02e

Branch: refs/heads/db/7981
Commit: aea9f02edb1c8efcb112832297ad67a57f6a4e73
Parents: 69d1baf
Author: Dave Brondsema <da...@brondsema.net>
Authored: Fri Nov 18 17:52:18 2016 -0500
Committer: Dave Brondsema <da...@brondsema.net>
Committed: Wed Nov 30 16:40:30 2016 -0500

----------------------------------------------------------------------
 Allura/allura/templates/widgets/subscription_form.html |  3 ++-
 Allura/allura/templates/widgets/threads_table.html     | 11 ++++++++++-
 ForgeDiscussion/forgediscussion/controllers/forum.py   |  4 +++-
 3 files changed, 15 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/allura/blob/aea9f02e/Allura/allura/templates/widgets/subscription_form.html
----------------------------------------------------------------------
diff --git a/Allura/allura/templates/widgets/subscription_form.html b/Allura/allura/templates/widgets/subscription_form.html
index 7b6ef2f..c03f8d2 100644
--- a/Allura/allura/templates/widgets/subscription_form.html
+++ b/Allura/allura/templates/widgets/subscription_form.html
@@ -25,7 +25,8 @@
   {% endif %}
   <form method="{{method}}" action="{{action}}" {% if enctype %}enctype="{{enctype}}"{% endif %} class="follow_form">
     {{widget.fields['threads'].display(value=threads)}}
-    {% if threads and not c.user.is_anonymous() %}
+    {% if threads and not c.user.is_anonymous() and
+            not c.subscribed and not c.tool_subscribed %}
     <p>
     <input type="submit" value="Update email subscriptions"/>
     </p>

http://git-wip-us.apache.org/repos/asf/allura/blob/aea9f02e/Allura/allura/templates/widgets/threads_table.html
----------------------------------------------------------------------
diff --git a/Allura/allura/templates/widgets/threads_table.html b/Allura/allura/templates/widgets/threads_table.html
index 873b537..c4f3d0b 100644
--- a/Allura/allura/templates/widgets/threads_table.html
+++ b/Allura/allura/templates/widgets/threads_table.html
@@ -18,6 +18,9 @@
 -#}
 {% import 'allura:templates/jinja_master/lib.html' as lib with context %}
 
+{% set forum_subscribed = c.subscribed %} {# set in controller #}
+{% set tool_subscribed = c.tool_subscribed %}
+
 <div{{ {'id': div_id}|xmlattr }}>
   <table class="forum-list clear">
     <thead>
@@ -36,7 +39,13 @@
       <tr>
         {% if not c.user.is_anonymous() and allow_subscriptions %}
           <td>
-            <input type="checkbox" name="threads-{{loop.index0}}.subscription" {% if thread.subscribed() %}checked="checked"{% endif %} />
+            <input type="checkbox" name="threads-{{loop.index0}}.subscription"
+                   {%- if thread.subscribed() or forum_subscribed or tool_subscribed %} checked="checked" {% endif -%}
+                   {%- if forum_subscribed or tool_subscribed %}
+                        disabled title="You are subscribed to this entire {% if forum_subscribed %}Forum. Unsubscribe with mail icon in upper right, or on Account - Subscriptions page.
+                            {%- else %}Discussion tool.  Unsubscribe on Account - Subscriptions page.{% endif %}"
+                   {%- endif -%}
+            />
             <input type="hidden" name="threads-{{loop.index0}}._id" value="{{thread._id}}"/>
           </td>
         {% endif %}

http://git-wip-us.apache.org/repos/asf/allura/blob/aea9f02e/ForgeDiscussion/forgediscussion/controllers/forum.py
----------------------------------------------------------------------
diff --git a/ForgeDiscussion/forgediscussion/controllers/forum.py b/ForgeDiscussion/forgediscussion/controllers/forum.py
index 52b3b7c..3b81842 100644
--- a/ForgeDiscussion/forgediscussion/controllers/forum.py
+++ b/ForgeDiscussion/forgediscussion/controllers/forum.py
@@ -106,7 +106,9 @@ class ForumController(DiscussionController):
         if self.discussion.deleted:
             redirect(self.discussion.url() + 'deleted')
         limit, page, start = g.handle_paging(limit, page)
-        c.subscribed = M.Mailbox.subscribed(artifact=self.discussion)
+        if not c.user.is_anonymous():
+            c.subscribed = M.Mailbox.subscribed(artifact=self.discussion)
+            c.tool_subscribed = M.Mailbox.subscribed()
         threads = DM.ForumThread.query.find(dict(discussion_id=self.discussion._id, num_replies={'$gt': 0})) \
                                       .sort([('flags', pymongo.DESCENDING), ('last_post_date', pymongo.DESCENDING)])
         c.discussion = self.W.discussion