diff --git a/app/controllers/bids_controller.rb b/app/controllers/bids_controller.rb index 49ee47327..be27a71ea 100644 --- a/app/controllers/bids_controller.rb +++ b/app/controllers/bids_controller.rb @@ -29,6 +29,7 @@ class BidsController < ApplicationController helper :projects helper :words helper :welcome + helper :project_score def find_project_by_bid_id @bid = Bid.find(params[:id]) diff --git a/app/helpers/user_score_helper.rb b/app/helpers/user_score_helper.rb index 5f47afb5a..b3f64235a 100644 --- a/app/helpers/user_score_helper.rb +++ b/app/helpers/user_score_helper.rb @@ -414,7 +414,7 @@ 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 + 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 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 @@ -458,26 +458,26 @@ module UserScoreHelper option_number.replay_for_message = replay_for_message_num(user,project)#JournalsForMessage.includes(:user).where("m_parent_id IS NOT NULL and user_id = #{user.id}").count update_score(option_number) end - #====================================contiue here===================================================== + def replay_for_message_num(user,project=nil) if project.nil? - JournalsForMessage.includes(:user).where("m_parent_id IS NOT NULL and user_id = #{user.id}").count + JournalsForMessage.includes(:user).where("m_parent_id IS NOT NULL and user_id = #{user.id} and jour_type = 'Project'").count else - + JournalsForMessage.includes(:user).where("m_parent_id IS NOT NULL and user_id = #{user.id} and jour_type = 'Project' and jour_id = '#{project.id}'").count end end #更新对帖子的回复数量 - def update_replay_for_memo(user,type) + def update_replay_for_memo(user,type,project=nil) option_number = get_option_number(user,type) - option_number.replay_for_memo = Message.includes(:author).where("parent_id IS NOT NULL and author_id = #{user.id}").all.count #+ Memo.includes(:author).where("parent_id IS NOT NULL and author_id = #{user.id}").all.count + option_number.replay_for_memo = replay_for_memo_num(user,project)#Message.includes(:author).where("parent_id IS NOT NULL and author_id = #{user.id}").all.count #+ Memo.includes(:author).where("parent_id IS NOT NULL and author_id = #{user.id}").all.count update_score(option_number) end def replay_for_memo_num(user,project=nil) if project.nil? - Message.includes(:author).where("parent_id IS NOT NULL and author_id = #{user.id}").all.count + Message.includes(:author).joins(:board).where("#{Message.table_name}.parent_id IS NOT NULL and #{Message.table_name}.author_id = '#{user.id}' and #{Board.table_name}.project_id != -1").all.count else Message.includes(:author).joins(:board).where("#{Message.table_name}.parent_id IS NOT NULL and #{Message.table_name}.author_id = '#{user.id}' and #{Board.table_name}.project_id = #{project.id}").all.count end @@ -495,32 +495,13 @@ module UserScoreHelper end #更新帖子踩各项数量 - def update_tread(user,type) + def update_tread(user,type,project=nil) option_number = get_option_number(user,type) - option_number.tread = 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 - result = [] - result1 = [] - result2 = [] - pts.each do |pt| - obj = PraiseTread.find_object_by_type_and_id(pt.praise_tread_object_type, pt.praise_tread_object_id) - if obj.nil? - next - end - 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 - result << pt - elsif level == 2 && target_user.id = user.id - result1 << pt - elsif level == 3 && target_user.id = user.id - result2 << pt - end - end - option_number.tread_by_one = result.count - option_number.tread_by_two = result1.count - option_number.tread_by_three = result2.count + tread_nums = tread_num(user,project) + option_number.tread = tread_nums[:tread] + option_number.tread_by_one = tread_nums[:tead_by_one] + option_number.tread_by_two = tread_nums[:tread_by_two] + option_number.tread_by_three = tread_nums[:tread_by_three] update_score(option_number) end @@ -579,31 +560,12 @@ module UserScoreHelper end #更新帖子顶数量 - def update_praise(user,type) + def update_praise(user,type,project=nil) option_number = get_option_number(user,type) - pts = PraiseTread.where("praise_tread_object_type = 'Issue' || praise_tread_object_type = 'Message' and praise_or_tread = 1").all - result = [] - result1 = [] - result2 = [] - pts.each do |pt| - obj = PraiseTread.find_object_by_type_and_id(pt.praise_tread_object_type, pt.praise_tread_object_id) - if obj.nil? - next - end - 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 - result << pt - elsif level == 2 && target_user.id = user.id - result1 << pt - elsif level == 3 && target_user.id = user.id - result2 << pt - end - end - option_number.praise_by_one = result.count - option_number.praise_by_two = result1.count - option_number.praise_by_three = result2.count + praise_nums = praise_num(user,project) + option_number.praise_by_one = praise_nums[:praise_by_one] + option_number.praise_by_two = praise_nums[:praise_by_two] + option_number.praise_by_three = praise_nums[:praise_by_three] update_score(option_number) end @@ -643,6 +605,9 @@ module UserScoreHelper if obj.nil? next end + #if obj.project.id == -1 + # next + #end target_user = obj.author level = UserLevels.get_level(pt.user)#pt.user.get_level project = pt.project @@ -660,9 +625,9 @@ module UserScoreHelper end #更新提交代码次数 - def update_changeset(user,type) + def update_changeset(user,type,project=nil) option_number = get_option_number(user,type) - option_number.changeset = Changeset.includes(:user).where("user_id = '#{user.id}'").all.count + option_number.changeset = changeset_num(user,project)#Changeset.includes(:user).where("user_id = '#{user.id}'").all.count update_score(option_number) end @@ -676,9 +641,9 @@ module UserScoreHelper end #更新文档提交次数 - def update_document(user,type) + def update_document(user,type,project=nil) option_number = get_option_number(user,type) - option_number.document = Document.includes(:user).where("user_id = '#{user.id}'").all.count + option_number.document = document_num(user,project)#Document.includes(:user).where("user_id = '#{user.id}'").all.count update_score(option_number) end @@ -692,9 +657,9 @@ module UserScoreHelper end #更新附件提交数量 - def update_attachment(user,type) + def update_attachment(user,type,project=nil) option_number = get_option_number(user,type) - option_number.attachment = Attachment.includes(:author).where("author_id = '#{user.id}'").all.count + option_number.attachment = attachment_num(user,project)#Attachment.includes(:author).where("author_id = '#{user.id}'").all.count update_score(option_number) end @@ -707,9 +672,9 @@ module UserScoreHelper end #更新缺陷完成度次数 - def update_issue_done_ratio(user,type) + def update_issue_done_ratio(user,type,project=nil) option_number = get_option_number(user,type) - option_number.issue_done_ratio = Journal.joins(:details, :user).where("#{JournalDetail.table_name}.prop_key = 'done_ratio' and #{User.table_name}.id = '#{user.id}'").count + option_number.issue_done_ratio = issue_done_ratio_num(user,project) #Journal.joins(:details, :user).where("#{JournalDetail.table_name}.prop_key = 'done_ratio' and #{User.table_name}.id = '#{user.id}'").count update_score(option_number) end @@ -723,9 +688,9 @@ module UserScoreHelper end #更新发布缺陷次数 - def update_post_issue(user,type) + def update_post_issue(user,type,project=nil) option_number = get_option_number(user,type) - option_number.post_issue = Issue.includes(:author).where("author_id = '#{user.id}'").all.count + option_number.post_issue = post_issue_num(user,project) #Issue.includes(:author).where("author_id = '#{user.id}'").all.count update_score(option_number) end @@ -737,7 +702,8 @@ module UserScoreHelper end end - def user_scores(user,type) - + def user_scores(user,type,project=nil) + ooption_num = get_option_number(user,type,project) + update_score(ooption_num) end end diff --git a/app/views/issues/_attributes.html.erb b/app/views/issues/_attributes.html.erb index f4857bd22..e44578243 100644 --- a/app/views/issues/_attributes.html.erb +++ b/app/views/issues/_attributes.html.erb @@ -1,63 +1,80 @@ -<%= labelled_fields_for :issue, @issue do |f| %> - -
- -<% if @issue.safe_attribute? 'custom_field_values' %> -<%= render :partial => 'issues/form_custom_fields' %> -<% end %> - -<% end %> - -<% include_calendar_headers_tags %> +<%= labelled_fields_for :issue, @issue do |f| %> + + + +<% if @issue.safe_attribute? 'custom_field_values' %> +<%= render :partial => 'issues/form_custom_fields' %> +<% end %> + +<% end %> + +<% include_calendar_headers_tags %> diff --git a/app/views/projects/_form.html.erb b/app/views/projects/_form.html.erb index 47a87f441..7c84bf84b 100644 --- a/app/views/projects/_form.html.erb +++ b/app/views/projects/_form.html.erb @@ -8,10 +8,13 @@<%= f.text_area :description, :rows => 8, :class => 'wiki-edit', :style => "font-size:small;width:490px;margin-left:10px;" %>
-<%= f.text_field :identifier, :required => true, :size => 60, :style => "width:488px;", :disabled => @project.identifier_frozen?, :maxlength => Project::IDENTIFIER_MAX_LENGTH %> + +
+<%= f.check_box :is_public, :style => "margin-left:10px;" %>
<%= f.check_box :hidden_repo, :style => "margin-left:10px;" %>
diff --git a/app/views/projects/settings/_repositories.html.erb b/app/views/projects/settings/_repositories.html.erb index bb42e7a54..4ad14bf84 100644 --- a/app/views/projects/settings/_repositories.html.erb +++ b/app/views/projects/settings/_repositories.html.erb @@ -15,7 +15,7 @@ <% @project.repositories.sort.each do |repository| %><%= l(:label_repository_no) %> +
<%= l(:label_repository_no) %> <%= link_to l(:label_repository_new_repos), newrepo_project_repository_path(@project, :course => course_tag), :class => 'icon icon-add' %>
<% end %> \ No newline at end of file diff --git a/app/views/repositories/_form.html.erb b/app/views/repositories/_form.html.erb index 7ecbb7ddb..b9a3a6c83 100644 --- a/app/views/repositories/_form.html.erb +++ b/app/views/repositories/_form.html.erb @@ -1,32 +1,34 @@ -<%= error_messages_for 'repository' %> - --<%= label_tag('repository_scm', l(:label_scm)) %> - -<%= select_tag('repository_scm', - options_for_select(["Subversion"],@repository.class.name.demodulize), - :data => {:remote => true, :method => 'get'})%> - -
- -<%= f.check_box :is_default, :label => :field_repository_is_default %>
-<%= f.text_field :identifier, :required => true, :disabled => @repository.identifier_frozen? %> -<% unless @repository.identifier_frozen? %> - <%= l(:text_length_between, :min => 1, :max => Repository::IDENTIFIER_MAX_LENGTH) %> <%= l(:text_repository_identifier_info).html_safe %> -<% end %>
- - -<%= f.text_field :url, :size => 60, :required => true, :disabled => !@repository.safe_attribute?('url') %> - <%= "#{l(:label_exist_repository_path)}" %> -
-<%= f.text_field :login, :size => 30 %>
-<%= f.password_field :password, :size => 30, :name => 'ignore', :value => ((@repository.new_record? || @repository.password.blank?) ? '' : ('x'*15)), - :onfocus => "this.value=''; this.name='repository[password]';", - :onchange => "this.name='repository[password]';" %>
-- <%= submit_tag(@repository.new_record? ? l(:button_create) : l(:button_save)) %> - <%= link_to l(:button_cancel), settings_project_path(@project, :tab => 'repositories') %> -
+<%= error_messages_for 'repository' %> + ++<%= label_tag('repository_scm', l(:label_scm)) %> + +<%= select_tag('repository_scm', + options_for_select(["Subversion"],@repository.class.name.demodulize), + :data => {:remote => true, :method => 'get'})%> + +
+ +<%= f.check_box :is_default, :label => :field_repository_is_default %>
+ + + +<%= f.text_field :url, :size => 60, :required => true, :disabled => !@repository.safe_attribute?('url'), :id => "url_text_field" %> + <%= "#{l(:label_exist_repository_path)}" %> +
+<%= f.text_field :login, :size => 30 %>
+<%= f.password_field :password, :size => 30, :name => 'ignore', :value => ((@repository.new_record? || @repository.password.blank?) ? '' : ('x'*15)), + :onfocus => "this.value=''; this.name='repository[password]';", + :onchange => "this.name='repository[password]';" %>
++ <%#= submit_tag(@repository.new_record? ? l(:button_create) : l(:button_save)) %> + + <%= link_to l(:button_cancel), settings_project_path(@project, :tab => 'repositories') %> +
diff --git a/app/views/repositories/new.html.erb b/app/views/repositories/new.html.erb index 31a44a921..4127458b3 100644 --- a/app/views/repositories/new.html.erb +++ b/app/views/repositories/new.html.erb @@ -1,5 +1,23 @@ -