From bb3eb9f9806bd8f33e793a5da582825559ec3ac2 Mon Sep 17 00:00:00 2001 From: r888888888 Date: Mon, 22 Feb 2016 16:59:57 -0800 Subject: [PATCH] favoriting now triggers an upvote --- app/models/favorite.rb | 10 ++-------- app/models/post.rb | 4 ++++ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/app/models/favorite.rb b/app/models/favorite.rb index 108fd9c27..f4c6b6b5e 100644 --- a/app/models/favorite.rb +++ b/app/models/favorite.rb @@ -18,14 +18,11 @@ class Favorite < ActiveRecord::Base return if Favorite.for_user(user.id).where(:user_id => user.id, :post_id => post.id).exists? Favorite.create!(:user_id => user.id, :post_id => post.id) - updates = "fav_count = fav_count + 1" - updates = "#{updates}, score = score + 1" if user.is_gold? - Post.where(:id => post.id).update_all(updates) + Post.where(:id => post.id).update_all("fav_count = fav_count + 1") post.append_user_to_fav_string(user.id) User.where(:id => user.id).update_all("favorite_count = favorite_count + 1") user.favorite_count += 1 # post.fav_count += 1 # this is handled in Post#clean_fav_string! - post.score += 1 if user.is_gold? end end @@ -35,14 +32,11 @@ class Favorite < ActiveRecord::Base return unless Favorite.for_user(user.id).where(:user_id => user.id, :post_id => post.id).exists? Favorite.destroy_all(user_id: user.id, post_id: post.id) - updates = "fav_count = fav_count - 1" - updates = "#{updates}, score = score - 1" if user.is_gold? - Post.where(:id => post.id).update_all(updates) + Post.where(:id => post.id).update_all("fav_count = fav_count - 1") post.delete_user_from_fav_string(user.id) User.where(:id => user.id).update_all("favorite_count = favorite_count - 1") user.favorite_count -= 1 post.fav_count -= 1 - post.score -= 1 if user.is_gold? end end end diff --git a/app/models/post.rb b/app/models/post.rb index 970b1080a..e64e17aaa 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -840,6 +840,8 @@ class Post < ActiveRecord::Base def add_favorite!(user) Favorite.add(self, user) + vote!("up") + rescue PostVote::Error end def delete_user_from_fav_string(user_id) @@ -848,6 +850,8 @@ class Post < ActiveRecord::Base def remove_favorite!(user) Favorite.remove(self, user) + unvote! + rescue PostVote::Error end def favorited_user_ids