个人积分修改
This commit is contained in:
parent
96fa28f70d
commit
683cd9f918
|
@ -56,6 +56,7 @@ class UsersController < ApplicationController
|
|||
include WordsHelper
|
||||
include GitlabHelper
|
||||
include UserScoreHelper
|
||||
helper :user_score
|
||||
|
||||
# added by liuping 关注
|
||||
|
||||
|
|
|
@ -372,8 +372,8 @@ module UserScoreHelper
|
|||
result.post_issue = 0
|
||||
result.total_score = 0
|
||||
result.score_type =type
|
||||
unless project_id.nil?
|
||||
result.project_id = project_id
|
||||
unless project.nil?
|
||||
result.project_id = project.id
|
||||
end
|
||||
else
|
||||
result = option_number.first
|
||||
|
@ -416,12 +416,26 @@ module UserScoreHelper
|
|||
def memo_num(user,project=nil)
|
||||
if project.nil?
|
||||
Message.includes(:author).joins(:board).where("#{Message.table_name}.parent_id IS NULL and #{Message.table_name}.author_id = '#{user.id}' and #{Board.table_name}.project_id != -1").all.count #+ Memo.includes(:author).where("parent_id IS NULL and author_id = '#{user.id}'").all.count
|
||||
|
||||
#user.messages.where("parent_id IS NULL").count
|
||||
else
|
||||
Message.includes(:author).joins(:board).where("#{Message.table_name}.parent_id IS NULL and #{Message.table_name}.author_id = '#{user.id}' and #{Board.table_name}.project_id = #{project.id}").all.count
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def memo_score(user,project=nil)
|
||||
if project.nil?
|
||||
User.find_by_sql("SELECT `users`.id,(SELECT COUNT(*) * 2 FROM `messages` JOIN `boards` ON boards.project_id != -1 AND messages.board_id = boards.id
|
||||
WHERE messages.parent_id IS NULL AND messages.author_id = `users`.id) AS m_count
|
||||
FROM `users` where id = #{user.id}")
|
||||
else
|
||||
User.find_by_sql("SELECT `users`.id,(SELECT COUNT(*) * 2 FROM `messages` JOIN `boards` ON boards.project_id = '#{project.id}' AND messages.board_id = boards.id
|
||||
WHERE messages.parent_id IS NULL AND messages.author_id = `users`.id) AS m_count
|
||||
FROM `users` where id = #{user.id}")
|
||||
end
|
||||
end
|
||||
|
||||
#更新对缺陷留言数
|
||||
def update_messges_for_issue(user,type,project=nil)
|
||||
option_number = get_option_number(user,type)
|
||||
|
@ -437,6 +451,14 @@ module UserScoreHelper
|
|||
end
|
||||
end
|
||||
|
||||
def messges_for_issue_score(user,project=nil)
|
||||
if project.nil?
|
||||
User.find_by_sql("SELECT users.id,(SELECT COUNT(*) FROM journals WHERE journals.user_id = users.id AND journals.notes IS NOT NULL AND journals.notes != '') AS m_score FROM users where id = #{user.id}")
|
||||
else
|
||||
User.find_by_sql("SELECT users.id,(SELECT COUNT(*) FROM journals join issues on #{Journal.table_name}.journalized_type = 'Issue' and #{Journal.table_name}.journalized_id = #{Issue.table_name}.id WHERE journals.user_id = users.id AND journals.notes IS NOT NULL AND journals.notes != ''and #{Issue.table_name}.project_id = '#{project.id}') AS m_score FROM users where id = #{user.id}")
|
||||
end
|
||||
end
|
||||
|
||||
#更新更改缺陷状态状态次数
|
||||
def update_issues_status(user,type,project=nil)
|
||||
option_number = get_option_number(user,type)
|
||||
|
@ -508,8 +530,8 @@ module UserScoreHelper
|
|||
|
||||
def tread_num(user,project=nil)
|
||||
if project.nil?
|
||||
result0 = PraiseTread.where("praise_tread_object_type = 'Issue' || praise_tread_object_type = 'Message' and praise_or_tread = 0 and user_id = '#{user.id}'").all.count
|
||||
pts = PraiseTread.where("praise_tread_object_type = 'Issue' || praise_tread_object_type = 'Message' and praise_or_tread = 0").all
|
||||
result0 = PraiseTread.where("praise_tread_object_type IN ( 'Issue','Message') and praise_or_tread = 0 and user_id = '#{user.id}'").all.count
|
||||
pts = PraiseTread.where("praise_tread_object_type IN ( 'Issue','Message') and praise_or_tread = 0").all
|
||||
result = []
|
||||
result1 = []
|
||||
result2 = []
|
||||
|
@ -521,18 +543,18 @@ module UserScoreHelper
|
|||
target_user = obj.author
|
||||
level = UserLevels.get_level(pt.user)#pt.user.get_level
|
||||
project = pt.project
|
||||
if level == 1 && target_user.id = user.id
|
||||
if level == 1 && target_user.id == user.id
|
||||
result << pt
|
||||
elsif level == 2 && target_user.id = user.id
|
||||
elsif level == 2 && target_user.id == user.id
|
||||
result1 << pt
|
||||
elsif level == 3 && target_user.id = user.id
|
||||
elsif level == 3 && target_user.id == user.id
|
||||
result2 << pt
|
||||
end
|
||||
end
|
||||
[:tread=>result0,:tead_by_one => result.count,:tread_by_two => result1.count,:tread_by_three =>result2.count]
|
||||
{:tread=>result0,:tead_by_one => result.count,:tread_by_two => result1.count,:tread_by_three =>result2.count}
|
||||
else
|
||||
result0 = PraiseTread.where("praise_tread_object_type = 'Issue' || praise_tread_object_type = 'Message' and praise_or_tread = 0 and user_id = '#{user.id}'").all.count
|
||||
pts = PraiseTread.where("praise_tread_object_type = 'Issue' || praise_tread_object_type = 'Message' and praise_or_tread = 0").all
|
||||
result0 = PraiseTread.where("praise_tread_object_type IN ( 'Issue','Message') and praise_or_tread = 0 and user_id = '#{user.id}'").all.count
|
||||
pts = PraiseTread.where("praise_tread_object_type IN ( 'Issue','Message') and praise_or_tread = 0").all
|
||||
result = []
|
||||
result1 = []
|
||||
result2 = []
|
||||
|
@ -547,15 +569,15 @@ module UserScoreHelper
|
|||
target_user = obj.author
|
||||
level = UserLevels.get_level(pt.user)#pt.user.get_level
|
||||
project = pt.project
|
||||
if level == 1 && target_user.id = user.id
|
||||
if level == 1 && target_user.id == user.id
|
||||
result << pt
|
||||
elsif level == 2 && target_user.id = user.id
|
||||
elsif level == 2 && target_user.id == user.id
|
||||
result1 << pt
|
||||
elsif level == 3 && target_user.id = user.id
|
||||
elsif level == 3 && target_user.id == user.id
|
||||
result2 << pt
|
||||
end
|
||||
end
|
||||
[:tread=>result0,:tead_by_one => result.count,:tread_by_two => result1.count,:tread_by_three =>result2.count]
|
||||
{:tread=>result0,:tead_by_one => result.count,:tread_by_two => result1.count,:tread_by_three =>result2.count}
|
||||
end
|
||||
|
||||
end
|
||||
|
@ -572,7 +594,7 @@ module UserScoreHelper
|
|||
|
||||
def praise_num(user,project=nil)
|
||||
if !project.nil?
|
||||
pts = PraiseTread.where("praise_tread_object_type = 'Issue' || praise_tread_object_type = 'Message' and praise_or_tread = 1").all
|
||||
pts = PraiseTread.where("praise_tread_object_type IN ( 'Issue','Message') and praise_or_tread = 1").all
|
||||
result = []
|
||||
result1 = []
|
||||
result2 = []
|
||||
|
@ -587,17 +609,17 @@ module UserScoreHelper
|
|||
target_user = obj.author
|
||||
level = UserLevels.get_level(pt.user)#pt.user.get_level
|
||||
project = pt.project
|
||||
if level == 1 && target_user.id = user.id
|
||||
if level == 1 && target_user.id == user.id
|
||||
result << pt
|
||||
elsif level == 2 && target_user.id = user.id
|
||||
elsif level == 2 && target_user.id == user.id
|
||||
result1 << pt
|
||||
elsif level == 3 && target_user.id = user.id
|
||||
elsif level == 3 && target_user.id == user.id
|
||||
result2 << pt
|
||||
end
|
||||
end
|
||||
[:praise_by_one => result.count,:praise_by_two => result1.count,:praise_by_three => result2.count]
|
||||
{:praise_by_one => result.count,:praise_by_two => result1.count,:praise_by_three => result2.count}
|
||||
else
|
||||
pts = PraiseTread.where("praise_tread_object_type = 'Issue' || praise_tread_object_type = 'Message' and praise_or_tread = 1").all
|
||||
pts = PraiseTread.where("praise_tread_object_type IN ( 'Issue','Message') and praise_or_tread = 1").all
|
||||
result = []
|
||||
result1 = []
|
||||
result2 = []
|
||||
|
@ -612,15 +634,15 @@ module UserScoreHelper
|
|||
target_user = obj.author
|
||||
level = UserLevels.get_level(pt.user)#pt.user.get_level
|
||||
project = pt.project
|
||||
if level == 1 && target_user.id = user.id
|
||||
if level == 1 && target_user.id == user.id
|
||||
result << pt
|
||||
elsif level == 2 && target_user.id = user.id
|
||||
elsif level == 2 && target_user.id == user.id
|
||||
result1 << pt
|
||||
elsif level == 3 && target_user.id = user.id
|
||||
elsif level == 3 && target_user.id == user.id
|
||||
result2 << pt
|
||||
end
|
||||
end
|
||||
[:praise_by_one => result.count,:praise_by_two => result1.count,:praise_by_three => result2.count]
|
||||
{:praise_by_one => result.count,:praise_by_two => result1.count,:praise_by_three => result2.count}
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<%= l(:label_user_grade)%>:
|
||||
<%= link_to(format("%.2f" , user.user_score_attr.total_score).to_i, {:controller => 'users',
|
||||
<!-- user.user_score_attr.total_score -->
|
||||
<%= link_to(format("%.2f" ,user_scores(user,1).total_score ).to_i, {:controller => 'users',
|
||||
:action => 'show_new_score',
|
||||
:remote => true,
|
||||
:id => user.id
|
||||
|
|
Loading…
Reference in New Issue