mirror of
https://github.com/lingble/chatwoot.git
synced 2025-10-30 18:47:51 +00:00
- If super admin updates a user email from super admin panel , it will be confirmed automatically if confirmed at is present - Also unconfirmed emails will be visible for super admins on dashboard fixes: https://github.com/chatwoot/chatwoot/issues/8958
71 lines
2.0 KiB
Ruby
71 lines
2.0 KiB
Ruby
class SuperAdmin::UsersController < SuperAdmin::ApplicationController
|
|
# Overwrite any of the RESTful controller actions to implement custom behavior
|
|
# For example, you may want to send an email after a foo is updated.
|
|
|
|
def create
|
|
resource = resource_class.new(resource_params)
|
|
authorize_resource(resource)
|
|
|
|
if resource.save
|
|
redirect_to super_admin_user_path(resource), notice: translate_with_resource('create.success')
|
|
else
|
|
notice = resource.errors.full_messages.first
|
|
redirect_to new_super_admin_user_path, notice: notice
|
|
end
|
|
end
|
|
|
|
def update
|
|
requested_resource.skip_reconfirmation! if resource_params[:confirmed_at].present?
|
|
super
|
|
end
|
|
|
|
# Override this method to specify custom lookup behavior.
|
|
# This will be used to set the resource for the `show`, `edit`, and `update`
|
|
# actions.
|
|
#
|
|
# def find_resource(param)
|
|
# Foo.find_by!(slug: param)
|
|
# end
|
|
|
|
# The result of this lookup will be available as `requested_resource`
|
|
|
|
# Override this if you have certain roles that require a subset
|
|
# this will be used to set the records shown on the `index` action.
|
|
#
|
|
# def scoped_resource
|
|
# if current_user.super_admin?
|
|
# resource_class
|
|
# else
|
|
# resource_class.with_less_stuff
|
|
# end
|
|
# end
|
|
|
|
# Override `resource_params` if you want to transform the submitted
|
|
# data before it's persisted. For example, the following would turn all
|
|
# empty values into nil values. It uses other APIs such as `resource_class`
|
|
# and `dashboard`:
|
|
#
|
|
|
|
def destroy_avatar
|
|
avatar = requested_resource.avatar
|
|
avatar.purge
|
|
redirect_back(fallback_location: super_admin_users_path)
|
|
end
|
|
|
|
def scoped_resource
|
|
resource_class.with_attached_avatar
|
|
end
|
|
|
|
def resource_params
|
|
permitted_params = super
|
|
permitted_params.delete(:password) if permitted_params[:password].blank?
|
|
permitted_params
|
|
end
|
|
|
|
# See https://administrate-prototype.herokuapp.com/customizing_controller_actions
|
|
# for more information
|
|
def find_resource(param)
|
|
super.becomes(User)
|
|
end
|
|
end
|