diff --git a/app/controllers/versions_controller.rb b/app/controllers/versions_controller.rb index 54cd9d7..f04388c 100644 --- a/app/controllers/versions_controller.rb +++ b/app/controllers/versions_controller.rb @@ -75,6 +75,17 @@ class VersionsController < ApplicationController def new @version = @project.versions.build(params[:version]) + + respond_to do |format| + format.html + format.js do + render :update do |page| + page.replace_html 'ajax-modal', :partial => 'versions/new_modal' + page << "showModal('ajax-modal', '600px');" + page << "Form.Element.focus('version_name');" + end + end + end end def create @@ -93,9 +104,11 @@ class VersionsController < ApplicationController redirect_back_or_default :controller => 'projects', :action => 'settings', :tab => 'versions', :id => @project end format.js do - # IE doesn't support the replace_html rjs method for select box options - render(:update) {|page| page.replace "issue_fixed_version_id", - content_tag('select', '' + version_options_for_select(@project.shared_versions.open, @version), :id => 'issue_fixed_version_id', :name => 'issue[fixed_version_id]') + render(:update) {|page| + page << 'hideModal();' + # IE doesn't support the replace_html rjs method for select box options + page.replace "issue_fixed_version_id", + content_tag('select', '' + version_options_for_select(@project.shared_versions.open, @version), :id => 'issue_fixed_version_id', :name => 'issue[fixed_version_id]') } end format.api do @@ -106,7 +119,10 @@ class VersionsController < ApplicationController respond_to do |format| format.html { render :action => 'new' } format.js do - render(:update) {|page| page.alert(@version.errors.full_messages.join('\n')) } + render :update do |page| + page.replace_html 'ajax-modal', :partial => 'versions/new_modal' + page << "Form.Element.focus('version_name');" + end end format.api { render_validation_errors(@version) } end diff --git a/app/views/issues/_attributes.html.erb b/app/views/issues/_attributes.html.erb index fed949e..90d47a2 100644 --- a/app/views/issues/_attributes.html.erb +++ b/app/views/issues/_attributes.html.erb @@ -27,12 +27,10 @@ <% if @issue.safe_attribute?('fixed_version_id') && @issue.assignable_versions.any? %>
<%= f.select :fixed_version_id, version_options_for_select(@issue.assignable_versions, @issue.fixed_version), :include_blank => true %> -<%= prompt_to_remote(image_tag('add.png', :style => 'vertical-align: middle;'), - l(:label_version_new), - 'version[name]', - {:controller => 'versions', :action => 'create', :project_id => @issue.project}, - :title => l(:label_version_new), - :tabindex => 200) if User.current.allowed_to?(:manage_versions, @issue.project) %> +<%= link_to_remote(image_tag('add.png', :style => 'vertical-align: middle;'), + {:url => new_project_version_path(@issue.project), :method => 'get'}, + :title => l(:label_version_new), + :tabindex => 200) if User.current.allowed_to?(:manage_versions, @issue.project) %>
<% end %> diff --git a/app/views/versions/_new_modal.html.erb b/app/views/versions/_new_modal.html.erb new file mode 100644 index 0000000..8b58883 --- /dev/null +++ b/app/views/versions/_new_modal.html.erb @@ -0,0 +1,9 @@ +