From b1c97097313bcc1404339b655337519503519b29 Mon Sep 17 00:00:00 2001 From: Gabriela Navarro Date: Tue, 7 Jul 2015 13:54:30 +0000 Subject: [PATCH] Add relation to rate and comment. --- plugins/communities_ratings/controllers/communities_ratings_plugin_profile_controller.rb | 11 +++++++---- plugins/communities_ratings/db/migrate/20150707133834_add_community_rating_to_comments.rb | 11 +++++++++++ plugins/communities_ratings/lib/community_rating.rb | 1 + plugins/communities_ratings/lib/ext/comments.rb | 2 ++ 4 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 plugins/communities_ratings/db/migrate/20150707133834_add_community_rating_to_comments.rb diff --git a/plugins/communities_ratings/controllers/communities_ratings_plugin_profile_controller.rb b/plugins/communities_ratings/controllers/communities_ratings_plugin_profile_controller.rb index 29fcb2e..d3ff98e 100644 --- a/plugins/communities_ratings/controllers/communities_ratings_plugin_profile_controller.rb +++ b/plugins/communities_ratings/controllers/communities_ratings_plugin_profile_controller.rb @@ -1,5 +1,6 @@ class CommunitiesRatingsPluginProfileController < ProfileController + before_filter :login_required # Inside a community, receive a ajax from the current logged person with its # rate for the community. If the user already rated this commnity, update its # rate value or else, create a new one @@ -31,10 +32,10 @@ class CommunitiesRatingsPluginProfileController < ProfileController @plugins = plugins community_rating = get_community_rating(user, profile) @actual_rate_value = if community_rating.value - community_rating.value - else - 0 - end + community_rating.value + else + 0 + end if request.post? unless params[:comments][:body].empty? @@ -42,6 +43,8 @@ class CommunitiesRatingsPluginProfileController < ProfileController comment.author = current_user.person comment.community = profile comment.save + community_rating.comment = comment + community_rating.save else session[:notice] = _("You need to provide a decription to make a comment") redirect_to action: :new_rating diff --git a/plugins/communities_ratings/db/migrate/20150707133834_add_community_rating_to_comments.rb b/plugins/communities_ratings/db/migrate/20150707133834_add_community_rating_to_comments.rb new file mode 100644 index 0000000..10c7bda --- /dev/null +++ b/plugins/communities_ratings/db/migrate/20150707133834_add_community_rating_to_comments.rb @@ -0,0 +1,11 @@ +class AddCommunityRatingToComments < ActiveRecord::Migration + def self.up + change_table :comments do |t| + t.belongs_to :community_rating + end + end + + def self.down + remove_column :comments, :community_rating_id + end +end diff --git a/plugins/communities_ratings/lib/community_rating.rb b/plugins/communities_ratings/lib/community_rating.rb index a453ca1..c1b9f8c 100644 --- a/plugins/communities_ratings/lib/community_rating.rb +++ b/plugins/communities_ratings/lib/community_rating.rb @@ -12,4 +12,5 @@ class CommunityRating < ActiveRecord::Base validates :community_id, :person_id, :presence => true + has_one :comment end diff --git a/plugins/communities_ratings/lib/ext/comments.rb b/plugins/communities_ratings/lib/ext/comments.rb index 629cdd7..d257d6b 100644 --- a/plugins/communities_ratings/lib/ext/comments.rb +++ b/plugins/communities_ratings/lib/ext/comments.rb @@ -3,4 +3,6 @@ require_dependency "comment" class Comment alias :community :source alias :community= :source= + + belongs_to :community_rating end -- libgit2 0.21.2