1.版本库创建修改

2.版本库解析修改
GitlabVersion
nwb 11 years ago
parent ff80ef7f42
commit b6a2153020

@ -59,6 +59,9 @@ class RepositoriesController < ApplicationController
def newrepo
# modify by nwb
# 查找当前用户的gitlab账号
@gitlab_user = GitlabUser.find_by_user_id(User.current.id)
scm = params[:repository_scm] || (Redmine::Scm::Base.all & Setting.enabled_scm).first
@repository = Repository.factory(scm)
@repository.is_default = @project.repository.nil?
@ -244,7 +247,7 @@ class RepositoriesController < ApplicationController
private :pickup_extra_info
def committers
gitlab_project = GitlabProject.find_by_repository_url(@repository.url)
gitlab_project = GitlabProject.find_by_localfile_url(@repository.url)
if gitlab_project
# gitlab项目
@ -279,7 +282,7 @@ class RepositoriesController < ApplicationController
#system "sed -i /"+@middle+"/{d} "+@root_path+"group.passwd"
#system "rm -r "+@root_path+"htdocs/"+@repository_name
gitlabproject = GitlabProject.find_by_repository_url(@repository.url)
gitlabproject = GitlabProject.find_by_localfile_url(@repository.url)
if gitlabproject
gitlabproject.destroy
end
@ -314,7 +317,7 @@ class RepositoriesController < ApplicationController
@course_tag = params[:course]
project_path_cut = RepositoriesHelper::PROJECT_PATH_CUT
ip = RepositoriesHelper::REPO_IP_ADDRESS
@repos_url = "http://"+@repository.login.to_s+"_"+@repository.identifier.to_s+"@"+ip.to_s+
@repos_url = @repository.repos_url#"http://"+@repository.login.to_s+"_"+@repository.identifier.to_s+"@"+ip.to_s+
@repository.url.slice(project_path_cut, @repository.url.length).to_s
if @course_tag == 1
render :action => 'show', :layout => 'base_courses'

@ -161,6 +161,7 @@ module GitlabHelper
gituser.gitlab_user_id = git_user_id
gituser.email = email
gituser.password = password
gituser.login =loginname
gituser.save
return true
else

@ -138,7 +138,7 @@ class Repository < ActiveRecord::Base
# 获取版本库地址
def repos_url
if self.scm_name=="Git"
gitlabproject = GitlabProject.find_by_repository_url(self.url)
gitlabproject = GitlabProject.find_by_localfile_url(self.url)
if gitlabproject.nil?
# 兼容老git模式
ip = RepositoriesHelper::REPO_IP_ADDRESS

@ -12,11 +12,10 @@ border:none
<p>
<%= label_tag('repository_scm', l(:label_scm)) %>
<!--Modified by tanxianbo-->
<%= select_tag('repository_scm',
options_for_select(["Git"],@repository.class.name.demodulize),
:data => {:remote => true, :method => 'get'})%>
<!--Ended by tanxianbo-->
<%= select_tag('repository_scm',
options_for_select(["Git"], @repository.class.name.demodulize),
:data => {:remote => true, :method => 'get'}) %>
<% if @repository && ! @repository.class.scm_available %>
<em class="info error"><%= l(:text_scm_command_not_available) %></em>
<% end %>
@ -28,12 +27,27 @@ border:none
<%= l(:text_repository_identifier_info).html_safe %></em>
<% end %></p>
<!-- <p><%= f.text_field :url, :size => 60, :required => true,:readonly=>true, :class=>'textbg'%></p> -->
<p><%= f.text_field :gitlab_user, :required =>true, :label=> :field_account,:value=>User.current.login %>
<em class="info"><%= l(:label_gitlab_account)%></em></p>
<p><%= f.text_field :gitlab_email, :required => true, :label => :field_account, :value => User.current.mail %>
<em class="info"><%= l(:label_gitlab_email) %></em></p>
<p><%= f.password_field :upassword, :required =>true, :label=> :field_password %>
<em class="info"><%= l(:label_gitlab_password)%></em></p>
<% if @gitlab_user %>
<p><%= f.text_field :gitlab_user, :required => true, :label => :field_account, :value => @gitlab_user.login, :disabled =>true %>
<em class="info"><%= l(:label_gitlab_account) %></em></p>
<p><%= f.text_field :gitlab_email, :required => true, :label => :field_account, :value => @gitlab_user.email, :disabled =>true %>
<em class="info"><%= l(:label_gitlab_email) %></em></p>
<p><%= f.password_field :upassword, :required => true, :label => :field_password, :value => @gitlab_user.password, :disabled =>true %>
<em class="info"><%= l(:label_gitlab_password) %></em></p>
<% else %>
<p><%= f.text_field :gitlab_user, :required => true, :label => :field_account, :value => User.current.login %>
<em class="info"><%= l(:label_gitlab_account) %></em></p>
<p><%= f.text_field :gitlab_email, :required => true, :label => :field_account, :value => User.current.mail %>
<em class="info"><%= l(:label_gitlab_email) %></em></p>
<p><%= f.password_field :upassword, :required => true, :label => :field_password %>
<em class="info"><%= l(:label_gitlab_password) %></em></p>
<% end %>
</div>
<p>
<%= submit_tag(@repository.new_record? ? l(:button_create) : l(:button_save)) %>

@ -1548,6 +1548,7 @@ zh:
label_board_description: 七嘴八舌,汇聚众人智慧,为您排忧解难!
label_create_course_description: 课程小社区,创建新课程,让我们共同分享多到想不到的公共资源!
label_welcome_page_to: 参与了 %{project_count} 个项目!
label_repository_path: 版本库路径
label_repository_path_not_null: 库路径 不能为空字符
label_password_not_null: 密码不能设置为空。
label_exist_repository_path: 定义已有版本库URL路径定义格式file:///, http://, https://, svn://

@ -7,6 +7,8 @@ class CreateGitlabProjects < ActiveRecord::Migration
t.string :repository_url
#版本库web地址
t.string :web_url
#版本库本地地址
t.string :localfile_url
t.timestamps
end

@ -9,7 +9,8 @@ class CreateGitlabUsers < ActiveRecord::Migration
t.string :email
# 登录gitlab所用的密码
t.string :password
# 登录gitlab所用的账号
t.string :login
t.timestamps
end
end

Loading…
Cancel
Save