diff options
Diffstat (limited to 'app/controllers/mini_environments_controller.rb')
-rw-r--r-- | app/controllers/mini_environments_controller.rb | 69 |
1 files changed, 67 insertions, 2 deletions
diff --git a/app/controllers/mini_environments_controller.rb b/app/controllers/mini_environments_controller.rb index 94aa18c..237e8c5 100644 --- a/app/controllers/mini_environments_controller.rb +++ b/app/controllers/mini_environments_controller.rb @@ -19,6 +19,43 @@ # <http://www.gnu.org/licenses/>. class MiniEnvironmentsController < ApplicationController + DEFAULT_SERVICES = %w( + collections-publisher + contacts-admin + content-tagger + local-links-manager + manuals-publisher + maslow + policy-publisher + publisher + service-manual-publisher + short-url-manager + specialist-publisher + travel-advice-publisher + whitehall + + calculators + calendars + collections + email-alert-frontend + feedback + finder-frontend + frontend + government-frontend + licencefinder + manuals-frontend + service-manual-frontend + smartanswers + + draft-collections + draft-email-alert-frontend + draft-frontend + draft-government-frontend + draft-finder-frontend + draft-manuals-frontend + draft-service-manual-frontend + ).freeze + def show @mini_environment = MiniEnvironment.find(params[:id]) end @@ -58,9 +95,37 @@ class MiniEnvironmentsController < ApplicationController @mini_environment.signon_users[0]['passphrase'] = SecureRandom.hex @mini_environment.save! - @mini_environment.backend.build(@mini_environment) + redirect_to services_mini_environment_path(@mini_environment) + end + + def services + @mini_environment = MiniEnvironment.find(params[:id]) + + @mini_environment.transaction do + @mini_environment.govuk_guix_revision.all_available_services + .each do |service| - redirect_to @mini_environment + name = service['name'] + + next if params["#{name}-selected"] != 'on' + + revision = params["#{name}-revision"] + + @mini_environment.services.where( + name: name + ).delete_all + + @mini_environment.services.create( + name: name, + revision: revision + ) + end + end + + if request.put? + @mini_environment.backend.build(@mini_environment) + redirect_to @mini_environment + end end def perform_action |