From 2b533aa13509e0a3d08854feb122eab1d09b99ad Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Thu, 28 Aug 2025 15:57:35 +0530 Subject: [PATCH] feat: remove saml methods from user --- app/models/user.rb | 14 -------------- .../devise_overrides/passwords_controller.rb | 2 +- .../devise_overrides/sessions_controller.rb | 2 +- enterprise/app/models/enterprise/concerns/user.rb | 13 ------------- 4 files changed, 2 insertions(+), 29 deletions(-) diff --git a/app/models/user.rb b/app/models/user.rb index b4be58574..e0440a67c 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -152,20 +152,6 @@ class User < ApplicationRecord mutations_from_database.changed?('email') end - # SAML methods - fallback implementations for Community Edition - # These will be overridden in Enterprise Edition via include_mod_with - def saml_user? - false - end - - def convert_to_saml! - # No-op in Community Edition - end - - def password_authentication_allowed? - true - end - def self.from_email(email) find_by(email: email&.downcase) end diff --git a/enterprise/app/controllers/enterprise/devise_overrides/passwords_controller.rb b/enterprise/app/controllers/enterprise/devise_overrides/passwords_controller.rb index 345ce3c6c..e2bbb8cb6 100644 --- a/enterprise/app/controllers/enterprise/devise_overrides/passwords_controller.rb +++ b/enterprise/app/controllers/enterprise/devise_overrides/passwords_controller.rb @@ -12,7 +12,7 @@ module Enterprise::DeviseOverrides::PasswordsController return if params[:email].blank? user = User.from_email(params[:email]) - return unless user&.saml_user? + return unless user&.provider == 'saml' raise CustomExceptions::Base.new(I18n.t('messages.reset_password_saml_user'), :forbidden) end diff --git a/enterprise/app/controllers/enterprise/devise_overrides/sessions_controller.rb b/enterprise/app/controllers/enterprise/devise_overrides/sessions_controller.rb index 99fde8c3c..fae0298cc 100644 --- a/enterprise/app/controllers/enterprise/devise_overrides/sessions_controller.rb +++ b/enterprise/app/controllers/enterprise/devise_overrides/sessions_controller.rb @@ -41,7 +41,7 @@ module Enterprise::DeviseOverrides::SessionsController return if params[:email].blank? user = User.from_email(params[:email]) - return unless user&.saml_user? + return unless user&.provider == 'saml' raise CustomExceptions::Base.new(I18n.t('messages.login_saml_user'), :unauthorized) end diff --git a/enterprise/app/models/enterprise/concerns/user.rb b/enterprise/app/models/enterprise/concerns/user.rb index 1f1e6a6c7..7231decb7 100644 --- a/enterprise/app/models/enterprise/concerns/user.rb +++ b/enterprise/app/models/enterprise/concerns/user.rb @@ -13,17 +13,4 @@ module Enterprise::Concerns::User errors.add(:base, 'User limit reached. Please purchase more licenses from super admin') if User.count >= ChatwootHub.pricing_plan_quantity end - - # SAML authentication methods (Enterprise only) - def saml_user? - provider == 'saml' - end - - def convert_to_saml! - update!(provider: 'saml') - end - - def password_authentication_allowed? - !saml_user? - end end