Mercurial > hg > soundsoftware-site
changeset 273:c09865a48f4e feature_72
TEST DEV commit: creates the repository automatically;
author | luisf <luis.figueira@eecs.qmul.ac.uk> |
---|---|
date | Mon, 21 Mar 2011 13:18:32 +0000 |
parents | f89f7331fc00 |
children | 4d493e74dcfc |
files | app/controllers/projects_controller.rb app/controllers/repositories_controller.rb app/helpers/repositories_helper.rb app/views/projects/settings/_repository.rhtml |
diffstat | 4 files changed, 34 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/app/controllers/projects_controller.rb Thu Mar 17 17:44:19 2011 +0000 +++ b/app/controllers/projects_controller.rb Mon Mar 21 13:18:32 2011 +0000 @@ -190,6 +190,13 @@ @trackers = Tracker.all @repository ||= @project.repository @wiki ||= @project.wiki + + # luisf. change + if !@repository + @repository = Repository.factory(params[:repository_scm]) + @repository.project = @project if @repository + end + end def edit
--- a/app/controllers/repositories_controller.rb Thu Mar 17 17:44:19 2011 +0000 +++ b/app/controllers/repositories_controller.rb Mon Mar 21 13:18:32 2011 +0000 @@ -34,6 +34,21 @@ rescue_from Redmine::Scm::Adapters::CommandFailed, :with => :show_error_command_failed + def ssamr_edit + @repository = @project.repository + + if !@repository + @repository = Repository.factory(params[:repository_scm]) + @repository.project = @project if @repository + end + if request.post? && @repository + @repository.attributes = params[:repository] + @repository.save + end + end + + + def edit @repository = @project.repository
--- a/app/helpers/repositories_helper.rb Thu Mar 17 17:44:19 2011 +0000 +++ b/app/helpers/repositories_helper.rb Mon Mar 21 13:18:32 2011 +0000 @@ -145,13 +145,19 @@ send(method, form, repository) if repository.is_a?(Repository) && respond_to?(method) && method != 'repository_field_tags' end + + def ssamr_scm_update(repository) + check_box_tag('repository_scm', value = "1", checked = false, onchange => remote_function(:url => { :controller => 'repositories', :action => 'ssamr_edit', :id => @project }, :method => :get, :with => "Form.serialize(this.form)")) + + end + def scm_select_tag(repository) scm_options = [["--- #{l(:actionview_instancetag_blank_option)} ---", '']] Redmine::Scm::Base.all.each do |scm| scm_options << ["Repository::#{scm}".constantize.scm_name, scm] if Setting.enabled_scm.include?(scm) || (repository && repository.class.name.demodulize == scm) end - select_tag('repository_scm', + select_tag('repository_scm', options_for_select(scm_options, repository.class.name.demodulize), :disabled => (repository && !repository.new_record?), :onchange => remote_function(:url => { :controller => 'repositories', :action => 'edit', :id => @project }, :method => :get, :with => "Form.serialize(this.form)")
--- a/app/views/projects/settings/_repository.rhtml Thu Mar 17 17:44:19 2011 +0000 +++ b/app/views/projects/settings/_repository.rhtml Mon Mar 21 13:18:32 2011 +0000 @@ -9,13 +9,13 @@ <%= error_messages_for 'repository' %> <div class="box tabular"> -<% if !@repository || !@repository.url %> +<% if !@repository %> <ul><li><%= l(:text_settings_repo_creation) %></li></ul> + + + <% end %> -<p><%= label_tag('repository_scm', l(:label_scm)) %> -<%= scm_select_tag(@repository) %> - <p> <%= label_tag('repository_is_external', l(:label_is_external_repository)) %> <%= check_box :repository, :is_external, :onclick => "toggle_ext_url()" %> @@ -38,5 +38,5 @@ <% end %> </div> -<%= submit_tag((@repository.nil? || @repository.new_record?) ? l(:button_create) : l(:button_save), :disabled => @repository.nil?) %> +<%= submit_tag((@repository.nil? || @repository.new_record?) ? l(:button_create) : l(:button_save), :onclick => remote_function(:url => { :controller => 'repositories', :action => 'edit', :id => @project }, :method => :get, :with => "Form.serialize(this.form)")) %> <% end %>