summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2016-10-12 12:23:44 +0200
committerKamil Trzcinski <ayufan@ayufan.eu>2016-10-12 12:23:44 +0200
commitab6e6f059e851b57c896cc23192b6e538ea54ea3 (patch)
tree4f68ec16b72ce470c843a2de15bfbd2a6e9e0fad
parent2bac9790e7ec9d5bf3dd58b29585840bf1d01872 (diff)
parent6d433d732a271c56b897d9c91711f32e076c0200 (diff)
downloadgitlab-ce-ab6e6f059e851b57c896cc23192b6e538ea54ea3.tar.gz
terminal support
-rw-r--r--app/controllers/projects/deployments_controller.rb14
1 files changed, 12 insertions, 2 deletions
diff --git a/app/controllers/projects/deployments_controller.rb b/app/controllers/projects/deployments_controller.rb
index edbe624a31a..2adc9568618 100644
--- a/app/controllers/projects/deployments_controller.rb
+++ b/app/controllers/projects/deployments_controller.rb
@@ -1,6 +1,8 @@
class Projects::DeploymentsController < Projects::ApplicationController
layout 'project'
+ before_action :deployment
+
def terminal
end
@@ -14,14 +16,22 @@ class Projects::DeploymentsController < Projects::ApplicationController
openshift_app APP
openshift_server OPENSHIFT_SERVER
openshift_token OPENSHIFT_TOKEN
- ]].map { |json_key, variable_key| [json_key, project.variables.find_by(key: variable_key)] }.to_h
+ ]].map do |json_key, variable_key|
+ [json_key, deployment.deployable.variables.find { |v| v[:key] == variable_key }]
+ end.to_h
# TODO: restrict access: this allows even 'guests' to have terminal access
if variables.values.all?(&:present?)
set_workhorse_internal_api_content_type
- render json: variables.map { |k, v| [k, v.value] }.to_h
+ render json: variables.map { |k, v| [k, v[:value]] }.to_h
else
render text: 'Not found', status: 404
end
end
+
+ protected
+
+ def deployment
+ @deployment = project.deployments.find(params[:id].to_i)
+ end
end