You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: user.rb
    path of file: ./repos/foreman/app/controllers/concerns/foreman/controller/parameters
    
    the code of the file until where you have to start completion: module Foreman::Controller::Parameters::User
  extend ActiveSupport::Concern
  include Foreman::Controller::Parameters::Taxonomix
  include Foreman::Controller::Parameters::UserMailNotification

  class_methods do
    def user_params_filter
      Foreman::ParameterFilter.new(::User).tap do |filter|
        filter.permit :current_password,
          :default_location_id,
          :default_organization_id,
          :description,
          :firstname,
          :lastname,
          :locale,
          :mai
    
    def user_params_filter
      Foreman::ParameterFilter.new(::User).tap do |filter|
        filter.permit :current_password,
          :default_location_id,
          :default_organization_id,
          :description,
          :firstname,
          :lastname,
          :locale,
          :mail,
          :mail_enabled,
          :password,
          :password_confirmation,
          :timezone,
          :disabled,
          :user_mail_notifications_attributes => [user_mail_notification_params_filter]

        filter.permit do |ctx|
          ctx.permit :login
          ctx.permit :admin if ctx.currently_admin? && (ctx.ui? || ctx.api?)
          if !ctx.editing_self? && (ctx.ui? || ctx.api?)
            ctx.permit :auth_source, :auth_source_id, :auth_source_name,
              :roles => [], :role_ids => [], :role_names => []
          end
        end
        add_taxonomix_params_filter(filter)
      end