diff options
-rw-r--r-- | app/controllers/projects/deployments_controller.rb | 14 |
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 |