From 75bd98457ff89c434ccd95672738b57dd33a9074 Mon Sep 17 00:00:00 2001 From: pedrodelyra Date: Thu, 6 Aug 2015 16:07:52 -0300 Subject: [PATCH] Adding disabled button to community's rating page --- plugins/communities_ratings/lib/communities_ratings_plugin.rb | 17 ++++++++++++++++- plugins/communities_ratings/style.css | 47 +++++++++++++++++++++++++++++++++++++++++++++++ plugins/communities_ratings/views/communities_ratings_plugin_profile/_new_rating_fields.html.erb | 14 ++++++++++++-- plugins/communities_ratings/views/hotspots/display_community_average_rating.html.erb | 25 +++++++++++++++++++++++++ plugins/communities_ratings/views/shared/_make_report_block.html.erb | 8 +------- plugins/communities_ratings/views/shared/_rating_button.html.erb | 9 +++++++++ 6 files changed, 110 insertions(+), 10 deletions(-) create mode 100644 plugins/communities_ratings/views/hotspots/display_community_average_rating.html.erb create mode 100644 plugins/communities_ratings/views/shared/_rating_button.html.erb diff --git a/plugins/communities_ratings/lib/communities_ratings_plugin.rb b/plugins/communities_ratings/lib/communities_ratings_plugin.rb index c7b7c9f..eb618a2 100644 --- a/plugins/communities_ratings/lib/communities_ratings_plugin.rb +++ b/plugins/communities_ratings/lib/communities_ratings_plugin.rb @@ -27,7 +27,22 @@ class CommunitiesRatingsPlugin < Noosfero::Plugin end end - def self.extra_blocks + # Plugin Hotspot to display the average rating + def display_community_average_rating community + unless community.nil? + average_rating = CommunityRating.average_rating community.id + + Proc::new { + render :file => 'hotspots/display_community_average_rating', + :locals => { + :profile_identifier => community.identifier, + :average_rating => average_rating + } + } + end + end + + def self.extra_blocks { CommunitiesRatingsBlock => { :type => [Community], :position => ['1']} } diff --git a/plugins/communities_ratings/style.css b/plugins/communities_ratings/style.css index 2982948..39a6de7 100644 --- a/plugins/communities_ratings/style.css +++ b/plugins/communities_ratings/style.css @@ -38,10 +38,57 @@ background-image: url('public/images/small-star-positive.png'); } +.medium-star-negative, .medium-star-positive { + background-repeat: no-repeat; + float: left; + height: 20px; + margin-right: 2px; + position: relative; + width: 20px; +} + +.medium-star-positive { + background-image: url('public/images/star-positive-medium.png'); +} + +.medium-star-negative { + background-image: url('public/images/star-negative-medium.png'); +} + .star-hide { display: none; } +.community-average-rating-container { + border-top: 1px dotted #D3D6DE; + margin-top: 20px; + padding-top: 10px; +} + +.community-average-rating-container .star-rate-text { + float: left; + margin-right: 10px; + padding-top: 5px; +} + +.community-average-rating-container .rating-invitation { + font-size: 14px; + float: left; + margin-right: 10px; + padding-top: 3px; +} + +.community-average-rating-container .star-container { + float: left; + width: 120px; +} + +.community-average-rating-container .rate-this-community { + border-left: 1px dotted #D3D6DE; + float: left; + padding: 4px 0px 2px 10px; +} + .star-rate-data { width: 100%; padding-top: 20px; diff --git a/plugins/communities_ratings/views/communities_ratings_plugin_profile/_new_rating_fields.html.erb b/plugins/communities_ratings/views/communities_ratings_plugin_profile/_new_rating_fields.html.erb index 77a9c95..439cb8c 100644 --- a/plugins/communities_ratings/views/communities_ratings_plugin_profile/_new_rating_fields.html.erb +++ b/plugins/communities_ratings/views/communities_ratings_plugin_profile/_new_rating_fields.html.erb @@ -57,11 +57,21 @@ <% elsif environment.communities_ratings_vote_once %>
- <%= _("Hi, #{current_user.name}! The administrators set that you can only vote once for this community.") %> + <%= _("Hi, #{current_user.name}! The administrators set that you can vote") %> + + <%= 'only once' %> + + <%= "for this community." %> + <%= render :partial => 'shared/rating_button', :locals => { :disabled => true } %>
<% else %>
- <%= _("Hi, #{current_user.name}! The administrators set the minimum time of #{environment.communities_ratings_cooldown} hour(s) between each evaluation. You can take a ride into our web site while you wait for the next record.") %> + <%= _("Hi, #{current_user.name}! The administrators set the minimum time of") %> + <%= _("%s hour(s)" % environment.communities_ratings_cooldown) %> + <%= _("between each evaluation.") %> + + <%= render :partial => 'shared/rating_button', :locals => { :disabled => true } %> +
<% end %> diff --git a/plugins/communities_ratings/views/hotspots/display_community_average_rating.html.erb b/plugins/communities_ratings/views/hotspots/display_community_average_rating.html.erb new file mode 100644 index 0000000..d0dc51e --- /dev/null +++ b/plugins/communities_ratings/views/hotspots/display_community_average_rating.html.erb @@ -0,0 +1,25 @@ +
+ <% if average_rating %> +
+ <%= _("Rating: ") %> +
+ +
+ <% (1..5).each do |star_number| %> + <% if star_number <= average_rating %> +
+ <% else %> +
+ <% end %> + <% end %> +
+ <% else %> +
+ <%= _("Be the first to rate!") %> +
+ <% end %> + +
+ <%= link_to _('Rate this community'), url_for(:controller => 'communities_ratings_plugin_profile', :action => 'new_rating', :profile=>profile_identifier) %> +
+
\ No newline at end of file diff --git a/plugins/communities_ratings/views/shared/_make_report_block.html.erb b/plugins/communities_ratings/views/shared/_make_report_block.html.erb index 9fd0ceb..9654e6e 100644 --- a/plugins/communities_ratings/views/shared/_make_report_block.html.erb +++ b/plugins/communities_ratings/views/shared/_make_report_block.html.erb @@ -17,13 +17,7 @@ <%= _('Report your experiences.') %> -
- <% if logged_in? %> - <%= button('rate',_('Rate Community'), {:controller => 'communities_ratings_plugin_profile', :action => 'new_rating'}) %> - <% else %> - <%= button('rate',_('Rate Community'), {:controller => 'account', :action => 'login'}) %> - <% end %> -
+ <%= render :partial => 'shared/rating_button', :locals => { :disabled => false } %> <% unless logged_in? %>
diff --git a/plugins/communities_ratings/views/shared/_rating_button.html.erb b/plugins/communities_ratings/views/shared/_rating_button.html.erb new file mode 100644 index 0000000..57627a0 --- /dev/null +++ b/plugins/communities_ratings/views/shared/_rating_button.html.erb @@ -0,0 +1,9 @@ +
+ <% options = disabled ? {:disabled => 'disabled', :class => 'disabled-button'} : {} %> + + <% if logged_in? %> + <%= button('rate',_('Rate Community'), {:controller => 'communities_ratings_plugin_profile', :action => 'new_rating'}, options) %> + <% else %> + <%= button('rate',_('Rate Community'), {:controller => 'account', :action => 'login'}, options) %> + <% end %> +
\ No newline at end of file -- libgit2 0.21.2