35 lines
909 B
Ruby
35 lines
909 B
Ruby
class Services::EmailController < Services::BaseController
|
|
before_action :authenticate_user!
|
|
before_action :require_service_available
|
|
before_action :require_feature_enabled
|
|
|
|
def show
|
|
ldap_entry = current_user.ldap_entry
|
|
|
|
@service_enabled = ldap_entry[:email_password].present?
|
|
@maildrop = ldap_entry[:email_maildrop]
|
|
@email_forwarding_active = @maildrop.present? &&
|
|
@maildrop.split("@").first != current_user.cn
|
|
end
|
|
|
|
def new_password
|
|
if session[:new_email_password].present?
|
|
@new_password = session.delete(:new_email_password)
|
|
else
|
|
redirect_to setting_path(:email)
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def require_service_available
|
|
http_status :not_found unless Setting.email_enabled?
|
|
end
|
|
|
|
def require_feature_enabled
|
|
unless Flipper.enabled?(:email, current_user)
|
|
http_status :forbidden
|
|
end
|
|
end
|
|
end
|