diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index c846de965..a70488618 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -324,6 +324,27 @@ class ProjectsController < ApplicationController @trackers = Tracker.sorted.all @wiki ||= @project.wiki @select_tab = params[:tab] + + # 处理从新建版本库返回来的错误信息 + if !params[:repository_error_message].to_s.blank? + html = "" + errors = params[:repository_error_message].flatten + errors.each do |error| + # 版本库路径为空的错误信息不予提示 + if(error!=l(:label_repository_path_not_null)) + html << error << ";" + end + end + if params[:repository] == "pswd_is_null" + html << l(:label_password_not_null)<< ";" + end + flash[:error] = html if !html.to_s.blank? + end + 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 send_mail_to_member diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index 01e470c91..c90cc1cc3 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -25,6 +25,7 @@ class ChangesetNotFound < Exception; end class InvalidRevisionParam < Exception; end class RepositoriesController < ApplicationController + include ApplicationHelper menu_item :repository menu_item :settings, :only => [:new, :create, :edit, :update, :destroy, :committers] default_search_scope :changesets @@ -122,7 +123,7 @@ update if request.post? && @repository.save redirect_to settings_project_url(@project, :tab => 'repositories') else - render :action => 'new' + redirect_to settings_project_url(@project, :tab => 'repositories') end else # 原逻辑 ##xianbo @@ -167,11 +168,12 @@ update @repository.update_attributes(:login => User.current.login.to_s) end - redirect_to settings_project_url(@project, :tab => 'repositories') - else if(@repository_tag) - render :action => 'newrepo', :layout =>'base_projects' + redirect_to settings_project_url(@project, :tab => 'repositories',:repository_error_message=>@repository.errors.full_messages) + else if(@repository_tag.blank?) + #render :action => 'newrepo', :layout =>'base_projects' + redirect_to settings_project_url(@project, :tab => 'repositories',:repository => "pswd_is_null",:repository_error_message=>@repository.errors.full_messages) else - render :action => 'new', :layout =>'base_projects' + redirect_to settings_project_url(@project, :tab => 'repositories',:repository => @repository,:repository_error_message=>@repository.errors.full_messages) end end diff --git a/app/views/projects/settings.html.erb b/app/views/projects/settings.html.erb index 7775c9c3c..6fe71d7c3 100644 --- a/app/views/projects/settings.html.erb +++ b/app/views/projects/settings.html.erb @@ -3,8 +3,12 @@ $(function(){ <%if @select_tab == "modules"%> project_setting(2); - <% else @select_tab == "versions"%> + <% elsif @select_tab == "versions"%> project_setting(4); + <% elsif @select_tab == "repositories" %> + project_setting(6); + <%else%> + <% end%> }); <% end%> diff --git a/app/views/projects/settings/_new_repositories.html.erb b/app/views/projects/settings/_new_repositories.html.erb index 418b409ee..783c4a24d 100644 --- a/app/views/projects/settings/_new_repositories.html.erb +++ b/app/views/projects/settings/_new_repositories.html.erb @@ -1,3 +1,10 @@ + +<%= error_messages_for 'repository' %> <% project_path_cut = RepositoriesHelper::PROJECT_PATH_CUT %> <% ip = RepositoriesHelper::REPO_IP_ADDRESS %> <% if @project.repositories.any? %> @@ -48,7 +55,44 @@ <% course_tag = @project.project_type %> <% if User.current.allowed_to?(:manage_repository, @project) %> - <%= link_to l(:label_repository_new_repos), newrepo_project_repository_path(@project, :course => course_tag), :class => 'c_blue fl' %>
+ + <%= link_to l(:label_repository_new_repos),"#" , :onclick=>"pro_st_show_ku();", :class => 'c_blue fl' %> <% end %> + +<%= labelled_form_for :repository, @repository, :url =>project_repositories_path(@project),:html => {:id => 'repository-form',:method=>"post"} do |f| %> +- <%= f.text_field :name, :maxlength => 60, :required => true %> -
-- <%= f.text_field :description, :maxlength => 60, :style => "margin-left:10px;" %> -
-- - <%= f.select :status, Version::VERSION_STATUSES.collect {|s| [l("version_status_#{s}"), s]} %> - -
-- - <%= f.text_field :wiki_page_title, :size =>60, :label => :label_wiki_page, :disabled => @project.wiki.nil? %> - -
-- - <%= f.text_field :effective_date, :size => 10, :readonly => true %> - <%= calendar_for('version_effective_date') %> - -
-- - <%= f.select :sharing, @version.allowed_sharings.collect {|v| [format_version_sharing(v), v]} %> - -
+diff --git a/app/views/versions/edit.html.erb b/app/views/versions/edit.html.erb index 39db07c9d..c249572aa 100644 --- a/app/views/versions/edit.html.erb +++ b/app/views/versions/edit.html.erb @@ -1,7 +1,7 @@