Commit 4d1e4b41c4012fc2535f36184901de32cabfca75
1 parent
7afb8e5a
Exists in
staging
and in
42 other branches
ActionItem959: use the session info even if logged in
Showing
2 changed files
with
20 additions
and
4 deletions
Show diff stats
app/helpers/application_helper.rb
| ... | ... | @@ -777,11 +777,14 @@ module ApplicationHelper |
| 777 | 777 | def ask_to_join? |
| 778 | 778 | return if environment.enabled?(:disable_join_community_popup) |
| 779 | 779 | return unless profile && profile.kind_of?(Community) |
| 780 | - unless logged_in? | |
| 781 | - return !session[:no_asking].include?(profile.id) if session[:no_asking] | |
| 782 | - return true | |
| 780 | + if (session[:no_asking] && session[:no_asking].include?(profile.id)) | |
| 781 | + return false | |
| 782 | + end | |
| 783 | + if logged_in? | |
| 784 | + user.ask_to_join?(profile) | |
| 785 | + else | |
| 786 | + true | |
| 783 | 787 | end |
| 784 | - user.ask_to_join?(profile) | |
| 785 | 788 | end |
| 786 | 789 | |
| 787 | 790 | end | ... | ... |
test/unit/application_helper_test.rb
| ... | ... | @@ -433,6 +433,19 @@ class ApplicationHelperTest < Test::Unit::TestCase |
| 433 | 433 | assert !ask_to_join? |
| 434 | 434 | end |
| 435 | 435 | |
| 436 | + should 'not ask_to_join if its recorded in the session even for authenticated users' do | |
| 437 | + e = Environment.default | |
| 438 | + e.stubs(:enabled?).with(:disable_join_community_popup).returns(false) | |
| 439 | + stubs(:environment).returns(e) | |
| 440 | + | |
| 441 | + c = Community.create(:name => 'test_comm', :identifier => 'test_comm') | |
| 442 | + stubs(:profile).returns(c) | |
| 443 | + stubs(:logged_in?).returns(true) | |
| 444 | + stubs(:session).returns({:no_asking => [c.id]}) | |
| 445 | + | |
| 446 | + assert !ask_to_join? | |
| 447 | + end | |
| 448 | + | |
| 436 | 449 | protected |
| 437 | 450 | |
| 438 | 451 | def url_for(args = {}) | ... | ... |