Merge branch 'develop' of 10.0.47.245:/home/trustie2 into develop
This commit is contained in:
commit
e5a374cf33
|
@ -19,34 +19,51 @@ require 'SVG/Graph/Bar'
|
|||
require 'SVG/Graph/BarHorizontal'
|
||||
require 'digest/sha1'
|
||||
require 'redmine/scm/adapters/abstract_adapter'
|
||||
require 'tempfile'
|
||||
|
||||
class ChangesetNotFound < Exception; end
|
||||
class InvalidRevisionParam < Exception; end
|
||||
|
||||
class RepositoriesController < ApplicationController
|
||||
layout 'base_projects'
|
||||
menu_item :repository
|
||||
menu_item :settings, :only => [:new, :create, :edit, :update, :destroy, :committers]
|
||||
default_search_scope :changesets
|
||||
|
||||
before_filter :find_project_by_project_id, :only => [:new, :create]
|
||||
|
||||
before_filter :find_project_by_project_id, :only => [:new, :create, :newrepo]
|
||||
before_filter :find_repository, :only => [:edit, :update, :destroy, :committers]
|
||||
before_filter :find_project_repository, :except => [:new, :create, :edit, :update, :destroy, :committers]
|
||||
before_filter :find_project_repository, :except => [:new, :create, :newcreate, :edit, :update, :destroy, :committers, :newrepo]
|
||||
before_filter :find_changeset, :only => [:revision, :add_related_issue, :remove_related_issue]
|
||||
before_filter :authorize
|
||||
before_filter :authorize , :except => [:newrepo,:newcreate]
|
||||
accept_rss_auth :revisions
|
||||
|
||||
|
||||
rescue_from Redmine::Scm::Adapters::CommandFailed, :with => :show_error_command_failed
|
||||
|
||||
def new
|
||||
scm = params[:repository_scm] || (Redmine::Scm::Base.all & Setting.enabled_scm).first
|
||||
@repository = Repository.factory(scm)
|
||||
@repository.is_default = @project.repository.nil?
|
||||
@repository.project = @project
|
||||
end
|
||||
|
||||
|
||||
def newrepo
|
||||
scm = params[:repository_scm] || (Redmine::Scm::Base.all & Setting.enabled_scm).first
|
||||
@repository = Repository.factory(scm)
|
||||
@repository.is_default = @project.repository.nil?
|
||||
@repository.project = @project
|
||||
end
|
||||
|
||||
def create
|
||||
attrs = pickup_extra_info
|
||||
if(params[:repository]["upassword"])
|
||||
params[:repository]["password"]=params[:repository]["upassword"]
|
||||
if(params[:repository_scm]=="Subversion")
|
||||
|
||||
params[:repository]["url"]='svn://10.0.47.245/'+params[:repository]["identifier"]
|
||||
end
|
||||
if(params[:repository_scm]=="Git")
|
||||
params[:repository]["url"]=params[:repository]["identifier"]+'@10.0.47.245://'+params[:repository]["identifier"]
|
||||
end
|
||||
end
|
||||
@repository = Repository.factory(params[:repository_scm])
|
||||
@repository.safe_attributes = params[:repository]
|
||||
if attrs[:attrs_extra].keys.any?
|
||||
|
@ -54,12 +71,29 @@ class RepositoriesController < ApplicationController
|
|||
end
|
||||
@repository.project = @project
|
||||
if request.post? && @repository.save
|
||||
if(params[:repository]["upassword"]&¶ms[:repository_scm]=="Git")
|
||||
system "htpasswd -mb /home/pdl/redmine-2.3.2-0/apache2/trustie2.passwd #{params[:repository]["identifier"]} #{params[:repository]["upassword"]}"
|
||||
system "git init --bare /home/pdl/redmine-2.3.2-0/apache2/htdocs/#{params[:repository]["identifier"]}.git"
|
||||
system "mv /home/pdl/redmine-2.3.2-0/apache2/htdocs/#{params[:repository]["identifier"]}.git/hooks/post-update{.sample,}"
|
||||
system "./home/pdl/redmine-2.3.2-0/apache2/htdocs/#{params[:repository]["identifier"]}.git/hooks/post-update"
|
||||
}
|
||||
#system "C:/Users/ta/Desktop/modify.bat #{params[:repository]["identifier"]} #{params[:repository]["upassword"]}"
|
||||
# system("mkdir c:/test/svn123")
|
||||
# system("git init --bare c:/test/svn123/#{params[:repository]["identifier"]}")
|
||||
|
||||
end
|
||||
if(params[:repository]["upassword"]&¶ms[:repository_scm]=="Subversion")
|
||||
system("svnadmin create c:/test/#{@project}/#{params[:repository]["identifier"]}")
|
||||
end
|
||||
redirect_to settings_project_path(@project, :tab => 'repositories')
|
||||
else
|
||||
render :action => 'new'
|
||||
else if(params[:repository]["upassword"])
|
||||
render :action => 'newrepo'
|
||||
else
|
||||
render :action => 'new'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def edit
|
||||
end
|
||||
|
||||
|
@ -370,7 +404,7 @@ class RepositoriesController < ApplicationController
|
|||
|
||||
graph = SVG::Graph::Bar.new(
|
||||
:height => 300,
|
||||
:width => 650,
|
||||
:width => 800,
|
||||
:fields => fields.reverse,
|
||||
:stack => :side,
|
||||
:scale_integers => true,
|
||||
|
@ -413,7 +447,7 @@ class RepositoriesController < ApplicationController
|
|||
|
||||
graph = SVG::Graph::BarHorizontal.new(
|
||||
:height => 400,
|
||||
:width => 650,
|
||||
:width => 800,
|
||||
:fields => fields,
|
||||
:stack => :side,
|
||||
:scale_integers => true,
|
||||
|
|
|
@ -403,7 +403,8 @@ class UsersController < ApplicationController
|
|||
def user_watchlist
|
||||
end
|
||||
###add by huang
|
||||
def user_fanslist
|
||||
def user_fanslist
|
||||
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
|
||||
class WelcomeController < ApplicationController
|
||||
caches_action :robots
|
||||
|
||||
|
||||
def index
|
||||
@news = News.latest User.current
|
||||
|
|
|
@ -126,7 +126,15 @@ module RepositoriesHelper
|
|||
send(method, form, repository)
|
||||
end
|
||||
end
|
||||
|
||||
# by xianbo
|
||||
def repository_field_tags_new(form, repository)
|
||||
method = repository.class.name.demodulize.underscore + "_field_tags_new"
|
||||
if repository.is_a?(Repository) &&
|
||||
respond_to?(method) && method != 'repository_field_tags_new'
|
||||
send(method, form, repository)
|
||||
end
|
||||
end
|
||||
|
||||
def scm_select_tag(repository)
|
||||
scm_options = [["--- #{l(:actionview_instancetag_blank_option)} ---", '']]
|
||||
Redmine::Scm::Base.all.each do |scm|
|
||||
|
@ -154,37 +162,40 @@ module RepositoriesHelper
|
|||
:disabled => !repository.safe_attribute?('url')) +
|
||||
'<br />'.html_safe +
|
||||
'(file:///, http://, https://, svn://, svn+[tunnelscheme]://)') +
|
||||
content_tag('p', form.text_field(:login, :size => 30)) +
|
||||
content_tag('p', form.text_field(:login, :size => 30))+
|
||||
content_tag('p', form.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]';"))
|
||||
end
|
||||
# by xianbo
|
||||
def subversion_field_tags_new(form, repository)
|
||||
|
||||
def darcs_field_tags(form, repository)
|
||||
content_tag('p', form.text_field(
|
||||
:url, :label => l(:field_path_to_repository),
|
||||
:size => 60, :required => true,
|
||||
:disabled => !repository.safe_attribute?('url'))) +
|
||||
content_tag('p', form.select(
|
||||
:log_encoding, [nil] + Setting::ENCODINGS,
|
||||
:label => l(:field_commit_logs_encoding), :required => true))
|
||||
end
|
||||
# def darcs_field_tags(form, repository)
|
||||
# content_tag('p', form.text_field(
|
||||
# :url, :label => l(:field_path_to_repository),
|
||||
# :size => 60, :required => true,
|
||||
# :disabled => !repository.safe_attribute?('url'))) +
|
||||
# content_tag('p', form.select(
|
||||
# :log_encoding, [nil] + Setting::ENCODINGS,
|
||||
# :label => l(:field_commit_logs_encoding), :required => true))
|
||||
# end
|
||||
|
||||
def mercurial_field_tags(form, repository)
|
||||
content_tag('p', form.text_field(
|
||||
:url, :label => l(:field_path_to_repository),
|
||||
:size => 60, :required => true,
|
||||
:disabled => !repository.safe_attribute?('url')
|
||||
) +
|
||||
'<br />'.html_safe + l(:text_mercurial_repository_note)) +
|
||||
content_tag('p', form.select(
|
||||
:path_encoding, [nil] + Setting::ENCODINGS,
|
||||
:label => l(:field_scm_path_encoding)
|
||||
) +
|
||||
'<br />'.html_safe + l(:text_scm_path_encoding_note))
|
||||
end
|
||||
# def mercurial_field_tags(form, repository)
|
||||
# content_tag('p', form.text_field(
|
||||
# :url, :label => l(:field_path_to_repository),
|
||||
# :size => 60, :required => true,
|
||||
# :disabled => !repository.safe_attribute?('url')
|
||||
# ) +
|
||||
# '<br />'.html_safe + l(:text_mercurial_repository_note)) +
|
||||
# content_tag('p', form.select(
|
||||
# :path_encoding, [nil] + Setting::ENCODINGS,
|
||||
# :label => l(:field_scm_path_encoding)
|
||||
# ) +
|
||||
# '<br />'.html_safe + l(:text_scm_path_encoding_note))
|
||||
# end
|
||||
|
||||
def git_field_tags(form, repository)
|
||||
content_tag('p', form.text_field(
|
||||
|
@ -204,37 +215,43 @@ module RepositoriesHelper
|
|||
:label => l(:label_git_report_last_commit)
|
||||
))
|
||||
end
|
||||
|
||||
def cvs_field_tags(form, repository)
|
||||
content_tag('p', form.text_field(
|
||||
:root_url,
|
||||
:label => l(:field_cvsroot),
|
||||
:size => 60, :required => true,
|
||||
:disabled => !repository.safe_attribute?('root_url'))) +
|
||||
content_tag('p', form.text_field(
|
||||
:url,
|
||||
:label => l(:field_cvs_module),
|
||||
:size => 30, :required => true,
|
||||
:disabled => !repository.safe_attribute?('url'))) +
|
||||
content_tag('p', form.select(
|
||||
:log_encoding, [nil] + Setting::ENCODINGS,
|
||||
:label => l(:field_commit_logs_encoding), :required => true)) +
|
||||
content_tag('p', form.select(
|
||||
:path_encoding, [nil] + Setting::ENCODINGS,
|
||||
:label => l(:field_scm_path_encoding)
|
||||
) +
|
||||
'<br />'.html_safe + l(:text_scm_path_encoding_note))
|
||||
# by xianbo
|
||||
def git_field_tags_new(form, repository)
|
||||
content_tag('p', form.check_box(
|
||||
:extra_report_last_commit,
|
||||
:label => l(:label_git_report_last_commit)
|
||||
))
|
||||
end
|
||||
# def cvs_field_tags(form, repository)
|
||||
# content_tag('p', form.text_field(
|
||||
# :root_url,
|
||||
# :label => l(:field_cvsroot),
|
||||
# :size => 60, :required => true,
|
||||
# :disabled => !repository.safe_attribute?('root_url'))) +
|
||||
# content_tag('p', form.text_field(
|
||||
# :url,
|
||||
# :label => l(:field_cvs_module),
|
||||
# :size => 30, :required => true,
|
||||
# :disabled => !repository.safe_attribute?('url'))) +
|
||||
# content_tag('p', form.select(
|
||||
# :log_encoding, [nil] + Setting::ENCODINGS,
|
||||
# :label => l(:field_commit_logs_encoding), :required => true)) +
|
||||
# content_tag('p', form.select(
|
||||
# :path_encoding, [nil] + Setting::ENCODINGS,
|
||||
# :label => l(:field_scm_path_encoding)
|
||||
# ) +
|
||||
# '<br />'.html_safe + l(:text_scm_path_encoding_note))
|
||||
# end
|
||||
|
||||
def bazaar_field_tags(form, repository)
|
||||
content_tag('p', form.text_field(
|
||||
:url, :label => l(:field_path_to_repository),
|
||||
:size => 60, :required => true,
|
||||
:disabled => !repository.safe_attribute?('url'))) +
|
||||
content_tag('p', form.select(
|
||||
:log_encoding, [nil] + Setting::ENCODINGS,
|
||||
:label => l(:field_commit_logs_encoding), :required => true))
|
||||
end
|
||||
# def bazaar_field_tags(form, repository)
|
||||
# content_tag('p', form.text_field(
|
||||
# :url, :label => l(:field_path_to_repository),
|
||||
# :size => 60, :required => true,
|
||||
# :disabled => !repository.safe_attribute?('url'))) +
|
||||
# content_tag('p', form.select(
|
||||
# :log_encoding, [nil] + Setting::ENCODINGS,
|
||||
# :label => l(:field_commit_logs_encoding), :required => true))
|
||||
# end
|
||||
|
||||
def filesystem_field_tags(form, repository)
|
||||
content_tag('p', form.text_field(
|
||||
|
@ -276,7 +293,7 @@ module RepositoriesHelper
|
|||
space ||= index_head(0, commits.first, commits_by_scmid)
|
||||
return commits_by_scmid, space
|
||||
end
|
||||
|
||||
|
||||
def index_head(space, commit, commits_by_scmid)
|
||||
stack = [[space, commits_by_scmid[commit.scmid]]]
|
||||
max_space = space
|
||||
|
@ -295,3 +312,5 @@ module RepositoriesHelper
|
|||
max_space
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
|
|
@ -62,9 +62,9 @@
|
|||
<td class="font_index"><%= @project.issues.count %></td>
|
||||
<td class="font_index"><%= @project.attachments.count %></td>
|
||||
<tr>
|
||||
<td align="center" width="80px"><strong> <%= link_to(l(:label_member), project_member_path(@project), :class => 'project_infor_tag') %></strong></td>
|
||||
<td align="center" width="80px"><strong> <%= link_to(l(:label_project_defects), project_issues_path(@project), :class => 'project_infor_tag') %></strong></td>
|
||||
<td align="center" width="80px"><strong> <%= link_to(l(:label_attachment), project_files_path(@project), :class => 'project_infor_tag') %></strong></td>
|
||||
<td align="center" width="80px"><strong style="font-size:13px"> <%= link_to(l(:label_member), project_member_path(@project), :class => 'project_infor_tag') %></strong></td>
|
||||
<td align="center" width="80px"><strong style="font-size:13px"> <%= link_to(l(:label_project_defects), project_issues_path(@project), :class => 'project_infor_tag') %></strong></td>
|
||||
<td align="center" width="80px"><strong style="font-size:13px"> <%= link_to(l(:label_attachment), project_files_path(@project), :class => 'project_infor_tag') %></strong></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="user_underline"></div>
|
||||
|
@ -75,7 +75,7 @@
|
|||
<div class="font_title_left">
|
||||
<%= l(:label_project_overview) %>
|
||||
</div>
|
||||
<div class="user_underline2"></div>
|
||||
|
||||
<div style="padding-bottom: 8px">
|
||||
<div class="font_lighter_sidebar">
|
||||
<%= textilizable @project.description %>
|
||||
|
@ -92,24 +92,24 @@
|
|||
<div class="font_title_left">
|
||||
<%= l(:label_project_tool)%>
|
||||
</div>
|
||||
<div class="user_underline2"></div>
|
||||
|
||||
<table class="font_tool">
|
||||
<tr>
|
||||
<td align="left" width="60px" valign="center"><img src="/images/sidebar/tool_tag2.png" width="15" height="15"/>
|
||||
<td align="left" width="60px" valign="center"><%=image_tag("/images/sidebar/tool_tag2.png", weight:"15px", height:"15px") %>
|
||||
<%= link_to l(:project_module_documents),project_documents_path(@project) %></td>
|
||||
<td align="left" width="60px" valign="center"><img src="/images/sidebar/tool_tag2.png" width="15" height="15"/>
|
||||
<td align="left" width="60px" valign="center"><%=image_tag("/images/sidebar/tool_tag2.png", weight:"15px", height:"15px") %>
|
||||
<%= link_to l(:project_module_wiki),project_wiki_path(@project) %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" width="190px" valign="left"><img src="/images/sidebar/tool_tag2.png" width="15" height="15"/>
|
||||
<td align="left" width="190px" valign="left"><%=image_tag("/images/sidebar/tool_tag2.png", weight:"15px", height:"15px") %>
|
||||
<%= link_to l(:project_module_calendar),project_calendar_path(@project) %>
|
||||
</td>
|
||||
<td align="left" width="190px" valign="left"><img src="/images/sidebar/tool_tag2.png" width="15" height="15"/>
|
||||
<td align="left" width="190px" valign="left"><%=image_tag("/images/sidebar/tool_tag2.png", weight:"15px", height:"15px") %>
|
||||
<%= link_to l(:project_module_gantt) ,project_gantt_path(@project) %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" width="190px" valign="left"><img src="/images/sidebar/tool_tag2.png" width="15" height="15"/>
|
||||
<td align="left" width="190px" valign="left"><%=image_tag("/images/sidebar/tool_tag2.png", weight:"15px", height:"15px") %>
|
||||
<%= link_to l(:project_module_boards) ,project_boards_path(@project) %>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -29,11 +29,12 @@
|
|||
<div class="inf_user_image">
|
||||
<table>
|
||||
<tr>
|
||||
<td align="left" valign="middle" ><%= link_to image_tag(url_to_avatar(@user), :class => 'avatar'), :class => "avatar" %></td>
|
||||
<td align="left" valign="middle" ><%= link_to image_tag(url_to_avatar(@user), :class => 'avatar2'), :class => "avatar" %></td>
|
||||
<td>
|
||||
<table>
|
||||
<tr>
|
||||
<td class="info_font" align="center"><%= h @user.name%> <img src="/images/sidebar/male.png" width="11" height="11"/></td>
|
||||
<td class="info_font" align="center"><%= h @user.name%> <%=image_tag("/images/sidebar/male.png", weight:"11px", height:"11px") %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"> <% unless User.current == @user %>
|
||||
|
@ -43,12 +44,15 @@
|
|||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
<tr><td>
|
||||
<span id="praise_tread" style="float:left;"> <%= render :partial => "/praise_tread/praise_tread",:locals => {:obj => @user,:show_flag => false,:user_id =>User.current.id}%> </span>
|
||||
</td></tr>
|
||||
</table>
|
||||
|
||||
<div>
|
||||
<%= l(:label_user_watcher) %> (<strong class="font_small_watch"><%=link_to User.watched_by(@user.id).count %></strong>)
|
||||
<%= l(:label_user_watcher) %> (<strong class="font_small_watch"><%=link_to User.watched_by(@user.id).count ,:controller=>"users", :action=>"user_watchlist"%></strong>)
|
||||
<%= render :partial => "watchers/fans_num",:locals => {:fans_num => get_fans_num(@user) }%>
|
||||
<span id="praise_tread" style="float:right;"> <%= render :partial => "/praise_tread/praise_tread",:locals => {:obj => @user,:show_flag => false,:user_id =>User.current.id}%> </span>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -39,3 +39,8 @@
|
|||
<% if User.current.allowed_to?(:manage_repository, @project) %>
|
||||
<p><%= link_to l(:label_repository_new), new_project_repository_path(@project), :class => 'icon icon-add' %></p>
|
||||
<% end %>
|
||||
<!-- no repository ,new by xianbo-->
|
||||
<% if User.current.allowed_to?(:manage_repository, @project) %>
|
||||
<p><%= l(:label_repository_no) %>
|
||||
<%= link_to l(:label_repository_new_repos), newrepo_project_repository_path(@project), :class => 'icon icon-add' %></p>
|
||||
<% end %>
|
|
@ -36,5 +36,7 @@
|
|||
<%= l(:label_project_un) %>
|
||||
<% else %><%= l(:label_project_unadd) %><%= link_to"新建",:controller=>'projects',:action=>'new'%>
|
||||
<% end %>
|
||||
|
||||
<% end %>
|
||||
<%= call_hook :view_account_left_bottom, :user => @user %></div>
|
||||
<%= call_hook :view_account_left_bottom, :user => @user %>
|
||||
</div>
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
<span id="fans_num">
|
||||
<%= l(:label_user_fans) %>(<strong class="font_small_watch"><%= fans_num %></strong>)
|
||||
<%= l(:label_user_fans) %>(<strong class="font_small_watch"><%=link_to fans_num %></strong>)
|
||||
</span>
|
|
@ -139,10 +139,10 @@
|
|||
|
||||
|
||||
<!--add by huang-->
|
||||
<div style="height:200px;">
|
||||
<div style="height:220px;">
|
||||
<div class="welcone_left">
|
||||
<table width="350px">
|
||||
<tr><td><span class="font_welcome_trustie">Trustieforge</span>
|
||||
<tr><td><span class="font_welcome_trustie">Trustie</span>
|
||||
<span class="font_welcome_Cdescription">是一个社交化的项目管理、软件开发和众包平台。</span></td></tr>
|
||||
<tr><td class="font_welcome_Edescription">Trustieforge is a socialized collaboration platform for project management,
|
||||
software development and software crowdsourcing.</td></tr>
|
||||
|
@ -269,7 +269,7 @@
|
|||
<td>在这里您可以可以看见任何一个版本的工程!</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div></div>
|
||||
</div>
|
||||
<div style="padding-top: 40px">
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1055,7 +1055,9 @@ zh:
|
|||
zero: 0 问题
|
||||
one: 1 问题
|
||||
other: "%{count} 问题"
|
||||
label_repository_new: 新建版本库
|
||||
label_repository_new: 配置版本库
|
||||
label_repository_no: 还没有版本库?
|
||||
label_repository_new_repos: 新建版本库
|
||||
field_repository_is_default: 主版本库
|
||||
label_copy_attachments: 复制附件
|
||||
label_item_position: "%{position}/%{count}"
|
||||
|
@ -1229,4 +1231,4 @@ zh:
|
|||
label_in_issues: 在问题:
|
||||
label_in_bids: 在需求:
|
||||
label_in_users: 在用户:
|
||||
label_have_respond: 进行了反馈
|
||||
label_have_respond: 进行了反馈
|
||||
|
|
|
@ -204,7 +204,12 @@ RedmineApp::Application.routes.draw do
|
|||
match 'committers', :via => [:get, :post]
|
||||
end
|
||||
end
|
||||
|
||||
resources :repositories, :except => [:index, :show] do
|
||||
member do
|
||||
get 'newrepo', :via => [:get, :post]
|
||||
# get 'create', :via=>[:get, :post]
|
||||
end
|
||||
end
|
||||
match 'wiki/index', :controller => 'wiki', :action => 'index', :via => :get
|
||||
resources :wiki, :except => [:index, :new, :create], :as => 'wiki_page' do
|
||||
member do
|
||||
|
|
|
@ -63,7 +63,7 @@ ul.tool li{list-style-type:none;
|
|||
color:#7e7e7e;
|
||||
}
|
||||
.content_frame{
|
||||
padding-top: 0px;
|
||||
padding-bottom: 30px;
|
||||
float: left;
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue