mirror of
				https://github.com/lingble/chatwoot.git
				synced 2025-10-31 19:17:48 +00:00 
			
		
		
		
	 114c25cae8
			
		
	
	114c25cae8
	
	
	
		
			
			- 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
 |