Commit baeda131f9a4c541cd9d2732de2f32bc364fb7ff
Committed by
Thiago Ribeiro
1 parent
8229dbd7
Exists in
stable-spb-1.4
Fix rails 4 organization_ratings bugs
Signed-off-by: Álvaro Fernando <alvarofernandoms@gmail.com> Signed-off-by: Fabio Teixeira <fabio1079@gmail.com> (cherry picked from commit 4c6bcb89e2fba3e120848542e58d555f320a1a86)
Showing
7 changed files
with
59 additions
and
24 deletions
Show diff stats
features/manage_users.feature
@@ -15,7 +15,7 @@ Background: | @@ -15,7 +15,7 @@ Background: | ||
15 | Scenario: deactive user | 15 | Scenario: deactive user |
16 | Given I follow "Deactivate user" within "tr[title='Joao Silva']" | 16 | Given I follow "Deactivate user" within "tr[title='Joao Silva']" |
17 | When I confirm the browser dialog | 17 | When I confirm the browser dialog |
18 | - Then the "tr[title='Joao Silva'] td.actions a.icon-activate-user" button should be enabled | 18 | + Then the field "tr[title='Joao Silva'] td.actions a.icon-activate-user" should be enabled |
19 | 19 | ||
20 | @selenium | 20 | @selenium |
21 | Scenario: activate user | 21 | Scenario: activate user |
@@ -23,7 +23,7 @@ Background: | @@ -23,7 +23,7 @@ Background: | ||
23 | And I confirm the browser dialog | 23 | And I confirm the browser dialog |
24 | And I follow "Activate user" within "tr[title='Paulo Santos']" | 24 | And I follow "Activate user" within "tr[title='Paulo Santos']" |
25 | When I confirm the browser dialog | 25 | When I confirm the browser dialog |
26 | - Then the "tr[title='Paulo Santos'] td.actions a.icon-deactivate-user" button should be enabled | 26 | + Then the field "tr[title='Paulo Santos'] td.actions a.icon-deactivate-user" should be enabled |
27 | 27 | ||
28 | @selenium | 28 | @selenium |
29 | Scenario: remove user | 29 | Scenario: remove user |
@@ -36,7 +36,7 @@ Background: | @@ -36,7 +36,7 @@ Background: | ||
36 | Scenario: admin user | 36 | Scenario: admin user |
37 | Given I follow "Set admin role" within "tr[title='Joao Silva']" | 37 | Given I follow "Set admin role" within "tr[title='Joao Silva']" |
38 | When I confirm the browser dialog | 38 | When I confirm the browser dialog |
39 | - Then the "tr[title='Joao Silva'] td.actions a.icon-reset-admin-role" button should be enabled | 39 | + Then the field "tr[title='Joao Silva'] td.actions a.icon-reset-admin-role" should be enabled |
40 | 40 | ||
41 | @selenium | 41 | @selenium |
42 | Scenario: unadmin user | 42 | Scenario: unadmin user |
@@ -44,4 +44,4 @@ Background: | @@ -44,4 +44,4 @@ Background: | ||
44 | And I confirm the browser dialog | 44 | And I confirm the browser dialog |
45 | And I follow "Reset admin role" within "tr[title='Paulo Santos']" | 45 | And I follow "Reset admin role" within "tr[title='Paulo Santos']" |
46 | When I confirm the browser dialog | 46 | When I confirm the browser dialog |
47 | - Then the "tr[title='Paulo Santos'] td.actions a.icon-set-admin-role" button should be enabled | 47 | + Then the field "tr[title='Paulo Santos'] td.actions a.icon-set-admin-role" should be enabled |
features/step_definitions/custom_web_steps.rb
@@ -22,14 +22,14 @@ When /^I should see "([^\"]+)" linking to "([^\"]+)"$/ do |text, href| | @@ -22,14 +22,14 @@ When /^I should see "([^\"]+)" linking to "([^\"]+)"$/ do |text, href| | ||
22 | page.should have_xpath("//a[@href='#{href}']") | 22 | page.should have_xpath("//a[@href='#{href}']") |
23 | end | 23 | end |
24 | 24 | ||
25 | -Then /^the "([^"]*)" button should be disabled$/ do |selector| | ||
26 | - field = find(selector) | ||
27 | - field['disabled'].should be_truthy | ||
28 | -end | 25 | +Then /^the field "([^"]*)" should be (enabled|disabled)$/ do |selector, status| |
26 | + field = page.find(:css, selector) | ||
29 | 27 | ||
30 | -Then /^the "([^"]*)" button should be enabled$/ do |selector| | ||
31 | - field = find(selector) | ||
32 | - field['disabled'].should_not be_truthy | 28 | + if status == 'enabled' |
29 | + field.disabled?.should_not be_truthy | ||
30 | + else | ||
31 | + field.disabled?.should be_truthy | ||
32 | + end | ||
33 | end | 33 | end |
34 | 34 | ||
35 | When /^I reload and wait for the page$/ do | 35 | When /^I reload and wait for the page$/ do |
plugins/organization_ratings/features/rate_community.feature
@@ -33,4 +33,4 @@ Feature: rate_community | @@ -33,4 +33,4 @@ Feature: rate_community | ||
33 | Given I am on mycommunity's homepage | 33 | Given I am on mycommunity's homepage |
34 | When I follow "Rate this Community" | 34 | When I follow "Rate this Community" |
35 | Then I should see "Joao Silva" within ".star-profile-name" | 35 | Then I should see "Joao Silva" within ".star-profile-name" |
36 | - And I should see Joao Silva's profile image | ||
37 | \ No newline at end of file | 36 | \ No newline at end of file |
37 | + And I should see Joao Silva's profile image |
plugins/organization_ratings/features/vote_once_disable_cooldown.feature
0 → 100644
@@ -0,0 +1,23 @@ | @@ -0,0 +1,23 @@ | ||
1 | +Feature: vote_once_disable_cooldown | ||
2 | + As a admin | ||
3 | + I want to disable the cooldown time when vote once is enabled | ||
4 | + Making it clearly that there is no cooldown when vote once is enabled | ||
5 | + | ||
6 | + Background: | ||
7 | + Given plugin "OrganizationRatings" is enabled on environment | ||
8 | + And I am logged in as admin | ||
9 | + And I go to /admin/plugins | ||
10 | + And I check "Organization Ratings" | ||
11 | + And I press "Save changes" | ||
12 | + | ||
13 | + @selenium | ||
14 | + Scenario: disable or enable the cooldown field when vote on is checked or unchecked | ||
15 | + Given I follow "Administration" | ||
16 | + And I follow "Plugins" | ||
17 | + And I follow "Configuration" | ||
18 | + And the field "#organization_ratings_config_cooldown" should be enabled | ||
19 | + And I check "Vote once" | ||
20 | + And the field "#organization_ratings_config_cooldown" should be disabled | ||
21 | + And I uncheck "Vote once" | ||
22 | + Then the field "#organization_ratings_config_cooldown" should be enabled | ||
23 | + |
plugins/organization_ratings/lib/organization_ratings_plugin.rb
@@ -73,8 +73,8 @@ class OrganizationRatingsPlugin < Noosfero::Plugin | @@ -73,8 +73,8 @@ class OrganizationRatingsPlugin < Noosfero::Plugin | ||
73 | 73 | ||
74 | def js_files | 74 | def js_files |
75 | %w( | 75 | %w( |
76 | - public/rate.js | ||
77 | - public/organization_rating_management.js | 76 | + rate.js |
77 | + organization_rating_management.js | ||
78 | ) | 78 | ) |
79 | end | 79 | end |
80 | 80 |
plugins/organization_ratings/public/organization_rating_management.js
@@ -9,8 +9,8 @@ | @@ -9,8 +9,8 @@ | ||
9 | 9 | ||
10 | 10 | ||
11 | cacheDom: function() { | 11 | cacheDom: function() { |
12 | - this.$vote_once_checkbox = $("#environment_organization_ratings_vote_once"); | ||
13 | - this.$hours_timer_input = $("#environment_organization_ratings_cooldown"); | 12 | + this.$vote_once_checkbox = $("#organization_ratings_config_vote_once"); |
13 | + this.$hours_timer_input = $("#organization_ratings_config_cooldown"); | ||
14 | }, | 14 | }, |
15 | 15 | ||
16 | 16 | ||
@@ -21,10 +21,22 @@ | @@ -21,10 +21,22 @@ | ||
21 | 21 | ||
22 | verifyHoursTimerDisable: function() { | 22 | verifyHoursTimerDisable: function() { |
23 | if (this.$vote_once_checkbox.is(":checked")) { | 23 | if (this.$vote_once_checkbox.is(":checked")) { |
24 | - this.$hours_timer_input.attr("disabled", "disabled"); | 24 | + //this.$hours_timer_input.attr("disabled", "disabled"); |
25 | + this.disableVoteOnce(); | ||
25 | } else { | 26 | } else { |
26 | - this.$hours_timer_input.removeAttr("disabled"); | 27 | + //this.$hours_timer_input.removeAttr("disabled"); |
28 | + this.enableVoteOnce(); | ||
27 | } | 29 | } |
30 | + }, | ||
31 | + | ||
32 | + | ||
33 | + enableVoteOnce: function() { | ||
34 | + this.$hours_timer_input.removeAttr("disabled"); | ||
35 | + }, | ||
36 | + | ||
37 | + | ||
38 | + disableVoteOnce: function() { | ||
39 | + this.$hours_timer_input.attr("disabled", "disabled"); | ||
28 | } | 40 | } |
29 | } | 41 | } |
30 | 42 |
plugins/organization_ratings/public/style.css
@@ -14,11 +14,11 @@ | @@ -14,11 +14,11 @@ | ||
14 | } | 14 | } |
15 | 15 | ||
16 | .star-negative { | 16 | .star-negative { |
17 | - background-image: url('public/images/star-negative.png'); | 17 | + background-image: url('images/star-negative.png'); |
18 | } | 18 | } |
19 | 19 | ||
20 | .star-positive { | 20 | .star-positive { |
21 | - background-image: url('public/images/star-positive.png'); | 21 | + background-image: url('images/star-positive.png'); |
22 | } | 22 | } |
23 | 23 | ||
24 | .small-star-negative, .small-star-positive { | 24 | .small-star-negative, .small-star-positive { |
@@ -31,11 +31,11 @@ | @@ -31,11 +31,11 @@ | ||
31 | } | 31 | } |
32 | 32 | ||
33 | .small-star-negative { | 33 | .small-star-negative { |
34 | - background-image: url('public/images/small-star-negative.png'); | 34 | + background-image: url('images/small-star-negative.png'); |
35 | } | 35 | } |
36 | 36 | ||
37 | .small-star-positive { | 37 | .small-star-positive { |
38 | - background-image: url('public/images/small-star-positive.png'); | 38 | + background-image: url('images/small-star-positive.png'); |
39 | } | 39 | } |
40 | 40 | ||
41 | .medium-star-negative, .medium-star-positive { | 41 | .medium-star-negative, .medium-star-positive { |
@@ -48,11 +48,11 @@ | @@ -48,11 +48,11 @@ | ||
48 | } | 48 | } |
49 | 49 | ||
50 | .medium-star-positive { | 50 | .medium-star-positive { |
51 | - background-image: url('public/images/star-positive-medium.png'); | 51 | + background-image: url('images/star-positive-medium.png'); |
52 | } | 52 | } |
53 | 53 | ||
54 | .medium-star-negative { | 54 | .medium-star-negative { |
55 | - background-image: url('public/images/star-negative-medium.png'); | 55 | + background-image: url('images/star-negative-medium.png'); |
56 | } | 56 | } |
57 | 57 | ||
58 | .star-hide { | 58 | .star-hide { |