Commit 6e1fdc22d213139462598e736b6e77b917dcc2eb
1 parent
565789d3
Exists in
master
and in
22 other branches
improved stylesheet and functional tests in community block plugin
Showing
4 changed files
with
128 additions
and
113 deletions
Show diff stats
app/helpers/application_helper.rb
... | ... | @@ -1250,19 +1250,11 @@ module ApplicationHelper |
1250 | 1250 | already_reported_message = _('You already reported this profile.') |
1251 | 1251 | report_profile_message = _('Report this profile for abusive behaviour') |
1252 | 1252 | |
1253 | - if type == :button || type == :button_without_text | |
1253 | + if type == :button | |
1254 | 1254 | if user.already_reported?(profile) |
1255 | - if type == :button | |
1256 | - button(:alert, text, url, :class => klass+' disabled', :disabled => true, :title => already_reported_message) | |
1257 | - elsif type == :button_without_text | |
1258 | - button_without_text(:alert, text, url, :class => klass+' disabled', :disabled => true, :title => already_reported_message) | |
1259 | - end | |
1255 | + button(:alert, text, url, :class => klass+' disabled', :disabled => true, :title => already_reported_message) | |
1260 | 1256 | else |
1261 | - if type == :button | |
1262 | - button(:alert, text, url, :class => klass, :title => report_profile_message) | |
1263 | - elsif type == :button_without_text | |
1264 | - button_without_text(:alert, text, url, :class => klass, :title => report_profile_message) | |
1265 | - end | |
1257 | + button(:alert, text, url, :class => klass, :title => report_profile_message) | |
1266 | 1258 | end |
1267 | 1259 | elsif type == :link |
1268 | 1260 | if user.already_reported?(profile) | ... | ... |
plugins/community_block/public/style.css
... | ... | @@ -20,15 +20,86 @@ |
20 | 20 | margin-left: 2px; |
21 | 21 | } |
22 | 22 | |
23 | -#content .box-1 .community-block .community-block-title { | |
23 | +#content .box-1 .community-block .community-block-title .menu-submenu { | |
24 | + bottom: 154px; | |
25 | + right: -120px; | |
26 | +} | |
27 | + | |
28 | +#content .box-1 .community-block .community-block-title .menu-submenu-header { | |
29 | + display: none; | |
30 | +} | |
31 | + | |
32 | +#content .box-1 .community-block .community-block-title .menu-submenu-content { | |
33 | + border: 1px solid #888a85; | |
34 | + border-radius: 4px; | |
35 | + background-color: #efefef; | |
36 | + background-image: none; | |
37 | +} | |
38 | + | |
39 | +#content .box-1 .community-block .community-block-title .menu-submenu-content h4 { | |
40 | + display: none; | |
41 | +} | |
42 | + | |
43 | +#content .box-1 .community-block .community-block-title .menu-submenu-content ul { | |
44 | + list-style: none; | |
45 | +} | |
46 | + | |
47 | +#content .box-1 .community-block .community-block-title .menu-submenu-content li { | |
48 | + padding: 7px; | |
49 | + font-size: 10px; | |
50 | +} | |
51 | + | |
52 | +#content .box-1 .community-block .community-block-title .menu-submenu-content a { | |
53 | + color: #000; | |
54 | +} | |
55 | + | |
56 | +#content .box-1 .community-block .community-block-title .menu-submenu-footer { | |
57 | + display: none; | |
58 | +} | |
59 | + | |
60 | +#content .box-1 .community-block .community-block-title h1 { | |
24 | 61 | //border: 1px solid #00F; |
25 | 62 | font-variant: small-caps; |
26 | 63 | color: #555753; |
27 | 64 | text-align: left; |
28 | 65 | padding-left: 10px; |
29 | - margin: 0px; | |
66 | + margin: 0px 0px 2px 0px; | |
67 | +} | |
68 | + | |
69 | +#content .box-1 .community-block .community-block-button { | |
70 | + border: 1px solid #CCCCCC; | |
71 | + border-radius: 4px; | |
72 | + float: right; | |
73 | + height: 22px; | |
74 | + line-height: 22px; | |
75 | + margin-top: 1px; | |
76 | + margin-right: 1px; | |
77 | + background-color: #F4F4F4; | |
78 | + background-position: center center; | |
79 | + background-repeat: no-repeat; | |
80 | + cursor: pointer; | |
81 | +} | |
82 | + | |
83 | +#content .box-1 .community-block .community-block-button.icon-add { | |
84 | + width: 20px; | |
85 | + background-image: url('/designs/icons/default/Tango/16x16/actions/add.png'); | |
86 | +} | |
87 | + | |
88 | +#content .box-1 .community-block .community-block-button.icon-remove { | |
89 | + width: 20px; | |
90 | + background-image: url('/designs/icons/default/Tango/16x16/actions/remove.png'); | |
91 | +} | |
92 | + | |
93 | +#content .box-1 .community-block .community-block-button.icon-arrow { | |
94 | + width: 16px; | |
95 | + background-image: url('/images/top-arrow.png'); | |
96 | +} | |
97 | + | |
98 | +#content .box-1 .community-block .community-block-button:hover { | |
99 | + background-color: #DDDDDD; | |
30 | 100 | } |
31 | 101 | |
102 | + | |
32 | 103 | #content .box-1 .community-block .community-block-description { |
33 | 104 | //border: 1px solid #0F0; |
34 | 105 | font-style: italic; |
... | ... | @@ -36,10 +107,3 @@ |
36 | 107 | padding: 10px; |
37 | 108 | } |
38 | 109 | |
39 | -#content .box-1 .community-block .community-block-buttons { | |
40 | - //border: 1px solid #F00; | |
41 | - text-align: left; | |
42 | - margin-top: 3px; | |
43 | - margin-left: 22px; | |
44 | -} | |
45 | - | ... | ... |
plugins/community_block/test/functional/commmunity_block_plugin_profile_design_controller_test.rb
... | ... | @@ -42,77 +42,46 @@ class ProfileControllerTest < ActionController::TestCase |
42 | 42 | get :index, :profile => @community.identifier |
43 | 43 | assert_tag :div, :attributes => {:class => 'community-block-logo'} |
44 | 44 | assert_tag :div, :attributes => {:class => 'community-block-info'} |
45 | - assert_tag :h1, :attributes => {:class => 'community-block-title'} | |
45 | + assert_tag :div, :attributes => {:class => 'community-block-title'} | |
46 | 46 | assert_tag :div, :attributes => {:class => 'community-block-description'} |
47 | - assert_tag :div, :attributes => {:class => 'community-block-buttons'} | |
48 | 47 | end |
49 | 48 | |
50 | - | |
51 | - # USER LOGGED IN AND COMMUNITY MEMBER # | |
52 | - | |
53 | 49 | should 'display *leave* button when the user is logged in and is a member of the community' do |
54 | 50 | get :index, :profile => @community.identifier |
55 | - assert_tag :a, :attributes => {:class => 'button icon-remove'} | |
51 | + assert_tag :span, :attributes => {:class => 'community-block-button icon-remove'} | |
56 | 52 | end |
57 | 53 | |
58 | 54 | should 'display *send email to administrators* button when the user is logged in and is a member of the community' do |
59 | 55 | get :index, :profile => @community.identifier |
60 | - assert_tag :a, :attributes => {:class => 'button icon-menu-mail'} | |
56 | + assert_match /\{"Send an e-mail":\{"href":"\/contact\/#{@community.identifier}\/new"\}\}/, @response.body | |
61 | 57 | end |
62 | 58 | |
63 | 59 | should 'display *report* button when the user is logged in and is a member of the community' do |
64 | 60 | get :index, :profile => @community.identifier |
65 | - assert_tag :a, :attributes => {:class => 'button icon-alert report-abuse-action'} | |
61 | + assert_match /\{"Report abuse":\{"href":"\/profile\/#{@community.identifier}\/report_abuse"\}\}/, @response.body | |
66 | 62 | end |
67 | 63 | |
68 | - | |
69 | - # USER LOGGED IN AND NOT MEMBER OF THE COMMUNITY | |
70 | - | |
71 | 64 | should 'display *join* button when the user is logged in and is not a member of the community' do |
72 | 65 | @community.remove_member @user |
73 | 66 | get :index, :profile => @community.identifier |
74 | - assert_tag :a, :attributes => {:class => 'button icon-add'} | |
75 | - end | |
76 | - | |
77 | - should 'display *send email to administrators* button when the user is logged in and is not a member of the community' do | |
78 | - @community.remove_member @user | |
79 | - get :index, :profile => @community.identifier | |
80 | - assert_tag :a, :attributes => {:class => 'button icon-menu-mail'} | |
81 | - end | |
82 | - | |
83 | - should 'display *report* button when the user is logged in and is not a member of the community' do | |
84 | - @community.remove_member @user | |
85 | - get :index, :profile => @community.identifier | |
86 | - assert_tag :a, :attributes => {:class => 'button icon-alert report-abuse-action'} | |
67 | + assert_tag :span, :attributes => {:class => 'community-block-button icon-add'} | |
87 | 68 | end |
88 | 69 | |
89 | - | |
90 | - # USER LOGGED IN AND COMMUNITY ADMIN | |
91 | - | |
92 | - should 'display *configure* button when the user is logged in and is community admin' do | |
70 | + should 'display *control panel* link option when the user is logged in and is community admin' do | |
93 | 71 | get :index, :profile => @community.identifier |
94 | - assert_tag :a, :attributes => {:class => 'button icon-menu-ctrl-panel'} | |
72 | + assert_match /\{"Control panel":\{"href":"\/myprofile\/#{@community.identifier}"\}\}/, @response.body | |
95 | 73 | end |
96 | 74 | |
97 | - | |
98 | - # USER NOT LOGGED IN | |
99 | - | |
100 | - should 'not display *send email to administrators* button when the user is not logged in' do | |
75 | + should 'display *join* button when the user is not logged in' do | |
101 | 76 | logout |
102 | 77 | get :index, :profile => @community.identifier |
103 | - assert_no_tag :a, :attributes => {:class => 'button icon-menu-mail'} | |
78 | + assert_tag :span, :attributes => {:class => 'community-block-button icon-add'} | |
104 | 79 | end |
105 | 80 | |
106 | - should 'not display *report* button when the user is not logged in' do | |
81 | + should 'not display *arrow* button when the user is not logged in' do | |
107 | 82 | logout |
108 | 83 | get :index, :profile => @community.identifier |
109 | - assert_no_tag :a, :attributes => {:class => 'button icon-alert report-abuse-action'} | |
84 | + assert_no_tag :span, :attributes => {:class => 'community-block-button icon-arrow'} | |
110 | 85 | end |
111 | - | |
112 | - should 'not display *configure* button when the user is logged in and is admin of the community' do | |
113 | - logout | |
114 | - get :index, :profile => @community.identifier | |
115 | - assert_no_tag :a, :attributes => {:class => 'button icon-menu-ctrl-panel link-this-page'} | |
116 | - end | |
117 | - | |
86 | + | |
118 | 87 | end | ... | ... |
plugins/community_block/views/community_block.rhtml
... | ... | @@ -3,60 +3,50 @@ |
3 | 3 | <%= link_to profile_image(profile, :big), profile.url %> |
4 | 4 | </div> |
5 | 5 | <div class="community-block-info"> |
6 | - <h1 class="community-block-title"><%=profile.name%></h1> | |
7 | - <div class="community-block-description"><%= profile.description %></div> | |
8 | - </div> | |
9 | - <div style="clear:both"></div> | |
10 | - <div class="community-block-buttons"> | |
11 | - <% if logged_in? %> | |
12 | - | |
13 | - <% if profile.members.include?(user) || profile.already_request_membership?(user) %> | |
14 | - <%= button_without_text( | |
15 | - :remove, | |
16 | - __('Leave community'), | |
17 | - profile.leave_url, | |
18 | - :title => _("Leave community"), | |
19 | - :style => 'position: relative;') %> | |
20 | - <% else %> | |
21 | - <%= button_without_text( | |
22 | - :add, | |
23 | - __('Join community'), | |
24 | - profile.join_url, | |
25 | - :title => _("Join community"), | |
26 | - :style => 'position: relative;') %> | |
27 | - <% end %> | |
28 | - | |
29 | - <% if profile.enable_contact? %> | |
30 | - <%= button_without_text( | |
31 | - :'menu-mail', | |
32 | - __('Send an e-mail'), | |
33 | - { :profile => profile.identifier, | |
34 | - :controller => 'contact', | |
35 | - :action => 'new' }, | |
36 | - :title => _('Send an e-mail to the administrators'), | |
37 | - :stle => 'position: relative;') %> | |
38 | - <% end %> | |
39 | - | |
40 | - <%= report_abuse(profile, :button_without_text) %> | |
6 | + <div class="community-block-title"> | |
41 | 7 | |
42 | - <% if !user.nil? && user.has_permission?('edit_profile', profile) %> | |
8 | + <% | |
9 | + links = [] | |
43 | 10 | |
44 | - <%= button_without_text( | |
45 | - :'menu-ctrl-panel', | |
46 | - __('Control Panel'), | |
47 | - profile.admin_url, | |
48 | - :title => _('Configure this community'), | |
49 | - :style => 'position: relative;') %> | |
11 | + if logged_in? | |
50 | 12 | |
13 | + if profile.enable_contact? | |
14 | + links.push(_('Send an e-mail') => {:href => url_for({:controller => 'contact', :action => 'new', :profile => profile.identifier})}) | |
15 | + end | |
16 | + | |
17 | + links.push(_('Report abuse') => {:href => url_for({:controller => 'profile', :action => 'report_abuse', :profile => profile.identifier})}) | |
18 | + | |
19 | + if !user.nil? && user.has_permission?('edit_profile', profile) | |
20 | + links.push(_('Control panel') => {:href => url_for({:controller => 'profile_editor', :profile => profile.identifier})}) | |
21 | + end %> | |
22 | + | |
23 | + <%= link_to( | |
24 | + content_tag('span','',:class => 'community-block-button icon-arrow'), | |
25 | + '#', | |
26 | + :onclick => "toggleSubmenu(this,'',#{links.to_json}); return false;", | |
27 | + :class => 'simplemenu-trigger') %> | |
28 | + | |
29 | + <% end %> | |
30 | + | |
31 | + <% if logged_in? %> | |
32 | + <% if profile.members.include?(user) || profile.already_request_membership?(user) %> | |
33 | + <%= link_to( | |
34 | + content_tag('span', '', :class => 'community-block-button icon-remove'), | |
35 | + profile.leave_url) %> | |
36 | + <% else %> | |
37 | + <%= link_to( | |
38 | + content_tag('span', '', :class => 'community-block-button icon-add'), | |
39 | + profile.join_url) %> | |
40 | + <% end %> | |
41 | + <% else %> | |
42 | + <%= link_to( | |
43 | + content_tag('span', '', :class => 'community-block-button icon-add'), | |
44 | + profile.join_not_logged_url) %> | |
51 | 45 | <% end %> |
52 | 46 | |
53 | - <% else %> | |
54 | - <%= button_without_text( | |
55 | - :add, | |
56 | - __('Join community'), | |
57 | - profile.join_not_logged_url, | |
58 | - :title => _("Join community"), | |
59 | - :style => 'position: relative;') %> | |
60 | - <% end %> | |
47 | + <h1><%=profile.name%></h1> | |
48 | + </div> | |
49 | + <div class="community-block-description"><%= profile.description %></div> | |
61 | 50 | </div> |
51 | + <div style="clear:both"></div> | |
62 | 52 | </div> | ... | ... |