From feec9688019581de0fb4764cf89e02d6559395fb Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Thu, 25 Jan 2018 13:56:08 -0500 Subject: [PATCH] Add extensibility to admin constraints --- lib/admin_constraint.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/admin_constraint.rb b/lib/admin_constraint.rb index db5c0e73b64..1d0291cd7f1 100644 --- a/lib/admin_constraint.rb +++ b/lib/admin_constraint.rb @@ -9,9 +9,17 @@ class AdminConstraint def matches?(request) return false if @require_master && RailsMultisite::ConnectionManagement.current_db != "default" provider = Discourse.current_user_provider.new(request.env) - provider.current_user && provider.current_user.admin? + provider.current_user && + provider.current_user.admin? && + custom_admin_check(request) rescue Discourse::InvalidAccess false end + # Extensibility point: plugins can overwrite this to add additional checks + # if they require. + def custom_admin_check(request) + true + end + end