X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/d82509cf925a2afa5b09f8a67952d5553101778d..b6cbf9d7dc789ce57cc324ad02569187c8db8c54:/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 924bf44bae..5e530a657e 100644 --- a/apps/workbench/app/controllers/user_agreements_controller.rb +++ b/apps/workbench/app/controllers/user_agreements_controller.rb @@ -1,7 +1,21 @@ +# 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? + if params[:return_to] + redirect_to(params[:return_to]) + else + redirect_back(fallback_location: root_path) + end + end + end def model_class Collection @@ -9,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