diff options
author | Felipe Artur <felipefac@gmail.com> | 2016-11-04 18:21:05 -0200 |
---|---|---|
committer | Felipe Artur <felipefac@gmail.com> | 2016-11-04 18:21:05 -0200 |
commit | d11ff65d0a74d82134e3729522f71e2a83879664 (patch) | |
tree | 4b3bcbcf9bf3f812c5115ad0e40447c1c7477c0c | |
parent | b2bbac8850a18ccc65880dc5c300d0b6d39ab258 (diff) | |
download | gitlab-ce-issue_23454.tar.gz |
WIPissue_23454
-rw-r--r-- | app/controllers/projects/services_controller.rb | 8 | ||||
-rw-r--r-- | app/models/project_services/jira_service.rb | 10 | ||||
-rw-r--r-- | app/views/projects/services/_form.html.haml | 2 | ||||
-rw-r--r-- | changelogs/unreleased/issue_23454.yml | 4 | ||||
-rw-r--r-- | config/routes/project.rb | 1 |
5 files changed, 24 insertions, 1 deletions
diff --git a/app/controllers/projects/services_controller.rb b/app/controllers/projects/services_controller.rb index 97e6e9471e0..90e12499f42 100644 --- a/app/controllers/projects/services_controller.rb +++ b/app/controllers/projects/services_controller.rb @@ -3,7 +3,7 @@ class Projects::ServicesController < Projects::ApplicationController # Authorize before_action :authorize_admin_project! - before_action :service, only: [:edit, :update, :test] + before_action :service, only: [:edit, :update, :test, :load_data] respond_to :html @@ -43,6 +43,12 @@ class Projects::ServicesController < Projects::ApplicationController redirect_back_or_default(options: message) end + def load_data + data = @service.load_data + + render json: data + end + private def service diff --git a/app/models/project_services/jira_service.rb b/app/models/project_services/jira_service.rb index 0a493b7a12b..746a7132bfe 100644 --- a/app/models/project_services/jira_service.rb +++ b/app/models/project_services/jira_service.rb @@ -132,6 +132,12 @@ class JiraService < IssueTrackerService end end + # Override on classes where you want + # load data directly from services + def load_data + {} + end + def create_cross_reference_note(mentioned, noteable, author) issue_key = mentioned.id project = self.project @@ -173,6 +179,10 @@ class JiraService < IssueTrackerService false end + def load_data(*args) + client.Status.all.map(&:attrs) + end + private def close_issue(entity, issue) diff --git a/app/views/projects/services/_form.html.haml b/app/views/projects/services/_form.html.haml index 752fbc21a11..bd8a6943a29 100644 --- a/app/views/projects/services/_form.html.haml +++ b/app/views/projects/services/_form.html.haml @@ -15,3 +15,5 @@ - disabled = @service.can_test? ? '':'disabled' = link_to 'Test settings', test_namespace_project_service_path(@project.namespace, @project, @service), class: "btn #{disabled}", title: @service.disabled_title = link_to "Cancel", namespace_project_services_path(@project.namespace, @project), class: "btn btn-cancel" + = link_to 'load settings', load_data_namespace_project_service_path(@project.namespace, @project, @service), class: "btn", title: @service.disabled_title + diff --git a/changelogs/unreleased/issue_23454.yml b/changelogs/unreleased/issue_23454.yml new file mode 100644 index 00000000000..af83ad2d70b --- /dev/null +++ b/changelogs/unreleased/issue_23454.yml @@ -0,0 +1,4 @@ +--- +title: JIRA service transitions selector +merge_request: +author: diff --git a/config/routes/project.rb b/config/routes/project.rb index 8142e231621..18ad74c7b73 100644 --- a/config/routes/project.rb +++ b/config/routes/project.rb @@ -232,6 +232,7 @@ resources :namespaces, path: '/', constraints: { id: /[a-zA-Z.0-9_\-]+/ }, only: resources :services, constraints: { id: /[^\/]+/ }, only: [:index, :edit, :update] do member do get :test + get :load_data end end |