From 26552051b7af709ad21497747405714006a14b68 Mon Sep 17 00:00:00 2001 From: Alex Denisov <1101.debian@gmail.com> Date: Fri, 7 Sep 2012 16:35:59 +0300 Subject: [PATCH] Pre-selected milestone implemented --- app/assets/javascripts/issues.js | 21 +++++++++++++++++++++ app/controllers/issues_controller.rb | 1 + app/views/issues/index.html.haml | 2 +- features/step_definitions/project/project_issues_steps.rb | 1 + 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/issues.js b/app/assets/javascripts/issues.js index aae818d..7f5694d 100644 --- a/app/assets/javascripts/issues.js +++ b/app/assets/javascripts/issues.js @@ -80,6 +80,10 @@ function issuesPage(){ $(this).closest("form").submit(); }); + $("#new_issue_link").click(function(){ + updateNewIssueURL(); + }); + $('body').on('ajax:success', '.close_issue, .reopen_issue, #new_issue', function(){ var t = $(this), totalIssues, @@ -126,3 +130,20 @@ function issuesCheckChanged() { $('.issues_filters').show(); } } + +function updateNewIssueURL(){ + var new_issue_link = $("#new_issue_link"); + var milestone_id = $("#milestone_id").val(); + var assignee_id = $("#assignee_id").val(); + var new_href = ""; + if(milestone_id){ + new_href = "milestone_id=" + milestone_id + "&"; + } + if(assignee_id){ + new_href = new_href + "assignee_id=" + assignee_id; + } + if(new_href.length){ + new_href = new_issue_link.attr("href") + "?" + new_href; + new_issue_link.attr("href", new_href); + } +}; diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index a47b384..b98c0b0 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -38,6 +38,7 @@ class IssuesController < ApplicationController def new @issue = @project.issues.new + @issue.milestone_id = params[:milestone_id] if params[:milestone_id].present? respond_with(@issue) end diff --git a/app/views/issues/index.html.haml b/app/views/issues/index.html.haml index 010b885..bc5c86e 100644 --- a/app/views/issues/index.html.haml +++ b/app/views/issues/index.html.haml @@ -6,7 +6,7 @@ .right .span5 - if can? current_user, :write_issue, @project - = link_to new_project_issue_path(@project), class: "right btn", title: "New Issue", remote: true do + = link_to new_project_issue_path(@project), class: "right btn", title: "New Issue", remote: true, id: "new_issue_link" do %i.icon-plus New Issue = form_tag search_project_issues_path(@project), method: :get, remote: true, id: "issue_search_form", class: :right do diff --git a/features/step_definitions/project/project_issues_steps.rb b/features/step_definitions/project/project_issues_steps.rb index ecf0892..e4c169e 100644 --- a/features/step_definitions/project/project_issues_steps.rb +++ b/features/step_definitions/project/project_issues_steps.rb @@ -57,6 +57,7 @@ Given /^I fill in issue search with "(.*?)"$/ do |arg1| end When /^I select milestone "(.*?)"$/ do |milestone_title| + #puts page.body select milestone_title, from: "milestone_id" end -- libgit2 0.21.2