Commit ceba70c68d899ba4e30467832e46bcc5e867b553
1 parent
e697a141
Exists in
federation_followers_backend
Creates follow and unfollow views
Signed-off-by: Artur Bersan de Faria <arturbersan@gmail.com> Signed-off-by: Gabriel Silva <gabriel93.silva@gmail.com>
Showing
7 changed files
with
91 additions
and
0 deletions
Show diff stats
app/controllers/my_profile/followed_people_controller.rb
0 → 100644
app/controllers/public/profile_controller.rb
@@ -65,6 +65,10 @@ class ProfileController < PublicController | @@ -65,6 +65,10 @@ class ProfileController < PublicController | ||
65 | end | 65 | end |
66 | end | 66 | end |
67 | 67 | ||
68 | + def following | ||
69 | + @followed_people = [].paginate(:per_page => per_page, :page => params[:npage], :total_entries => profile.friends.count) | ||
70 | + end | ||
71 | + | ||
68 | def members | 72 | def members |
69 | if is_cache_expired?(profile.members_cache_key(params)) | 73 | if is_cache_expired?(profile.members_cache_key(params)) |
70 | sort = (params[:sort] == 'desc') ? params[:sort] : 'asc' | 74 | sort = (params[:sort] == 'desc') ? params[:sort] : 'asc' |
app/views/blocks/profile_info_actions/_person.html.erb
@@ -7,6 +7,15 @@ | @@ -7,6 +7,15 @@ | ||
7 | </li> | 7 | </li> |
8 | <% end %> | 8 | <% end %> |
9 | 9 | ||
10 | + <li> | ||
11 | + <% if profile.follows?(user) %> | ||
12 | + <%= button(:unfollow, content_tag('span', _('Unfollow')), "#", :class => 'add-friend', :title => _("Unfollow"), :style => 'position: relative;') %> | ||
13 | + <% else %> | ||
14 | + <%= button(:follow, content_tag('span', _('Follow')), "#", :class => 'add-friend', :title => _("Follow"), :style => 'position: relative;') %> | ||
15 | + <% end %> | ||
16 | + </li> | ||
17 | + | ||
18 | + | ||
10 | <% if user.is_a_friend?(profile) && profile.enable_contact? %> | 19 | <% if user.is_a_friend?(profile) && profile.enable_contact? %> |
11 | <li><%= button(:back, _('Send an e-mail'), {:profile => profile.identifier, :controller => 'contact', :action => 'new'}) %></li> | 20 | <li><%= button(:back, _('Send an e-mail'), {:profile => profile.identifier, :controller => 'contact', :action => 'new'}) %></li> |
12 | <% end %> | 21 | <% end %> |
@@ -0,0 +1,16 @@ | @@ -0,0 +1,16 @@ | ||
1 | +<ul class="profile-list"> | ||
2 | + <% profiles.each do |profile| %> | ||
3 | + <li> | ||
4 | + <%= link_to_profile profile_image(profile) + tag('br') + profile.short_name, | ||
5 | + profile.identifier, :class => 'profile-link' %> | ||
6 | + <div class="controll"> | ||
7 | + <%= button_without_text :remove, content_tag('span',_('remove')), | ||
8 | + { :action => 'remove', :id => profile.id }, | ||
9 | + :title => _('remove') %> | ||
10 | + <%= button_without_text 'menu-mail', content_tag('span',_('contact')), | ||
11 | + profile.url.merge(:controller => 'contact', :action => 'new', :profile => profile.identifier), | ||
12 | + :title => _('contact') %> | ||
13 | + </div><!-- end class="controll" --> | ||
14 | + </li> | ||
15 | + <% end %> | ||
16 | +</ul> |
@@ -0,0 +1,25 @@ | @@ -0,0 +1,25 @@ | ||
1 | +<div id="manage_followed people"> | ||
2 | + | ||
3 | +<h1><%= _("%s following") % profile.name %></h1> | ||
4 | + | ||
5 | +<% cache_timeout(profile.manage_friends_cache_key(params), 4.hours) do %> | ||
6 | + <% if @followed_people.empty? %> | ||
7 | + <p> | ||
8 | + <em> | ||
9 | + <%= _("You don't follow anybody yet.") %> | ||
10 | + </em> | ||
11 | + </p> | ||
12 | + <% end %> | ||
13 | + | ||
14 | + <%= button_bar do %> | ||
15 | + <%= button(:back, _('Back to control panel'), :controller => 'profile_editor') %> | ||
16 | + <%= button(:search, _('Find people'), :controller => 'search', :action => 'assets', :asset => 'people') %> | ||
17 | + <% end %> | ||
18 | + | ||
19 | + <%= render :partial => 'profile_list', :locals => { :profiles => @followed_people } %> | ||
20 | + | ||
21 | + <br style="clear:both" /> | ||
22 | + <%= pagination_links @followed_people, :param_name => 'npage' %> | ||
23 | +<% end %> | ||
24 | + | ||
25 | +</div> |
@@ -0,0 +1,24 @@ | @@ -0,0 +1,24 @@ | ||
1 | +<div class="common-profile-list-block"> | ||
2 | + | ||
3 | +<h1><%= _("%s is following") % profile.name %></h1> | ||
4 | + | ||
5 | +<% cache_timeout(profile.friends_cache_key(params), 4.hours) do %> | ||
6 | +<ul class='profile-list'> | ||
7 | + <% @followed_people.each do |followed_person| %> | ||
8 | + <%= profile_image_link(followed_person) %> | ||
9 | + <% end%> | ||
10 | +</ul> | ||
11 | + | ||
12 | + <div id='pagination-profiles'> | ||
13 | + <%= pagination_links @followed_people, :param_name => 'npage' %> | ||
14 | + </div> | ||
15 | +<% end %> | ||
16 | + | ||
17 | +<%= button_bar do %> | ||
18 | + <%= button :back, _('Go back'), { :controller => 'profile' } %> | ||
19 | + <% if user == profile %> | ||
20 | + <%= button :edit, _('Manage followed people'), :controller => 'friends', :action => 'index', :profile => profile.identifier %> | ||
21 | + <% end %> | ||
22 | +<% end %> | ||
23 | + | ||
24 | +</div> |
app/views/profile_editor/edit.html.erb
@@ -26,6 +26,11 @@ | @@ -26,6 +26,11 @@ | ||
26 | 26 | ||
27 | <% if profile.person? %> | 27 | <% if profile.person? %> |
28 | <div> | 28 | <div> |
29 | + <!-- TODO: chagen to correct attributes after finishing the backend--> | ||
30 | + <%= labelled_check_box _("Allow other users to follow me"), 'profile_data[can_be_followed]', true, profile.secret, :class => "person-can-be-followed" %> | ||
31 | + </div> | ||
32 | + <br> | ||
33 | + <div> | ||
29 | <%= labelled_radio_button _('Public — show my contents to all internet users').html_safe, 'profile_data[public_profile]', true, @profile.public_profile? %> | 34 | <%= labelled_radio_button _('Public — show my contents to all internet users').html_safe, 'profile_data[public_profile]', true, @profile.public_profile? %> |
30 | </div> | 35 | </div> |
31 | <div> | 36 | <div> |