diff --git a/app/models/vote.rb b/app/models/vote.rb index fe5eb01fa6d9aca236c64f9da92f6eb93067eea9..a94767d0b7675dd277e385691b7fcba330145cd5 100644 --- a/app/models/vote.rb +++ b/app/models/vote.rb @@ -17,7 +17,8 @@ class Vote < ApplicationRecord def self.total_rep_change(col) col = col.includes(:post) settings = SiteSetting.where(name: ['QuestionUpVoteRep', 'QuestionDownVoteRep', - 'AnswerUpVoteRep', 'AnswerDownVoteRep']) + 'AnswerUpVoteRep', 'AnswerDownVoteRep', + 'ArticleUpVoteRep', 'ArticleDownVoteRep']) .map { |ss| [ss.name, ss.value] }.to_h rep_changes = PostType.mapping.map do |k, v| vote_types = { 1 => 'Up', -1 => 'Down' } @@ -45,7 +46,9 @@ class Vote < ApplicationRecord [post_type_ids['Question'], 1] => 'QuestionUpVoteRep', [post_type_ids['Question'], -1] => 'QuestionDownVoteRep', [post_type_ids['Answer'], 1] => 'AnswerUpVoteRep', - [post_type_ids['Answer'], -1] => 'AnswerDownVoteRep' + [post_type_ids['Answer'], -1] => 'AnswerDownVoteRep', + [post_type_ids['Article'], 1] => 'ArticleUpVoteRep', + [post_type_ids['Article'], -1] => 'ArticleDownVoteRep' } rep_change = SiteSetting[setting_names[[post.post_type_id, vote_type]]] || 0 recv_user.update!(reputation: recv_user.reputation + direction * rep_change) diff --git a/db/seeds/site_settings.yml b/db/seeds/site_settings.yml index 145846f65a443421073968c73d868f1e32154773..bcf88b9f433737b105cea09b1c2d3e02fe181b14 100644 --- a/db/seeds/site_settings.yml +++ b/db/seeds/site_settings.yml @@ -54,6 +54,20 @@ description: > The reputation change to the post's author when an answer is downvoted. +- name: ArticleUpVoteRep + value: 10 + value_type: integer + category: ReputationAndVoting + description: > + The reputation change to the post's author when an article is upvoted. + +- name: ArticleDownVoteRep + value: -2 + value_type: integer + category: ReputationAndVoting + description: > + The reputation change to the post's author when an article is downvoted. + - name: AllowSelfVotes value: false value_type: boolean