创建版本库添加事务处理;并给出错误提示

This commit is contained in:
huang 2018-06-12 11:32:47 +08:00
parent 9695dcd972
commit 0f081eeb70
2 changed files with 13 additions and 7 deletions

View File

@ -1,3 +1,4 @@
# encoding=utf-8
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
#
@ -363,7 +364,7 @@ update
@repository.url = @repository.identifier
ActiveRecord::Base.transaction do
begin
if request.post? && @repository.save
if request.post? && @repository.save!
s = Trustie::Gitlab::Sync.new
s.create_project(@project, @repository)
raise "sync failed" if @project.gpid.blank?
@ -371,12 +372,11 @@ update
else
redirect_to settings_project_url(@project, :tab => 'repositories',:repository_error_message=>@repository.errors.full_messages)
end
rescue Gitlab::Error::Forbidden => e
@message = l(:label_pull_request_forbidden)
rescue Gitlab::Error::NotFound => e
@message = l(:label_pull_request_notfound)
rescue Exception => e
puts e
logger.info("create repository #{e.message}")
@repo_error= "666"
redirect_to settings_project_url(@project, :tab => 'repositories', :create_error => "版本库创建失败,用户名或版本库名中不允许包含特殊字符")
raise ActiveRecord::Rollback
end
end
end

View File

@ -1,4 +1,10 @@
<div class="pro_new_prompt ml15 mr15 mb10"><p>温馨提示:每个项目只能创建一个版本库</p></div>
<div class="pro_new_prompt ml15 mr15 mb10">
<% if params[:create_error].present? %>
<p><%= params[:create_error] %></p>
<% else %>
<p>温馨提示:每个项目只能创建一个版本库</p>
<% end %>
</div>
<% if @gitlab_repository.nil? %>
<div class="sy_new_tchbox clear">
<%= labelled_form_for :repository, @repository, :url =>project_repositories_path(@project), :html => {:id => 'repository-form', :method=>"post", :autocomplete => 'off'} do |f| %>