Merge branch 'dev_newproject' of https://git.trustie.net/jacknudt/trustieforge into dev_newproject

This commit is contained in:
daiao 2016-10-26 15:18:42 +08:00
commit a40d6933f6
13 changed files with 2648 additions and 2907 deletions

View File

@ -14,7 +14,7 @@ class PullRequestsController < ApplicationController
# project_menu_type 为了控制base顶部导航 # project_menu_type 为了控制base顶部导航
@project_menu_type = 6 @project_menu_type = 6
# 不符合pullrequest条件的给出提示 # 不符合pullrequest条件的给出提示
@allow_to_pull_request = allow_pull_request(@project) > 0 && allow_show_pull_request(@project) > 0 @allow_to_pull_request = allow_pull_request(@project) > 0
type = params[:type] type = params[:type]
case type case type

View File

@ -380,8 +380,7 @@ update
# 顶部导航 # 顶部导航
@project_menu_type = 5 @project_menu_type = 5
## TODO: the below will move to filter, done. # TODO: the below will move to filter, done.
# 获取版本库目录结构 # 获取版本库目录结构
@entries = @repository.entries(@path, @rev) @entries = @repository.entries(@path, @rev)
if request.xhr? if request.xhr?

View File

@ -902,12 +902,6 @@ module ApplicationHelper
atts.count > 0 ? true :false atts.count > 0 ? true :false
end 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 def allow_pull_request project
return 0 if project.gpid.nil? return 0 if project.gpid.nil?

View File

@ -47,11 +47,13 @@
</li> </li>
<% end %> <% end %>
<!--Pull Request--> <!--Pull Request-->
<% unless @project.gpid.nil? %>
<li id="project_menu_06"> <li id="project_menu_06">
<%= link_to project_score.pull_request_num >0 ? "Pull Requests <span class='issues_nav_tag ml5'>#{switch_integer_into_k project_score.pull_request_num}</span>".html_safe : "Pull Requests", project_pull_requests_path(@project), :class => "pro_new_proname", :title => "#{project_score.pull_request_num}" %> <%= link_to project_score.pull_request_num >0 ? "Pull Requests <span class='issues_nav_tag ml5'>#{switch_integer_into_k project_score.pull_request_num}</span>".html_safe : "Pull Requests", project_pull_requests_path(@project), :class => "pro_new_proname", :title => "#{project_score.pull_request_num}" %>
<% if project_score.pull_request_num >0 %> <% if project_score.pull_request_num >0 %>
<% end %> <% end %>
</li> </li>
<% end %>
<!--里程碑--> <!--里程碑-->
<li id="project_menu_07"> <li id="project_menu_07">
<%= link_to @project.versions.count >0 ? "#{l(:label_roadmap)}<span class='issues_nav_tag ml5'>#{switch_integer_into_k @project.versions.count}</span>".html_safe : l(:label_roadmap) ,project_roadmap_path(@project), :class => "pro_new_proname" %> <%= link_to @project.versions.count >0 ? "#{l(:label_roadmap)}<span class='issues_nav_tag ml5'>#{switch_integer_into_k @project.versions.count}</span>".html_safe : l(:label_roadmap) ,project_roadmap_path(@project), :class => "pro_new_proname" %>

View File

@ -41,6 +41,10 @@
}); });
</script> </script>
<% else %> <% else %>
<p>不符合条件,内容待补充</p> <div class="new_roadmap_conbox mb10" >
<div class="new_roadmap_navbox clear">
版本库中还没有提交代码,请先提交代码
</div>
</div>
<% end %> <% end %>

View File

@ -15,14 +15,5 @@
$("#changed-files-detail").hide(); $("#changed-files-detail").hide();
}); });
$(".merge-record li a").click(function(){
$(".merge-record li a").removeClass("active");
$(this).addClass("active");
var index = $(".merge-record li a").index(this);
$("#merge_record_0, #merge_record_1").hide();
$("#merge_record_" + index).show();
});
</script> </script>

View File

@ -2,10 +2,11 @@
// $("#ajax-indicator span").text("载入中..."); // $("#ajax-indicator span").text("载入中...");
$("#ajax-indicator").show(); $("#ajax-indicator").show();
</script> </script>
<div class="project_r_h" style="width:730px;"> <div class="container-big mb10">
<div class="project_r_h" style="width:970px;">
<h2 class="project_h2">分析结果</h2> <h2 class="project_h2">分析结果</h2>
</div> </div>
<ul class="analysis-result-list"> <ul class="analysis-result-list">
<li class="analysis-result-name fl fontBlue2" >名称</li> <li class="analysis-result-name fl fontBlue2" >名称</li>
<li class="analysis-result-version fl fontBlue2" >分支</li> <li class="analysis-result-version fl fontBlue2" >分支</li>
<li class="analysis-result-loc fl fontBlue2" >语言</li> <li class="analysis-result-loc fl fontBlue2" >语言</li>
@ -13,8 +14,8 @@
<li class="analysis-result-time fl fontBlue2" >最近更新</li> <li class="analysis-result-time fl fontBlue2" >最近更新</li>
<li class="analysis-result-edit fl fontBlue2" ></li> <li class="analysis-result-edit fl fontBlue2" ></li>
<div class="cl"></div> <div class="cl"></div>
</ul> </ul>
<% if @quality_analyses && @quality_analyses.count >0 %> <% if @quality_analyses && @quality_analyses.count >0 %>
<% @quality_analyses.each do |qa| %> <% @quality_analyses.each do |qa| %>
<ul class="analysis-result-list"> <ul class="analysis-result-list">
<li title="<%= qa.author_login+ ':' +qa.rep_identifier %>"><%=link_to "#{qa.author_login}:#{qa.rep_identifier}", project_quality_analysis_path(:resource_id => qa.sonar_name, :branch => (qa.branch.nil? ? "master" : qa.branch)), :class => "analysis-result-name fl fontBlue2 hidden" %></li> <li title="<%= qa.author_login+ ':' +qa.rep_identifier %>"><%=link_to "#{qa.author_login}:#{qa.rep_identifier}", project_quality_analysis_path(:resource_id => qa.sonar_name, :branch => (qa.branch.nil? ? "master" : qa.branch)), :class => "analysis-result-name fl fontBlue2 hidden" %></li>
@ -24,19 +25,14 @@
<li class="analysis-result-time fl fontBlue2 hidden" title="<%= sonar_time(qa.sonar_name).blank? ? qa.created_at : sonar_time(qa.sonar_name) %>"><%= format_time(sonar_time(qa.sonar_name).blank? ? qa.created_at : sonar_time(qa.sonar_name)) %></li> <li class="analysis-result-time fl fontBlue2 hidden" title="<%= sonar_time(qa.sonar_name).blank? ? qa.created_at : sonar_time(qa.sonar_name) %>"><%= format_time(sonar_time(qa.sonar_name).blank? ? qa.created_at : sonar_time(qa.sonar_name)) %></li>
<% if User.current.try(:login) == qa.author_login || User.current.admin? || is_project_manager?(User.current.id, @project.id) %> <% if User.current.try(:login) == qa.author_login || User.current.admin? || is_project_manager?(User.current.id, @project.id) %>
<li class="analysis-result-edit fl fontBlue2 hidden" title="<%= qa.path %>"> <li class="analysis-result-edit fl fontBlue2 hidden" title="<%= qa.path %>">
<%=link_to "编辑", edit_project_quality_analysi_path(qa, :project_id => @project.id), :remote => true, :class => "fontBlue2" %><span style="color: #888"> / </span>
<%=link_to "删除", delete_project_quality_analysi_path(qa, :project_id => @project.id), :method => "delete", :confirm => "删除会一并删除分析结果,确定删除吗?", :class => "fontBlue2" %> <%=link_to "删除", delete_project_quality_analysi_path(qa, :project_id => @project.id), :method => "delete", :confirm => "删除会一并删除分析结果,确定删除吗?", :class => "fontBlue2" %>
</li> </li>
<% end %> <% end %>
<div class="cl"></div> <div class="cl"></div>
</ul> </ul>
<% end %> <% end %>
<% else %> <% else %>
<%#= 数据为空时候界面,待完善 %> <%#= 数据为空时候界面,待完善 %>
<% end %> <% end %>
</div>
<script>
$(".project_r_h").parent().css({"width":"730px","background-color":"#fff","padding":"10px","margin-left":"10px","margin-bottom":"10px"});
</script>

View File

@ -1,14 +1,15 @@
<%= javascript_include_tag 'highcharts','highcharts-more' %> <%= javascript_include_tag 'highcharts','highcharts-more' %>
<div class="project_r_h" style="width:730px;"> <div class="container-big mb10">
<div class="project_r_h" style="width:970px;">
<h2 class="project_h2" style="width:180px;">质量分析</h2> <h2 class="project_h2" style="width:180px;">质量分析</h2>
</div> </div>
<div class="button-rep">当前分支:<%= params[:branch] %></div> <div class="button-rep">当前分支:<%= params[:branch] %></div>
<div class="cl"></div> <div class="cl"></div>
<div class="tac f20 fb mt35 mb30">项目代码质量分析报告</div> <div class="tac f20 fb mt35 mb30">项目代码质量分析报告</div>
<div class="analysis-tag-wrap f16"> <span class="analysis-tag fl mr15"></span> <span class="fb fl">概要信息</span></div> <div class="analysis-tag-wrap f16"> <span class="analysis-tag fl mr15"></span> <span class="fb fl">概要信息</span></div>
<%= render :partial => "hightchars" %> <%= render :partial => "hightchars" %>
<div class="analysis-block mt10 mb40 f14"> <div class="analysis-block mt10 mb40 f14">
<div class="flex mb10"> <div class="flex mb10">
<div class="analysis-genral"> <div class="analysis-genral">
<p id="container_sqale_rating" style="max-width:200px;min-height:200px;width:200px; margin:0 auto;"></p> <p id="container_sqale_rating" style="max-width:200px;min-height:200px;width:200px; margin:0 auto;"></p>
@ -28,8 +29,6 @@
</span> </span>
</p> </p>
</div> </div>
</div>
<div class="flex">
<div class="analysis-genral"> <div class="analysis-genral">
<p id="container_duplicated_lines_density" style="max-width:200px;min-height:200px;width:200px; margin:0 auto;"></p> <p id="container_duplicated_lines_density" style="max-width:200px;min-height:200px;width:200px; margin:0 auto;"></p>
<p class="fontGrey3">代码重复度</p> <p class="fontGrey3">代码重复度</p>
@ -49,15 +48,15 @@
</p> </p>
</div> </div>
</div> </div>
</div> </div>
<div class="analysis-tag-wrap f16"> <div class="analysis-tag-wrap f16">
<span class="analysis-tag fl mr15"></span> <span class="analysis-tag fl mr15"></span>
<span class="fb fl mr10">质量等级</span> <span class="fb fl mr10">质量等级</span>
<span class="mr10 fontGrey2"><span class="c_red f18" style="margin-top:-5px; display:inline-block;"><%= @ha["sqale_rating"].nil? ? 0 : score_sqale_rating(@ha["sqale_rating"].to_i) %></span>/5分</span> <span class="mr10 fontGrey2"><span class="c_red f18" style="margin-top:-5px; display:inline-block;"><%= @ha["sqale_rating"].nil? ? 0 : score_sqale_rating(@ha["sqale_rating"].to_i) %></span>/5分</span>
<span class="fontGrey2">可定性评价为:<span class="c_red">质量<%= @ha["sqale_rating"].nil? ? "很好" : sqale_rating_status(@ha["sqale_rating"].to_i)[0] %></span></span></div> <span class="fontGrey2">可定性评价为:<span class="c_red">质量<%= @ha["sqale_rating"].nil? ? "很好" : sqale_rating_status(@ha["sqale_rating"].to_i)[0] %></span></span></div>
<div class="analysis-block mt10 mb40 f14"> <div class="analysis-block mt10 mb40 f14">
<div><span class="fontGrey3 mr30">技术债务</span> <div><span class="fontGrey3 mr30">技术债务</span>
<span class="w100 pInline"> <span class="w100 pInline">
<% if @ha["sqale_index"].to_i == 0 %> <% if @ha["sqale_index"].to_i == 0 %>
@ -101,11 +100,11 @@
</a> </a>
<span class="quality-percentage"><span class="quality-percentage-rate" style="width:<%= @ha["info_violations"].nil? ? 0 : statistics_result_percentage(@ha["info_violations"].to_i, 3000) %>%;"></span></span></div> <span class="quality-percentage"><span class="quality-percentage-rate" style="width:<%= @ha["info_violations"].nil? ? 0 : statistics_result_percentage(@ha["info_violations"].to_i, 3000) %>%;"></span></span></div>
</div> </div>
</div> </div>
<div class="analysis-tag-wrap f16"> <div class="analysis-tag-wrap f16">
<span class="analysis-tag fl mr15"></span> <span class="analysis-tag fl mr15"></span>
<span class="fb fl mr10">代码规模</span><span class="fontGrey2">可定性评价为:<span class="c_red"><%= @ha["lines"].nil? ? 0 : lines_scale(@ha["lines"].to_i) %></span></span></div> <span class="fb fl mr10">代码规模</span><span class="fontGrey2">可定性评价为:<span class="c_red"><%= @ha["lines"].nil? ? 0 : lines_scale(@ha["lines"].to_i) %></span></span></div>
<div class="analysis-block mt10 mb40 flex f14"> <div class="analysis-block mt10 mb40 flex f14">
<div class="analysis-genral"> <div class="analysis-genral">
<p class="fontGrey3">代码行数</p> <p class="fontGrey3">代码行数</p>
<p class="fontBlue2"><%= @ha["lines"].to_i %></p> <p class="fontBlue2"><%= @ha["lines"].to_i %></p>
@ -126,8 +125,8 @@
<p class="fontGrey3">方法</p> <p class="fontGrey3">方法</p>
<p class="fontBlue2"><%= @ha["functions"].to_i %></p> <p class="fontBlue2"><%= @ha["functions"].to_i %></p>
</div> </div>
</div> </div>
<% if !@user_quality_infos.blank? %> <% if !@user_quality_infos.blank? %>
<div class="analysis-tag-wrap f16"> <span class="analysis-tag fl mr15"></span> <span class="fb fl">贡献统计</span></div> <div class="analysis-tag-wrap f16"> <span class="analysis-tag fl mr15"></span> <span class="fb fl">贡献统计</span></div>
<div class="analysis-block mt10 f12"> <div class="analysis-block mt10 f12">
<ul class="contribute-list"> <ul class="contribute-list">
@ -159,9 +158,5 @@
<% end %> <% end %>
</div> </div>
<% end %> <% end %>
</div>
<script>
$(".project_r_h").parent().css({"width":"730px","background-color":"#fff","padding":"10px","margin-left":"10px","margin-bottom":"10px"});
</script>

View File

@ -1,7 +1,8 @@
<div class="project_r_h"> <div class="container-big mb10">
<div class="project_r_h">
<h2 class="project_h2" style="width:180px;">质量分析</h2> <h2 class="project_h2" style="width:180px;">质量分析</h2>
</div> </div>
<div> <div>
<div class="c_red">本次分析失败,原因如下:</div> <div class="c_red">本次分析失败,原因如下:</div>
<% if @build_console_result == false %> <% if @build_console_result == false %>
分析超时 分析超时
@ -10,4 +11,5 @@
<% else %> <% else %>
<%= h @error_list.try(:output).html_safe %> <%= h @error_list.try(:output).html_safe %>
<% end %> <% end %>
</div>
</div> </div>

View File

@ -1,29 +1,30 @@
<div class="project_r_h" style="width:730px;"> <div class="container-big">
<div class="project_r_h" style="width:970px;">
<div class="fl"><h2 class="project_h2_repository"><%= render :partial => 'breadcrumbs', :locals => {:path => @path, :kind => 'dir', :revision => @rev} %></h2></div> <div class="fl"><h2 class="project_h2_repository"><%= render :partial => 'breadcrumbs', :locals => {:path => @path, :kind => 'dir', :revision => @rev} %></h2></div>
</div> </div>
<!--<script>--> <!--<script>-->
<!--// $(document).ready(function(){--> <!--// $(document).ready(function(){-->
<!--// $("#changed-files").click(function(){--> <!--// $("#changed-files").click(function(){-->
<!--// $("#changed-files-detail").toggle();--> <!--// $("#changed-files-detail").toggle();-->
<!--// });--> <!--// });-->
<!--// });--> <!--// });-->
<!--</script>--> <!--</script>-->
<div class="showing-changes-info fontGrey2"> Commit <a href="javascript:void()" class="linkGrey3"> <div class="showing-changes-info fontGrey2"> Commit <a href="javascript:void()" class="linkGrey3">
<%= @commit_details.id %></a><br /> <%= @commit_details.id %></a><br />
<li class="commit js-toggle-container"> <li class="commit js-toggle-container">
<%= render :partial => 'commit_details', :locals => {:changeset => @commit_details} %> <%= render :partial => 'commit_details', :locals => {:changeset => @commit_details} %>
</li> </li>
</div> </div>
<div class="showing-changes-project f14"><%= @commit_details.message %></div> <div class="showing-changes-project f14"><%= @commit_details.message %></div>
<!--<div class="showing-changes-row fontGrey2">Showing <a href="javascript:void()" class="linkGrey3" id="changed-files">3 changed files</a> with <span class="c_green">3 additions</span> and <span class="c_red">3 deletions</span>--> <!--<div class="showing-changes-row fontGrey2">Showing <a href="javascript:void()" class="linkGrey3" id="changed-files">3 changed files</a> with <span class="c_green">3 additions</span> and <span class="c_red">3 deletions</span>-->
<!--<ol class="mt10" id="changed-files-detail">--> <!--<ol class="mt10" id="changed-files-detail">-->
<!--<li><a href="javascript:void()" class="linkGrey3" id="changed-files">app/views/organizations/_org_course_homework.html.erb</a> </li>--> <!--<li><a href="javascript:void()" class="linkGrey3" id="changed-files">app/views/organizations/_org_course_homework.html.erb</a> </li>-->
<!--<li><a href="javascript:void()" class="linkGrey3" id="changed-files">app/views/users/_course_homework.html.erb</a> </li>--> <!--<li><a href="javascript:void()" class="linkGrey3" id="changed-files">app/views/users/_course_homework.html.erb</a> </li>-->
<!--<li><a href="javascript:void()" class="linkGrey3" id="changed-files">app/views/users/_user_homework_detail.html.erb</a> </li>--> <!--<li><a href="javascript:void()" class="linkGrey3" id="changed-files">app/views/users/_user_homework_detail.html.erb</a> </li>-->
<!--</ol>--> <!--</ol>-->
<!--</div>--> <!--</div>-->
<% @commit_diff.each do |cd| %> <% @commit_diff.each do |cd| %>
<div class="showing-changes-row fontGrey2"> <div class="showing-changes-row fontGrey2">
<a href="javascript:void()" class="linkGrey3" id="changed-files"> <a href="javascript:void()" class="linkGrey3" id="changed-files">
<img src="/images/vlicon/file.png" width="18" height="20" style="vertical-align:middle;" class="mr5" /><%= cd.new_path %> <img src="/images/vlicon/file.png" width="18" height="20" style="vertical-align:middle;" class="mr5" /><%= cd.new_path %>
@ -52,8 +53,5 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<% end %> <% end %>
</div>
<script>
$(".project_r_h").parent().css({"width":"730px","background-color":"#fff","padding":"10px","margin-left":"10px","margin-bottom":"10px"});
</script>

View File

@ -1,241 +0,0 @@
# = Redmine configuration file
#
# Each environment has it's own configuration options. If you are only
# running in production, only the production block needs to be configured.
# Environment specific configuration options override the default ones.
#
# Note that this file needs to be a valid YAML file.
# DO NOT USE TABS! Use 2 spaces instead of tabs for identation.
#
# == Outgoing email settings (email_delivery setting)
#
# === Common configurations
#
# ==== Sendmail command
#
# production:
# email_delivery:
# delivery_method: :sendmail
#
# ==== Simple SMTP server at localhost
#
# production:
# email_delivery:
# delivery_method: :smtp
# smtp_settings:
# address: smtp.163.com
# port: 25
#
# ==== SMTP server at example.com using LOGIN authentication and checking HELO for foo.com
#
# production:
# email_delivery:
# delivery_method: :smtp
# smtp_settings:
# address: smtp.gmail.com
# port: 587
# authentication: :login
# domain: 'foo.com'
# user_name: senluowanxiangt@gmail.com
# password: 1913TXBja
#
# ==== SMTP server at example.com using PLAIN authentication
#
# production:
# email_delivery:
# delivery_method: :smtp
# smtp_settings:
# address: smtp.gmail.com
# port: 587
# authentication: :plain
# domain: 'example.com'
# user_name: senluowanxiangt@gmail.com
# password: 1913TXBja
#
# ==== SMTP server at using TLS (GMail)
#
# This might require some additional configuration. See the guides at:
# http://www.redmine.org/projects/redmine/wiki/EmailConfiguration
#
# production:
# email_delivery:
# delivery_method: :smtp
# smtp_settings:
# enable_starttls_auto: true
# address: smtp.gmail.com
# port: 587
# domain: "smtp.gmail.com" # 'your.domain.com' for GoogleApps
# authentication: :plain
# user_name: senluowanxiangt@gmail.com
# password: 1913TXBja
#
#
# === More configuration options
#
# See the "Configuration options" at the following website for a list of the
# full options allowed:
#
# http://wiki.rubyonrails.org/rails/pages/HowToSendEmailsWithActionMailer
default:
email_delivery:
delivery_method: :smtp
smtp_settings:
address: mail.trustie.net
port: 25
domain: mail.trustie.net
authentication: :login
user_name: "mail@trustie.net"
password: "loong2010"
# Absolute path to the directory where attachments are stored.
# The default is the 'files' directory in your Redmine instance.
# Your Redmine instance needs to have write permission on this
# directory.
# Examples:
# attachments_storage_path: /var/redmine/files
# attachments_storage_path: D:/redmine/files
attachments_storage_path:
# Configuration of the autologin cookie.
# autologin_cookie_name: the name of the cookie (default: autologin)
# autologin_cookie_path: the cookie path (default: /)
# autologin_cookie_secure: true sets the cookie secure flag (default: false)
autologin_cookie_name: "autologin_trustie"
autologin_cookie_path:
autologin_cookie_secure:
# Configuration of SCM executable command.
#
# Absolute path (e.g. /usr/local/bin/hg) or command name (e.g. hg.exe, bzr.exe)
# On Windows + CRuby, *.cmd, *.bat (e.g. hg.cmd, bzr.bat) does not work.
#
# On Windows + JRuby 1.6.2, path which contains spaces does not work.
# For example, "C:\Program Files\TortoiseHg\hg.exe".
# If you want to this feature, you need to install to the path which does not contains spaces.
# For example, "C:\TortoiseHg\hg.exe".
#
# Examples:
# scm_subversion_command: svn # (default: svn)
# scm_mercurial_command: C:\Program Files\TortoiseHg\hg.exe # (default: hg)
# scm_git_command: /usr/local/bin/git # (default: git)
# scm_cvs_command: cvs # (default: cvs)
# scm_bazaar_command: bzr.exe # (default: bzr)
# scm_darcs_command: darcs-1.0.9-i386-linux # (default: darcs)
#
scm_subversion_command:
scm_mercurial_command:
scm_git_command:
scm_cvs_command:
scm_bazaar_command:
scm_darcs_command:
# Absolute path to the SCM commands errors (stderr) log file.
# The default is to log in the 'log' directory of your Redmine instance.
# Example:
# scm_stderr_log_file: /var/log/redmine_scm_stderr.log
scm_stderr_log_file:
# Key used to encrypt sensitive data in the database (SCM and LDAP passwords).
# If you don't want to enable data encryption, just leave it blank.
# WARNING: losing/changing this key will make encrypted data unreadable.
#
# If you want to encrypt existing passwords in your database:
# * set the cipher key here in your configuration file
# * encrypt data using 'rake db:encrypt RAILS_ENV=production'
#
# If you have encrypted data and want to change this key, you have to:
# * decrypt data using 'rake db:decrypt RAILS_ENV=production' first
# * change the cipher key here in your configuration file
# * encrypt data using 'rake db:encrypt RAILS_ENV=production'
database_cipher_key:
# Set this to false to disable plugins' assets mirroring on startup.
# You can use `rake redmine:plugins:assets` to manually mirror assets
# to public/plugin_assets when you install/upgrade a Redmine plugin.
#
#mirror_plugins_assets_on_startup: false
# Your secret key for verifying cookie session data integrity. If you
# change this key, all old sessions will become invalid! Make sure the
# secret is at least 30 characters and all random, no regular words or
# you'll be exposed to dictionary attacks.
#
# If you have a load-balancing Redmine cluster, you have to use the
# same secret token on each machine.
#secret_token: 'change it to a long random string'
# Absolute path (e.g. /usr/bin/convert, c:/im/convert.exe) to
# the ImageMagick's `convert` binary. Used to generate attachment thumbnails.
imagemagick_convert_command: '/home/pdl/redmine-2.3.2-0/common/bin/convert'
# Configuration of RMagcik font.
#
# Redmine uses RMagcik in order to export gantt png.
# You don't need this setting if you don't install RMagcik.
#
# In CJK (Chinese, Japanese and Korean),
# in order to show CJK characters correctly,
# you need to set this configuration.
#
# Because there is no standard font across platforms in CJK,
# you need to set a font installed in your server.
#
# This setting is not necessary in non CJK.
#
# Examples for Japanese:
# Windows:
# rmagick_font_path: C:\windows\fonts\msgothic.ttc
# Linux:
# rmagick_font_path: /usr/share/fonts/ipa-mincho/ipam.ttf
#
rmagick_font_path:
# Maximum number of simultaneous AJAX uploads
#max_concurrent_ajax_uploads: 2
#pic_types: "bmp,jpeg,jpg,png,gif"
repository_root_path: '/tmp/htdocs'
judge_server: 'http://judge.trustie.net/'
# Gitlab url
gitlab_address: 'https://git.trustie.net'
# Sonar url
sonar_address: 'http://sonar.trustie.net'
#Jenkins url
jenkins_address: 'http://jenins.trustie.net'
jenkins_username: 'temp'
jenkins_password: '123123'
# specific configuration options for production environment
# that overrides the default ones
production:
# CJK support
rmagick_font_path: /usr/share/fonts/ipa-mincho/ipam.ttf
judge_server: 'http://192.168.80.21:8080/'
repository_root_path: '/home/pdl/redmine-2.3.2-0/apache2/htdocs'
cookie_domain: ".trustie.net"
email_delivery:
delivery_method: :smtp
smtp_settings:
address: mail.trustie.net
port: 25
domain: mail.trustie.net
authentication: :login
user_name: "mail@trustie.net"
password: "loong2010"
# specific configuration options for development environment
# that overrides the default ones
development:
email_delivery:
delivery_method: :smtp
smtp_settings:
address: mail.trustie.net
port: 25
domain: mail.trustie.net
authentication: :login
user_name: "mail@trustie.net"
password: "loong2010"

View File

@ -1517,6 +1517,7 @@ ActiveRecord::Schema.define(:version => 20161015102324) do
t.integer "board_num", :default => 0 t.integer "board_num", :default => 0
t.integer "attach_num", :default => 0 t.integer "attach_num", :default => 0
t.datetime "commit_time" t.datetime "commit_time"
t.integer "pull_request_num", :default => 0
end end
create_table "project_statuses", :force => true do |t| create_table "project_statuses", :force => true do |t|

View File

@ -400,8 +400,8 @@ tr.open span.expander {background-image: url(/images/bullet_toggle_minus.png);}
/*版本库diff*/ /*版本库diff*/
.showing-changes-info {width:710px; padding:10px; padding-top: 0px; background-color:#ffffff; line-height:2;} .showing-changes-info {width:710px; padding:10px; padding-top: 0px; background-color:#ffffff; line-height:2;}
.showing-changes-project {width:710px; padding:10px; border-top:1px solid #dce0e6; border-bottom:1px solid #dce0e6; background-color:#f1f1f1;} .showing-changes-project {padding:10px; border-top:1px solid #dce0e6; border-bottom:1px solid #dce0e6; background-color:#f1f1f1;}
.showing-changes-row {width:710px; padding:10px; border-bottom:1px solid #dce0e6; background-color:#f1f1f1;} .showing-changes-row {padding:10px; border-bottom:1px solid #dce0e6; background-color:#f1f1f1;}
#changed-files-detail {display:none;} #changed-files-detail {display:none;}
#changed-files-detail li {list-style-type:disc; margin-left:15px;} #changed-files-detail li {list-style-type:disc; margin-left:15px;}
.showing-changes-detail {width:670px; border-bottom:1px solid #dce0e6; background-color:#f1f1f1;} .showing-changes-detail {width:670px; border-bottom:1px solid #dce0e6; background-color:#f1f1f1;}
@ -497,8 +497,8 @@ a:hover.upload_btn_grey{background:#8a8a8a;}
.image-cir {border-radius:50%;} .image-cir {border-radius:50%;}
.analysis-genral-icon {position:absolute; padding:1px 5px; display:inline-block; top:5px;} .analysis-genral-icon {position:absolute; padding:1px 5px; display:inline-block; top:5px;}
.contribute-list-avatar {width:80px; vertical-align:middle; text-align:center;} .contribute-list-avatar {width:80px; vertical-align:middle; text-align:center;}
.contribute-list-code {width:130px; vertical-align:middle; text-align:center;} .contribute-list-code {width:200px; vertical-align:middle; text-align:center;}
.contribute-list-problem {width:130px; vertical-align:middle; text-align:center;} .contribute-list-problem {width:200px; vertical-align:middle; text-align:center;}
.contribute-list-rate {width:168px; vertical-align:middle; text-align:center;} .contribute-list-rate {width:168px; vertical-align:middle; text-align:center;}
.contribute-list-height {height:80px;} .contribute-list-height {height:80px;}
.contribute-list-line-height {line-height:80px;} .contribute-list-line-height {line-height:80px;}
@ -507,11 +507,11 @@ a:hover.upload_btn_grey{background:#8a8a8a;}
.analysis-result-list {padding:5px;} .analysis-result-list {padding:5px;}
.analysis-result-list:nth-of-type(odd){background:#fff;}/*奇数行*/ .analysis-result-list:nth-of-type(odd){background:#fff;}/*奇数行*/
.analysis-result-list:nth-of-type(even){background:#f5f5f5;}/*偶数行*/ .analysis-result-list:nth-of-type(even){background:#f5f5f5;}/*偶数行*/
.analysis-result-name {width:200px;} .analysis-result-name {width:250px;}
.analysis-result-version {width:90px; text-align:right;} .analysis-result-version {width:150px; text-align:right;}
.analysis-result-loc {width:60px; text-align:right;} .analysis-result-loc {width:150px; text-align:right;}
.analysis-result-debt {width:80px; text-align:right;} .analysis-result-debt {width:150px; text-align:right;}
.analysis-result-time {width:150px; text-align:right;} .analysis-result-time {width:178px; text-align:right;}
.analysis-result-edit {width:80px; text-align:right;} .analysis-result-edit {width:80px; text-align:right;}
.analysis-name-icon {background:url(/images/code-analysis-icon.png) -2px -148px no-repeat; width:16px; height:16px; display:inline-block; vertical-align:middle;} .analysis-name-icon {background:url(/images/code-analysis-icon.png) -2px -148px no-repeat; width:16px; height:16px; display:inline-block; vertical-align:middle;}