Commit de452eab71dd38e715efd6304c51f4bb7cdeb499
1 parent
52abfab2
Exists in
master
and in
27 other branches
[suggestions] Added suggestion list on friends block
(ActionItem3234)
Showing
6 changed files
with
63 additions
and
10 deletions
Show diff stats
app/views/shared/_profile_suggestions_list.html.erb
| ... | ... | @@ -11,7 +11,7 @@ |
| 11 | 11 | <%= link_to_profile profile_image(s.suggestion, :minor) + '<br/>' + s.suggestion.short_name, |
| 12 | 12 | s.suggestion.identifier, :class => 'profile-link' %> |
| 13 | 13 | <%= button_without_text :help, content_tag('span',_('info about suggestion')), |
| 14 | - { :action => '#' }, | |
| 14 | + '#', | |
| 15 | 15 | :class => 'explain-suggestion', |
| 16 | 16 | :title => _('Why this suggestion?') %> |
| 17 | 17 | <div class='extra_info' style='display:none'> |
| ... | ... | @@ -24,7 +24,7 @@ |
| 24 | 24 | :class => 'add-friend accept-suggestion', |
| 25 | 25 | :title => _('Add friend') %> |
| 26 | 26 | <%= button_without_text :remove, content_tag('span',_('remove')), |
| 27 | - { :action => 'remove_suggestion', :id => s.suggestion.identifier }, | |
| 27 | + { :controller => 'friends', :action => 'remove_suggestion', :id => s.suggestion.identifier }, | |
| 28 | 28 | :class => 'remove-suggestion', |
| 29 | 29 | :title => _('Remove suggestion'), |
| 30 | 30 | :confirm => _('Are you sure you want to remove this suggestion?') %> | ... | ... |
plugins/people_block/lib/friends_block.rb
| ... | ... | @@ -16,10 +16,15 @@ class FriendsBlock < PeopleBlockBase |
| 16 | 16 | owner.friends |
| 17 | 17 | end |
| 18 | 18 | |
| 19 | + def suggestions | |
| 20 | + owner.profile_suggestions.of_person.enabled.limit(limit).includes(:suggestion) | |
| 21 | + end | |
| 22 | + | |
| 19 | 23 | def footer |
| 20 | 24 | profile = self.owner |
| 25 | + suggestions = self.suggestions | |
| 21 | 26 | proc do |
| 22 | - render :file => 'blocks/friends', :locals => { :profile => profile } | |
| 27 | + render :file => 'blocks/friends', :locals => { :profile => profile, :suggestions => suggestions } | |
| 23 | 28 | end |
| 24 | 29 | end |
| 25 | 30 | ... | ... |
plugins/people_block/public/style.css
| ... | ... | @@ -102,3 +102,29 @@ |
| 102 | 102 | #content .members-block .block-footer-content a.view-all { |
| 103 | 103 | background: url(/designs/themes/base/imgs/arrow-right-p.png) 100% 50% no-repeat; |
| 104 | 104 | } |
| 105 | + | |
| 106 | +#content .friends-block .block-footer-content .profiles-suggestions a, | |
| 107 | +#content .friends-block .block-footer-content a.more-suggestions { | |
| 108 | + position: relative; | |
| 109 | +} | |
| 110 | +#content .friends-block .block-footer-content .profiles-suggestions a.explain-suggestion { | |
| 111 | + position: absolute; | |
| 112 | +} | |
| 113 | + | |
| 114 | +#content .common-profile-list-block .profiles-suggestions .profile-list .extra_info { | |
| 115 | + top: 20px; | |
| 116 | + left: -69px; | |
| 117 | +} | |
| 118 | + | |
| 119 | +#content .common-profile-list-block .profiles-suggestions .button span { | |
| 120 | + display: none; | |
| 121 | +} | |
| 122 | +#content .common-profile-list-block .profiles-suggestions .controll { | |
| 123 | + top: 0px; | |
| 124 | + right: 0px; | |
| 125 | +} | |
| 126 | +#content .common-profile-list-block .profiles-suggestions .controll a, | |
| 127 | +#content .friends-block .block-footer-content .profiles-suggestions a.explain-suggestion { | |
| 128 | + width: 16px; | |
| 129 | + padding: 1px; | |
| 130 | +} | ... | ... |
plugins/people_block/views/blocks/friends.html.erb
| 1 | 1 | <%= link_to s_('friends|View all'), {:profile => profile.identifier, :controller => 'profile', :action => 'friends'}, :class => 'view-all' %> |
| 2 | + | |
| 3 | +<% if user == profile && !suggestions.empty? %> | |
| 4 | + <div class='common-profile-list-block'> | |
| 5 | + <h4 class='block-subtitle'><%= _('Some suggestions for you') %></h4> | |
| 6 | + <div class='profiles-suggestions'> | |
| 7 | + <%= render :partial => 'shared/profile_suggestions_list', :locals => { :suggestions => suggestions, :collection => :friends_suggestions } %> | |
| 8 | + </div> | |
| 9 | + <%= link_to _('See more suggestions'), profile.people_suggestions_url, :class => 'more-suggestions' %> | |
| 10 | + </div> | |
| 11 | +<% end %> | ... | ... |
public/designs/themes/base/style.css
| ... | ... | @@ -405,13 +405,17 @@ div#notice { |
| 405 | 405 | } |
| 406 | 406 | |
| 407 | 407 | |
| 408 | -#content .block-title { | |
| 408 | +#content .block-title, | |
| 409 | +#content .block-subtitle { | |
| 409 | 410 | font-variant: small-caps; |
| 410 | 411 | color: #AAA; |
| 411 | 412 | font-size: 14px; |
| 412 | 413 | text-align: left; |
| 413 | 414 | border-bottom: 2px solid #AAA; |
| 414 | 415 | } |
| 416 | +#content .block-subtitle { | |
| 417 | + font-size: 13px; | |
| 418 | +} | |
| 415 | 419 | |
| 416 | 420 | /*************************** Login block *****************************/ |
| 417 | 421 | ... | ... |
public/stylesheets/application.css
| ... | ... | @@ -3969,14 +3969,10 @@ h1#agenda-title { |
| 3969 | 3969 | width: 90px; |
| 3970 | 3970 | max-width: 80px; |
| 3971 | 3971 | } |
| 3972 | -.profiles-suggestions .profile-list li { | |
| 3973 | - width: 76px; | |
| 3974 | - max-width: 76px; | |
| 3975 | -} | |
| 3976 | 3972 | |
| 3977 | 3973 | .controller-favorite_enterprises .profile-list li:hover, |
| 3978 | 3974 | .controller-friends .profile-list li:hover, |
| 3979 | -.profiles-suggestions .profile-list li:hover { | |
| 3975 | +.box-1 .profiles-suggestions .profile-list li:hover { | |
| 3980 | 3976 | border: 2px solid #eeeeec; |
| 3981 | 3977 | } |
| 3982 | 3978 | .controller-favorite_enterprises .profile-list img, |
| ... | ... | @@ -3999,7 +3995,7 @@ h1#agenda-title { |
| 3999 | 3995 | } |
| 4000 | 3996 | .controller-favorite_enterprises .profile-list .profile_link span, |
| 4001 | 3997 | .controller-friends .profile-list .profile_link span, |
| 4002 | -.profiles-suggestions .profile-list .profile_link span { | |
| 3998 | +.box-1 .profiles-suggestions .profile-list .profile_link span { | |
| 4003 | 3999 | width: 80px; |
| 4004 | 4000 | display: block; |
| 4005 | 4001 | overflow: hidden; |
| ... | ... | @@ -4066,6 +4062,18 @@ h1#agenda-title { |
| 4066 | 4062 | display: block; |
| 4067 | 4063 | line-height: 20px; |
| 4068 | 4064 | padding: 0 0 0 25px; |
| 4065 | + width: auto; | |
| 4066 | +} | |
| 4067 | + | |
| 4068 | +.profiles-suggestions .profile-list li { | |
| 4069 | + width: 58px; | |
| 4070 | + max-width: 58px; | |
| 4071 | +} | |
| 4072 | + | |
| 4073 | +.box-1 .profiles-suggestions .profile-list li { | |
| 4074 | + width: 76px; | |
| 4075 | + max-width: 76px; | |
| 4076 | + border: 2px solid transparent; | |
| 4069 | 4077 | } |
| 4070 | 4078 | |
| 4071 | 4079 | /* ==> public/stylesheets/controller_friends.css <== */ | ... | ... |