From 6d433d732a271c56b897d9c91711f32e076c0200 Mon Sep 17 00:00:00 2001 From: Jacob Vosmaer Date: Wed, 12 Oct 2016 12:15:55 +0200 Subject: Access variables through Ci::Build --- app/controllers/projects/deployments_controller.rb | 14 ++++++++++++-- 1 file 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 -- cgit v1.2.1