X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/7c2d7b25747a06919e8ec64f0b4391c33092d965..85c625c40ad873d0efac33f8a63c1ee256185e36:/apps/workbench/app/controllers/user_agreements_controller.rb diff --git a/apps/workbench/app/controllers/user_agreements_controller.rb b/apps/workbench/app/controllers/user_agreements_controller.rb index f8c316e58c..5e530a657e 100644 --- a/apps/workbench/app/controllers/user_agreements_controller.rb +++ b/apps/workbench/app/controllers/user_agreements_controller.rb @@ -1,11 +1,19 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + class UserAgreementsController < ApplicationController - skip_before_filter :check_user_agreements - skip_before_filter :find_object_by_uuid - skip_before_filter :check_user_profile + skip_before_action :check_user_agreements + skip_before_action :find_object_by_uuid + skip_before_action :check_user_profile def index if unsigned_user_agreements.empty? - redirect_to(params[:return_to] || :back) + if params[:return_to] + redirect_to(params[:return_to]) + else + redirect_back(fallback_location: root_path) + end end end @@ -15,11 +23,15 @@ class UserAgreementsController < ApplicationController def sign params[:checked].each do |checked| - if r = checked.match(/^([0-9a-f]+[^\/]*)/) + if (r = CollectionsHelper.match_uuid_with_optional_filepath(checked)) UserAgreement.sign uuid: r[1] end end current_user.activate - redirect_to(params[:return_to] || :back) + if params[:return_to] + redirect_to(params[:return_to]) + else + redirect_back(fallback_location: root_path) + end end end