You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by tv...@apache.org on 2013/12/13 06:08:13 UTC
[27/45] git commit: [#6888] ticket:495 Store option in preferences,
don't use extra field on User
[#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/tv/6942
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"> </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)