From 70a1839e74d1b39c26113226eb4587f0bcbee4e7 Mon Sep 17 00:00:00 2001
From: linhk <304431313@.com>
Date: Fri, 8 Aug 2014 09:30:48 +0800
Subject: [PATCH 1/3] =?UTF-8?q?=E8=8B=B1=E6=96=87=E7=95=8C=E9=9D=A2-?=
=?UTF-8?q?=E7=94=A8=E6=88=B7=E4=B8=8B=E6=8B=89=E8=8F=9C=E5=8D=95=EF=BC=88?=
=?UTF-8?q?=E6=88=91=E7=9A=84=E8=AF=BE=E7=A8=8B=E3=80=81=E9=A1=B9=E7=9B=AE?=
=?UTF-8?q?=E3=80=81=E7=BC=96=E8=BE=91=E8=B5=84=E6=96=99=EF=BC=89=E6=98=BE?=
=?UTF-8?q?=E7=A4=BA=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/layouts/_base_header.html.erb | 14 +++++++-------
config/locales/en.yml | 1 +
2 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/app/views/layouts/_base_header.html.erb b/app/views/layouts/_base_header.html.erb
index fafc49c0a..3a7a6a8ee 100644
--- a/app/views/layouts/_base_header.html.erb
+++ b/app/views/layouts/_base_header.html.erb
@@ -27,7 +27,7 @@
#@nav_dispaly_user_label = 1
end
%>
-
<% end -%>
- <%#= render_menu :top_menu if User.current.logged? || !Setting.login_required? -%>
+ <%#= render_menu :top_menu if User.current.logged? || !Setting.login_required? -%>
<%= render_dynamic_nav if User.current.logged? || !Setting.login_required? -%>
<%# 自建导航条在base页面中以 (@nav_dispaly......) 开头变量设定, 全局搜索即可发现 %>
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 33e1eda9b..1d7b01d4f 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -1158,6 +1158,7 @@ en:
#huang
label_file_new: Download
label_user_edit: "Edit information"
+ label_my_course: "My Course"
label_user_info: "User information" #huang 添加
label_user_watcher: "Following" # huang添加的 # modified by bai
label_user_fans: "Followed by" # modified by bai
From 683cd9f9189f5651f7d723986010cd2984502039 Mon Sep 17 00:00:00 2001
From: z9hang
Date: Fri, 8 Aug 2014 13:47:02 +0800
Subject: [PATCH 2/3] =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E7=A7=AF=E5=88=86?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/users_controller.rb | 1 +
app/helpers/user_score_helper.rb | 70 ++++++++++++++++++----------
app/views/users/_user_score.html.erb | 3 +-
3 files changed, 49 insertions(+), 25 deletions(-)
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index cba7784bc..eaa96e82a 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -56,6 +56,7 @@ class UsersController < ApplicationController
include WordsHelper
include GitlabHelper
include UserScoreHelper
+ helper :user_score
# added by liuping 关注
diff --git a/app/helpers/user_score_helper.rb b/app/helpers/user_score_helper.rb
index 8c00a6b23..dc43de32a 100644
--- a/app/helpers/user_score_helper.rb
+++ b/app/helpers/user_score_helper.rb
@@ -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
diff --git a/app/views/users/_user_score.html.erb b/app/views/users/_user_score.html.erb
index 53f05a2dd..338d72ada 100644
--- a/app/views/users/_user_score.html.erb
+++ b/app/views/users/_user_score.html.erb
@@ -1,5 +1,6 @@
<%= l(:label_user_grade)%>:
-<%= link_to(format("%.2f" , user.user_score_attr.total_score).to_i, {:controller => 'users',
+
+<%= link_to(format("%.2f" ,user_scores(user,1).total_score ).to_i, {:controller => 'users',
:action => 'show_new_score',
:remote => true,
:id => user.id
From f8c6b661198cef6604ed016d834a519223f697e0 Mon Sep 17 00:00:00 2001
From: z9hang
Date: Fri, 8 Aug 2014 15:09:32 +0800
Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=86=E7=A0=81?=
=?UTF-8?q?=E5=A4=84=E5=AF=BC=E8=88=AA=E4=B8=A2=E5=A4=B1=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/my_controller.rb | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/controllers/my_controller.rb b/app/controllers/my_controller.rb
index a87df4fef..d55afbb31 100644
--- a/app/controllers/my_controller.rb
+++ b/app/controllers/my_controller.rb
@@ -16,6 +16,7 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
class MyController < ApplicationController
+ layout "users_base"
before_filter :require_login
helper :issues