Commit 496d5a24c7fa5c8ec87ccf327079e5b3f64e43fd

Authored by Daniela Feitosa
1 parent 2de692cd

join_button: removing footer content from model

- leaving code to be displayed on views (MVC)

(ActionItem2844)
app/models/members_block.rb
@@ -15,15 +15,10 @@ class MembersBlock < ProfileListBlock @@ -15,15 +15,10 @@ class MembersBlock < ProfileListBlock
15 15
16 def footer 16 def footer
17 profile = self.owner 17 profile = self.owner
18 - show_button_block = show_join_leave_button 18 + s = show_join_leave_button
19 19
20 lambda do 20 lambda do
21 - if show_button_block  
22 - @view_all = link_to _('View all'), :profile => profile.identifier, :controller => 'profile', :action => 'members'  
23 - render "blocks/profile_info_actions/join_leave_community"  
24 - else  
25 - link_to _('View all'), :profile => profile.identifier, :controller => 'profile', :action => 'members'  
26 - end 21 + render :file => 'blocks/members', :locals => { :profile => profile, :show_join_leave_button => s}
27 end 22 end
28 end 23 end
29 24
@@ -41,4 +36,4 @@ class MembersBlock < ProfileListBlock @@ -41,4 +36,4 @@ class MembersBlock < ProfileListBlock
41 } 36 }
42 end 37 end
43 38
44 -end  
45 \ No newline at end of file 39 \ No newline at end of file
  40 +end
app/models/profile_list_block.rb
@@ -62,7 +62,7 @@ class ProfileListBlock < Block @@ -62,7 +62,7 @@ class ProfileListBlock < Block
62 title.gsub('{#}', profile_count.to_s) 62 title.gsub('{#}', profile_count.to_s)
63 end 63 end
64 64
65 - # override in subclasses! See MembersBlock for exemple 65 + # override in subclasses! See MembersBlock for example
66 def extra_option 66 def extra_option
67 {} 67 {}
68 end 68 end
app/views/blocks/members.rhtml 0 → 100644
@@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
  1 +<%= link_to _('View all'), :profile => profile.identifier, :controller => 'profile', :action => 'members' %>
  2 +
  3 +<% if show_join_leave_button %>
  4 + <%= render :partial => 'blocks/profile_info_actions/join_leave_community' %>
  5 +<% end %>
app/views/blocks/profile_info_actions/_join_leave_community.rhtml
1 -<%= @view_all unless @view_all.nil? %>  
2 -  
3 <% if logged_in? %> 1 <% if logged_in? %>
4 <% if profile.members.include?(user) %> 2 <% if profile.members.include?(user) %>
5 <%= button(:delete, content_tag('span', __('Leave community')), profile.leave_url, 3 <%= button(:delete, content_tag('span', __('Leave community')), profile.leave_url,
@@ -26,4 +24,4 @@ @@ -26,4 +24,4 @@
26 <%= link_to content_tag('span', _('Join')), profile.join_not_logged_url, 24 <%= link_to content_tag('span', _('Join')), profile.join_not_logged_url,
27 :class => 'button with-text icon-add', 25 :class => 'button with-text icon-add',
28 :title => _('Join this community') %> 26 :title => _('Join this community') %>
29 -<% end %>  
30 \ No newline at end of file 27 \ No newline at end of file
  28 +<% end %>
test/unit/members_block_test.rb
@@ -14,16 +14,13 @@ class MembersBlockTest &lt; ActiveSupport::TestCase @@ -14,16 +14,13 @@ class MembersBlockTest &lt; ActiveSupport::TestCase
14 assert_not_equal ProfileListBlock.new.default_title, MembersBlock.new.default_title 14 assert_not_equal ProfileListBlock.new.default_title, MembersBlock.new.default_title
15 end 15 end
16 16
17 - should 'link to "all members" page' do  
18 - profile = create_user('mytestuser').person  
19 - block = MembersBlock.new  
20 - block.box = profile.boxes.first  
21 - block.save!  
22 -  
23 - expects(:_).with('View all').returns('View all')  
24 - expects(:link_to).with('View all' , :profile => 'mytestuser', :controller => 'profile', :action => 'members').returns('link-to-members') 17 + should 'display members file' do
  18 + community = fast_create(Community)
  19 + block = MembersBlock.create
  20 + block.expects(:owner).returns(community)
25 21
26 - assert_equal 'link-to-members', instance_eval(&block.footer) 22 + self.expects(:render).with(:file => 'blocks/members', :locals => { :profile => community, :show_join_leave_button => false}).returns('file-with-members-list')
  23 + assert_equal 'file-with-members-list', instance_eval(&block.footer)
27 end 24 end
28 25
29 should 'pick random members' do 26 should 'pick random members' do