diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index bdbdc7d9c..6fb2868bc 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -132,16 +132,13 @@ class IssuesController < ApplicationController User.current.at_messages.unviewed('Journal', j.id).each {|x| x.viewed!} end - # 缺陷状态更新 - query_journals = @issue.journals - query_journals.each do |query_journal| - query_journal.forge_messages.each do |f| - if User.current.id == f.user_id - f.update_attributes(:viewed => true) - end - end - end - # end + # 缺陷状态消息更新 + query_journals_ids = @issue.journals.map{|journal| journal.id} + if query_journals_ids.length > 0 + query_journals = ForgeMessage.where("user_id =? and forge_message_type =? and forge_message_id in (#{query_journals_ids.join(",")})", User.current.id, "Journal") + query_journals.update_all(:viewed => true) + end + @jour_reply = Journal.new @journals = @issue.journals.includes(:user, :details).reorder("#{Journal.table_name}.id ASC").all @journals.each_with_index {|j,i| j.indice = i+1} diff --git a/app/controllers/quality_analysis_controller.rb b/app/controllers/quality_analysis_controller.rb index 365889640..4e522ec73 100644 --- a/app/controllers/quality_analysis_controller.rb +++ b/app/controllers/quality_analysis_controller.rb @@ -252,7 +252,7 @@ class QualityAnalysisController < ApplicationController unresolved_issue_count = JSON.parse(unresolved_issues)["total"].to_i all_issues = open(@sonar_address + "/api/issues/search?projectKeys=#{@resource_id}&authors=#{email}").read all_issue_count = JSON.parse(all_issues)["total"].to_i - ratio = (changes == 0 ? 0 : format("%0.4f",unresolved_issue_count.to_f/changes.to_f)) + ratio = ((changes == 0 || all_issue_count == 0) ? 0 : format("%0.4f",all_issue_count.to_f/changes.to_f)) @user_quality_infos << {:email => email, :changes => changes, :unresolved_issue_count => unresolved_issue_count, :ratio => ratio, :all_issue_count => all_issue_count} end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index c1d6950fa..14ccb6dca 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -423,7 +423,7 @@ module ApplicationHelper else s = link_to text, issue_path(issue), :class => "c_blue", :title => title end - s << h(": #{subject}") if subject + s << h("".html_safe) if subject s = h("#{issue.project} - ") + s if options[:project] s end @@ -652,7 +652,7 @@ module ApplicationHelper s << watcher_link(@project, User.current)#, ['whiteButton']) s << "" end - s << (render :partial => 'projects/project', :locals => {:project => project}).to_s + s << (render :partial => 'projects/tracker_project', :locals => {:project => project}).to_s else s << (render :partial => 'projects/course', :locals => {:project => project}).to_s end @@ -832,7 +832,13 @@ module ApplicationHelper atts.count > 0 ? true :false end - # 必须是项目成,项目必须提交过代码 + # 如果Pull Request数量为0就显示在更多中 + def allow_show_pull_request project + g = Gitlab.client + count = g.merge_requests(project.gpid).count + end + + # 必须是项目成员,项目必须提交过代码 def allow_pull_request project return false if project.gpid.nil? g = Gitlab.client diff --git a/app/views/admin/projects.html.erb b/app/views/admin/projects.html.erb index 5e3a927da..80cc40fb0 100644 --- a/app/views/admin/projects.html.erb +++ b/app/views/admin/projects.html.erb @@ -64,7 +64,6 @@ <%= link_to(l(:button_archive), { :controller => 'projects', :action => 'archive', :id => project, :status => params[:status] }, :data => {:confirm => l(:text_are_you_sure)}, :method => :post, :class => 'icon icon-lock') unless project.archived? %> <%= link_to(l(:button_unarchive), { :controller => 'projects', :action => 'unarchive', :id => project, :status => params[:status] }, :method => :post, :class => 'icon icon-unlock') if project.archived? && (project.parent.nil? || !project.parent.archived?) %> - <%= link_to(l(:button_copy), { :controller => 'projects', :action => 'copy', :id => project }, :class => 'icon icon-copy') %> <%= link_to(l(:button_delete), project_path(project), :method => :delete, :class => 'icon icon-del', :onClick=>"delcfm()" ) %> diff --git a/app/views/issues/_form.html.erb b/app/views/issues/_form.html.erb index 0c1a34a96..1be21cbc1 100644 --- a/app/views/issues/_form.html.erb +++ b/app/views/issues/_form.html.erb @@ -79,4 +79,11 @@ <%= call_hook(:view_issues_form_details_bottom, {:issue => @issue, :form => f}) %> <% end %> 确定 - 取消 +<% if params[:action] == "new" %> + <% if @copy_from %> + <%= link_to "取消", issue_path(@copy_from), :class => "grey_btn fl mr50 ml10" %> + <% end %> +<% else %> + 取消 +<% end %> + diff --git a/app/views/projects/_development_group.html.erb b/app/views/projects/_development_group.html.erb index 17742f023..e6f3ad3da 100644 --- a/app/views/projects/_development_group.html.erb +++ b/app/views/projects/_development_group.html.erb @@ -41,7 +41,7 @@ <% end %> -<% if allow_pull_request(@project) %> +<% if allow_pull_request(@project) > 0 && allow_show_pull_request(@project) > 0 %>