You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by jo...@apache.org on 2013/12/12 18:31:59 UTC

[1/4] git commit: [#6888] ticket:495 Store option in preferences, don't use extra field on User

Updated Branches:
  refs/heads/master 2426f037a -> 1eea58c63


[#6888] ticket:495 Store option in preferences, don't use extra field on User


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

Branch: refs/heads/master
Commit: 55e2b11be8a89482282a611606481adb533cb759
Parents: 19b00b3
Author: Igor Bondarenko <je...@gmail.com>
Authored: Thu Nov 28 11:57:28 2013 +0000
Committer: Cory Johns <ad...@users.sf.net>
Committed: Thu Dec 12 15:41:40 2013 +0000

----------------------------------------------------------------------
 Allura/allura/controllers/auth.py                        |  4 ++--
 Allura/allura/ext/user_profile/templates/user_index.html |  2 +-
 Allura/allura/ext/user_profile/user_main.py              |  4 ++--
 Allura/allura/lib/plugin.py                              |  3 +++
 Allura/allura/model/auth.py                              |  4 ++--
 Allura/allura/templates/user_prefs.html                  |  4 ++--
 Allura/allura/tests/functional/test_auth.py              |  8 ++++----
 Allura/allura/tests/functional/test_user_profile.py      | 11 +++--------
 8 files changed, 19 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/55e2b11b/Allura/allura/controllers/auth.py
----------------------------------------------------------------------
diff --git a/Allura/allura/controllers/auth.py b/Allura/allura/controllers/auth.py
index 7a58eda..6116570 100644
--- a/Allura/allura/controllers/auth.py
+++ b/Allura/allura/controllers/auth.py
@@ -509,8 +509,8 @@ class PreferencesController(BaseController):
 
     @expose()
     @require_post()
-    def user_message(self, allow_user_message=None):
-        c.user.allow_user_message = allow_user_message is not None
+    def user_message(self, allow_user_messages=None):
+        c.user.set_pref('allow_user_messages', allow_user_messages is not None)
         redirect(request.referer)
 
 class UserInfoController(BaseController):

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/55e2b11b/Allura/allura/ext/user_profile/templates/user_index.html
----------------------------------------------------------------------
diff --git a/Allura/allura/ext/user_profile/templates/user_index.html b/Allura/allura/ext/user_profile/templates/user_index.html
index f3639d1..6052f75 100644
--- a/Allura/allura/ext/user_profile/templates/user_index.html
+++ b/Allura/allura/ext/user_profile/templates/user_index.html
@@ -229,7 +229,7 @@
       </div>
     {% endif %}
 
-    {% if user.get_pref('email_address') and c.user.get_pref('email_address') and user.allow_user_message %}
+    {% if user.get_pref('email_address') and c.user.get_pref('email_address') and user.get_pref('allow_user_messages') %}
     <div class="grid-24">
       <b><a href="send_message">Send me a message</a></b>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/55e2b11b/Allura/allura/ext/user_profile/user_main.py
----------------------------------------------------------------------
diff --git a/Allura/allura/ext/user_profile/user_main.py b/Allura/allura/ext/user_profile/user_main.py
index c57fb60..b6342f8 100644
--- a/Allura/allura/ext/user_profile/user_main.py
+++ b/Allura/allura/ext/user_profile/user_main.py
@@ -107,8 +107,8 @@ class UserProfileController(BaseController, FeedController):
                     'an email address associated with their account.', 'info')
             redirect(request.referer)
 
-        if not to_user.allow_user_message:
-            flash('This user has disabled user message', 'info')
+        if not to_user.get_pref('allow_user_messages'):
+            flash('This user has disabled direct email messages', 'info')
             redirect(request.referer)
 
     @expose('jinja:allura.ext.user_profile:templates/user_index.html')

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/55e2b11b/Allura/allura/lib/plugin.py
----------------------------------------------------------------------
diff --git a/Allura/allura/lib/plugin.py b/Allura/allura/lib/plugin.py
index 0c6c3b1..955b741 100644
--- a/Allura/allura/lib/plugin.py
+++ b/Allura/allura/lib/plugin.py
@@ -949,6 +949,9 @@ class LocalUserPreferencesProvider(UserPreferencesProvider):
 
     def get_pref(self, user, pref_name):
         if pref_name in user.preferences:
+            if pref_name == 'allow_user_messages' and user.preferences[pref_name] is None:
+                # allow_user_messages should be True by default
+                user.preferences[pref_name] = True
             return user.preferences[pref_name]
         else:
             return getattr(user, pref_name)

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/55e2b11b/Allura/allura/model/auth.py
----------------------------------------------------------------------
diff --git a/Allura/allura/model/auth.py b/Allura/allura/model/auth.py
index f7a8705..6d5972e 100644
--- a/Allura/allura/model/auth.py
+++ b/Allura/allura/model/auth.py
@@ -319,7 +319,8 @@ class User(MappedClass, ActivityNode, ActivityObject):
     preferences=FieldProperty(dict(
             results_per_page=int,
             email_address=str,
-            email_format=str))
+            email_format=str,
+            allow_user_messages=bool))
 
     #Personal data
     sex=FieldProperty(
@@ -353,7 +354,6 @@ class User(MappedClass, ActivityNode, ActivityObject):
 
     #Statistics
     stats_id = FieldProperty(S.ObjectId, if_missing=None)
-    allow_user_message = FieldProperty(bool, if_missing=True)
 
     def can_send_user_message(self):
         """Return true if User is permitted to send a mesage to another user.

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/55e2b11b/Allura/allura/templates/user_prefs.html
----------------------------------------------------------------------
diff --git a/Allura/allura/templates/user_prefs.html b/Allura/allura/templates/user_prefs.html
index 6f9e155..185712f 100644
--- a/Allura/allura/templates/user_prefs.html
+++ b/Allura/allura/templates/user_prefs.html
@@ -162,8 +162,8 @@
     <h2>User Messages</h2>
     <form method="POST" action="user_message">
     <div class="grid-19">
-        <input type="checkbox" id="allow_user_message" name="allow_user_message" {% if c.user.allow_user_message %} checked {% endif %}>
-        <label for="allow_user_message">Allow user messages</label>
+        <input type="checkbox" id="allow_user_messages" name="allow_user_messages" {% if c.user.get_pref('allow_user_messages') %} checked {% endif %}>
+        <label for="allow_user_messages">Allow another user to send me direct email messages</label>
     </div>
     <label class="grid-4">&nbsp;</label>
     <div class="grid-19">

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/55e2b11b/Allura/allura/tests/functional/test_auth.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/functional/test_auth.py b/Allura/allura/tests/functional/test_auth.py
index cad16dd..242d31b 100644
--- a/Allura/allura/tests/functional/test_auth.py
+++ b/Allura/allura/tests/functional/test_auth.py
@@ -714,11 +714,11 @@ class TestPreferences(TestController):
 
     @td.with_user_project('test-admin')
     def test_user_message(self):
-        assert M.User.query.get(username='test-admin').allow_user_message
+        assert M.User.query.get(username='test-admin').get_pref('allow_user_messages')
         self.app.post('/auth/preferences/user_message')
-        assert not M.User.query.get(username='test-admin').allow_user_message
-        self.app.post('/auth/preferences/user_message', params={'allow_user_message': 'on'})
-        assert M.User.query.get(username='test-admin').allow_user_message
+        assert not M.User.query.get(username='test-admin').get_pref('allow_user_messages')
+        self.app.post('/auth/preferences/user_message', params={'allow_user_messages': 'on'})
+        assert M.User.query.get(username='test-admin').get_pref('allow_user_messages')
 
 
 class TestPasswordReset(TestController):

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/55e2b11b/Allura/allura/tests/functional/test_user_profile.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/functional/test_user_profile.py b/Allura/allura/tests/functional/test_user_profile.py
index fae35e5..cc90e2b 100644
--- a/Allura/allura/tests/functional/test_user_profile.py
+++ b/Allura/allura/tests/functional/test_user_profile.py
@@ -134,17 +134,12 @@ class TestUserProfile(TestController):
         assert '<a href="send_message">Send me a message</a>' not in r
 
     @td.with_user_project('test-user')
-    def test_allow_user_message(self):
+    def test_allow_user_messages(self):
         User.by_username('test-admin').set_pref('email_address', 'admin@example.com')
         test_user = User.by_username('test-user')
         test_user.set_pref('email_address', 'user@example.com')
-        test_user.allow_user_message = False
+        test_user.set_pref('allow_user_messages', False)
         r = self.app.get('/u/test-user/profile')
         assert '<a href="send_message">Send me a message</a>' not in r
         r = self.app.get('/u/test-user/profile/send_message', status=302)
-        assert 'This user has disabled user message' in self.webflash(r)
-
-
-
-
-
+        assert 'This user has disabled direct email messages' in self.webflash(r)


[3/4] git commit: [#6888] Added CSRF token and missing closing tag to user message pref form

Posted by jo...@apache.org.
[#6888] Added CSRF token and missing closing tag to user message pref form

Signed-off-by: Cory Johns <ad...@users.sf.net>


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

Branch: refs/heads/master
Commit: 3480d9b4b52d5a4437fe56e801e8acd872e61874
Parents: 55e2b11
Author: Cory Johns <ad...@users.sf.net>
Authored: Thu Dec 12 17:27:10 2013 +0000
Committer: Cory Johns <ad...@users.sf.net>
Committed: Thu Dec 12 17:27:10 2013 +0000

----------------------------------------------------------------------
 Allura/allura/templates/user_prefs.html | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/3480d9b4/Allura/allura/templates/user_prefs.html
----------------------------------------------------------------------
diff --git a/Allura/allura/templates/user_prefs.html b/Allura/allura/templates/user_prefs.html
index 185712f..4d75a6f 100644
--- a/Allura/allura/templates/user_prefs.html
+++ b/Allura/allura/templates/user_prefs.html
@@ -169,5 +169,7 @@
     <div class="grid-19">
         <input class="submit" type="submit" value="Save">
     </div>
+    {{ lib.csrf_token() }}
+    </form>
 </div>
 {% endblock %}


[2/4] git commit: [#6888] ticket:495 option to disable the send message form

Posted by jo...@apache.org.
 [#6888] ticket:495 option to disable the send message form


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

Branch: refs/heads/master
Commit: 19b00b3b4e76dd1df5caef17da306c5b9c481cf7
Parents: 2426f03
Author: Yuriy Arhipov <yu...@yandex.ru>
Authored: Mon Nov 25 13:00:08 2013 +0400
Committer: Cory Johns <ad...@users.sf.net>
Committed: Thu Dec 12 15:41:40 2013 +0000

----------------------------------------------------------------------
 Allura/allura/controllers/auth.py                   |  6 ++++++
 .../ext/user_profile/templates/user_index.html      |  2 +-
 Allura/allura/ext/user_profile/user_main.py         |  4 ++++
 Allura/allura/model/auth.py                         |  1 +
 Allura/allura/templates/user_prefs.html             | 12 ++++++++++++
 Allura/allura/tests/functional/test_auth.py         |  8 ++++++++
 Allura/allura/tests/functional/test_user_profile.py | 16 ++++++++++++++++
 7 files changed, 48 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/19b00b3b/Allura/allura/controllers/auth.py
----------------------------------------------------------------------
diff --git a/Allura/allura/controllers/auth.py b/Allura/allura/controllers/auth.py
index d945394..7a58eda 100644
--- a/Allura/allura/controllers/auth.py
+++ b/Allura/allura/controllers/auth.py
@@ -507,6 +507,12 @@ class PreferencesController(BaseController):
         flash('Key uploaded')
         redirect('.')
 
+    @expose()
+    @require_post()
+    def user_message(self, allow_user_message=None):
+        c.user.allow_user_message = allow_user_message is not None
+        redirect(request.referer)
+
 class UserInfoController(BaseController):
 
     def __init__(self, *args, **kwargs):

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/19b00b3b/Allura/allura/ext/user_profile/templates/user_index.html
----------------------------------------------------------------------
diff --git a/Allura/allura/ext/user_profile/templates/user_index.html b/Allura/allura/ext/user_profile/templates/user_index.html
index e3f2833..f3639d1 100644
--- a/Allura/allura/ext/user_profile/templates/user_index.html
+++ b/Allura/allura/ext/user_profile/templates/user_index.html
@@ -229,7 +229,7 @@
       </div>
     {% endif %}
 
-    {% if user.get_pref('email_address') and c.user.get_pref('email_address') %}
+    {% if user.get_pref('email_address') and c.user.get_pref('email_address') and user.allow_user_message %}
     <div class="grid-24">
       <b><a href="send_message">Send me a message</a></b>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/19b00b3b/Allura/allura/ext/user_profile/user_main.py
----------------------------------------------------------------------
diff --git a/Allura/allura/ext/user_profile/user_main.py b/Allura/allura/ext/user_profile/user_main.py
index 4666e35..c57fb60 100644
--- a/Allura/allura/ext/user_profile/user_main.py
+++ b/Allura/allura/ext/user_profile/user_main.py
@@ -107,6 +107,10 @@ class UserProfileController(BaseController, FeedController):
                     'an email address associated with their account.', 'info')
             redirect(request.referer)
 
+        if not to_user.allow_user_message:
+            flash('This user has disabled user message', 'info')
+            redirect(request.referer)
+
     @expose('jinja:allura.ext.user_profile:templates/user_index.html')
     def index(self, **kw):
         user = c.project.user_project_of

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/19b00b3b/Allura/allura/model/auth.py
----------------------------------------------------------------------
diff --git a/Allura/allura/model/auth.py b/Allura/allura/model/auth.py
index d1f5b7f..f7a8705 100644
--- a/Allura/allura/model/auth.py
+++ b/Allura/allura/model/auth.py
@@ -353,6 +353,7 @@ class User(MappedClass, ActivityNode, ActivityObject):
 
     #Statistics
     stats_id = FieldProperty(S.ObjectId, if_missing=None)
+    allow_user_message = FieldProperty(bool, if_missing=True)
 
     def can_send_user_message(self):
         """Return true if User is permitted to send a mesage to another user.

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/19b00b3b/Allura/allura/templates/user_prefs.html
----------------------------------------------------------------------
diff --git a/Allura/allura/templates/user_prefs.html b/Allura/allura/templates/user_prefs.html
index 3185747..6f9e155 100644
--- a/Allura/allura/templates/user_prefs.html
+++ b/Allura/allura/templates/user_prefs.html
@@ -158,4 +158,16 @@
       </form>
   </div>
   {% endif %}
+<div class="grid-20">
+    <h2>User Messages</h2>
+    <form method="POST" action="user_message">
+    <div class="grid-19">
+        <input type="checkbox" id="allow_user_message" name="allow_user_message" {% if c.user.allow_user_message %} checked {% endif %}>
+        <label for="allow_user_message">Allow user messages</label>
+    </div>
+    <label class="grid-4">&nbsp;</label>
+    <div class="grid-19">
+        <input class="submit" type="submit" value="Save">
+    </div>
+</div>
 {% endblock %}

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/19b00b3b/Allura/allura/tests/functional/test_auth.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/functional/test_auth.py b/Allura/allura/tests/functional/test_auth.py
index 4bb106d..cad16dd 100644
--- a/Allura/allura/tests/functional/test_auth.py
+++ b/Allura/allura/tests/functional/test_auth.py
@@ -712,6 +712,14 @@ class TestPreferences(TestController):
         user = M.User.query.get(username='test-admin')
         assert len(user.skills) == 0
 
+    @td.with_user_project('test-admin')
+    def test_user_message(self):
+        assert M.User.query.get(username='test-admin').allow_user_message
+        self.app.post('/auth/preferences/user_message')
+        assert not M.User.query.get(username='test-admin').allow_user_message
+        self.app.post('/auth/preferences/user_message', params={'allow_user_message': 'on'})
+        assert M.User.query.get(username='test-admin').allow_user_message
+
 
 class TestPasswordReset(TestController):
     @patch('allura.tasks.mail_tasks.sendmail')

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/19b00b3b/Allura/allura/tests/functional/test_user_profile.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/functional/test_user_profile.py b/Allura/allura/tests/functional/test_user_profile.py
index 5fb23cd..fae35e5 100644
--- a/Allura/allura/tests/functional/test_user_profile.py
+++ b/Allura/allura/tests/functional/test_user_profile.py
@@ -132,3 +132,19 @@ class TestUserProfile(TestController):
                      status=200)
 
         assert '<a href="send_message">Send me a message</a>' not in r
+
+    @td.with_user_project('test-user')
+    def test_allow_user_message(self):
+        User.by_username('test-admin').set_pref('email_address', 'admin@example.com')
+        test_user = User.by_username('test-user')
+        test_user.set_pref('email_address', 'user@example.com')
+        test_user.allow_user_message = False
+        r = self.app.get('/u/test-user/profile')
+        assert '<a href="send_message">Send me a message</a>' not in r
+        r = self.app.get('/u/test-user/profile/send_message', status=302)
+        assert 'This user has disabled user message' in self.webflash(r)
+
+
+
+
+


[4/4] git commit: [#6888] Invert user message pref to clean up default case

Posted by jo...@apache.org.
[#6888] Invert user message pref to clean up default case

Signed-off-by: Cory Johns <ad...@users.sf.net>


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

Branch: refs/heads/master
Commit: 1eea58c63d7af0ef278bdc6cfa0c356cafc4fc68
Parents: 3480d9b
Author: Cory Johns <ad...@users.sf.net>
Authored: Thu Dec 12 17:28:22 2013 +0000
Committer: Cory Johns <ad...@users.sf.net>
Committed: Thu Dec 12 17:28:22 2013 +0000

----------------------------------------------------------------------
 Allura/allura/controllers/auth.py                        | 4 ++--
 Allura/allura/ext/user_profile/templates/user_index.html | 2 +-
 Allura/allura/ext/user_profile/user_main.py              | 2 +-
 Allura/allura/lib/plugin.py                              | 3 ---
 Allura/allura/model/auth.py                              | 2 +-
 Allura/allura/templates/user_prefs.html                  | 2 +-
 Allura/allura/tests/functional/test_auth.py              | 6 +++---
 Allura/allura/tests/functional/test_user_profile.py      | 4 ++--
 8 files changed, 11 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/1eea58c6/Allura/allura/controllers/auth.py
----------------------------------------------------------------------
diff --git a/Allura/allura/controllers/auth.py b/Allura/allura/controllers/auth.py
index 6116570..bb6e98f 100644
--- a/Allura/allura/controllers/auth.py
+++ b/Allura/allura/controllers/auth.py
@@ -509,8 +509,8 @@ class PreferencesController(BaseController):
 
     @expose()
     @require_post()
-    def user_message(self, allow_user_messages=None):
-        c.user.set_pref('allow_user_messages', allow_user_messages is not None)
+    def user_message(self, allow_user_messages=False):
+        c.user.set_pref('disable_user_messages', not allow_user_messages)
         redirect(request.referer)
 
 class UserInfoController(BaseController):

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/1eea58c6/Allura/allura/ext/user_profile/templates/user_index.html
----------------------------------------------------------------------
diff --git a/Allura/allura/ext/user_profile/templates/user_index.html b/Allura/allura/ext/user_profile/templates/user_index.html
index 6052f75..41f7f67 100644
--- a/Allura/allura/ext/user_profile/templates/user_index.html
+++ b/Allura/allura/ext/user_profile/templates/user_index.html
@@ -229,7 +229,7 @@
       </div>
     {% endif %}
 
-    {% if user.get_pref('email_address') and c.user.get_pref('email_address') and user.get_pref('allow_user_messages') %}
+    {% if user.get_pref('email_address') and c.user.get_pref('email_address') and not user.get_pref('disable_user_messages') %}
     <div class="grid-24">
       <b><a href="send_message">Send me a message</a></b>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/1eea58c6/Allura/allura/ext/user_profile/user_main.py
----------------------------------------------------------------------
diff --git a/Allura/allura/ext/user_profile/user_main.py b/Allura/allura/ext/user_profile/user_main.py
index b6342f8..793dbf5 100644
--- a/Allura/allura/ext/user_profile/user_main.py
+++ b/Allura/allura/ext/user_profile/user_main.py
@@ -107,7 +107,7 @@ class UserProfileController(BaseController, FeedController):
                     'an email address associated with their account.', 'info')
             redirect(request.referer)
 
-        if not to_user.get_pref('allow_user_messages'):
+        if to_user.get_pref('disable_user_messages'):
             flash('This user has disabled direct email messages', 'info')
             redirect(request.referer)
 

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/1eea58c6/Allura/allura/lib/plugin.py
----------------------------------------------------------------------
diff --git a/Allura/allura/lib/plugin.py b/Allura/allura/lib/plugin.py
index 955b741..0c6c3b1 100644
--- a/Allura/allura/lib/plugin.py
+++ b/Allura/allura/lib/plugin.py
@@ -949,9 +949,6 @@ class LocalUserPreferencesProvider(UserPreferencesProvider):
 
     def get_pref(self, user, pref_name):
         if pref_name in user.preferences:
-            if pref_name == 'allow_user_messages' and user.preferences[pref_name] is None:
-                # allow_user_messages should be True by default
-                user.preferences[pref_name] = True
             return user.preferences[pref_name]
         else:
             return getattr(user, pref_name)

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/1eea58c6/Allura/allura/model/auth.py
----------------------------------------------------------------------
diff --git a/Allura/allura/model/auth.py b/Allura/allura/model/auth.py
index 6d5972e..fb8eaf7 100644
--- a/Allura/allura/model/auth.py
+++ b/Allura/allura/model/auth.py
@@ -320,7 +320,7 @@ class User(MappedClass, ActivityNode, ActivityObject):
             results_per_page=int,
             email_address=str,
             email_format=str,
-            allow_user_messages=bool))
+            disable_user_messages=bool))
 
     #Personal data
     sex=FieldProperty(

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/1eea58c6/Allura/allura/templates/user_prefs.html
----------------------------------------------------------------------
diff --git a/Allura/allura/templates/user_prefs.html b/Allura/allura/templates/user_prefs.html
index 4d75a6f..66b6c99 100644
--- a/Allura/allura/templates/user_prefs.html
+++ b/Allura/allura/templates/user_prefs.html
@@ -162,7 +162,7 @@
     <h2>User Messages</h2>
     <form method="POST" action="user_message">
     <div class="grid-19">
-        <input type="checkbox" id="allow_user_messages" name="allow_user_messages" {% if c.user.get_pref('allow_user_messages') %} checked {% endif %}>
+        <input type="checkbox" id="allow_user_messages" name="allow_user_messages" {% if not c.user.get_pref('disable_user_messages') %} checked {% endif %}>
         <label for="allow_user_messages">Allow another user to send me direct email messages</label>
     </div>
     <label class="grid-4">&nbsp;</label>

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/1eea58c6/Allura/allura/tests/functional/test_auth.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/functional/test_auth.py b/Allura/allura/tests/functional/test_auth.py
index 242d31b..3159784 100644
--- a/Allura/allura/tests/functional/test_auth.py
+++ b/Allura/allura/tests/functional/test_auth.py
@@ -714,11 +714,11 @@ class TestPreferences(TestController):
 
     @td.with_user_project('test-admin')
     def test_user_message(self):
-        assert M.User.query.get(username='test-admin').get_pref('allow_user_messages')
+        assert not M.User.query.get(username='test-admin').get_pref('disable_user_messages')
         self.app.post('/auth/preferences/user_message')
-        assert not M.User.query.get(username='test-admin').get_pref('allow_user_messages')
+        assert M.User.query.get(username='test-admin').get_pref('disable_user_messages')
         self.app.post('/auth/preferences/user_message', params={'allow_user_messages': 'on'})
-        assert M.User.query.get(username='test-admin').get_pref('allow_user_messages')
+        assert not M.User.query.get(username='test-admin').get_pref('disable_user_messages')
 
 
 class TestPasswordReset(TestController):

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/1eea58c6/Allura/allura/tests/functional/test_user_profile.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/functional/test_user_profile.py b/Allura/allura/tests/functional/test_user_profile.py
index cc90e2b..25d6430 100644
--- a/Allura/allura/tests/functional/test_user_profile.py
+++ b/Allura/allura/tests/functional/test_user_profile.py
@@ -134,11 +134,11 @@ class TestUserProfile(TestController):
         assert '<a href="send_message">Send me a message</a>' not in r
 
     @td.with_user_project('test-user')
-    def test_allow_user_messages(self):
+    def test_disable_user_messages(self):
         User.by_username('test-admin').set_pref('email_address', 'admin@example.com')
         test_user = User.by_username('test-user')
         test_user.set_pref('email_address', 'user@example.com')
-        test_user.set_pref('allow_user_messages', False)
+        test_user.set_pref('disable_user_messages', True)
         r = self.app.get('/u/test-user/profile')
         assert '<a href="send_message">Send me a message</a>' not in r
         r = self.app.get('/u/test-user/profile/send_message', status=302)