@ -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