Sha256: 84069ad0f085f62a3f16d5e3847425fd707aba1e86c847be9e60cd5e7d399068

Contents?: true

Size: 875 Bytes

Versions: 6

Compression:

Stored size: 875 Bytes

Contents

class Current < ActiveSupport::CurrentAttributes
  attribute :user, :namespace, :controller, :active_user_account
  attribute :app_name, default: :procura
  # attribute :request_id, :user_agent, :ip_address

  # resets { Time.zone = nil }
  def active_user_account
    # Para los jobs
    if attributes[:active_user_account].nil? && user.present? && account.present?
      attributes[:active_user_account] = user.active_user_account_for(account)
    end

    super
  end

  def tid
    active_user_account.to_param
  end

  def active_user_profiles
    if active_user_account.present?
      active_user_account.profiles
    else
      []
    end
  end

  def user_account_owner?
    active_user_profiles.include?('account__owner')
  end

  def account
    ActsAsTenant.current_tenant
  end

  # def user=(user)
  #   super
  #
  #   Time.zone    = user.time_zone
  # end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
pg_rails-7.6.21.pre.9 pg_engine/app/models/current.rb
pg_rails-7.6.21.pre.8 pg_engine/app/models/current.rb
pg_rails-7.6.21.pre.7 pg_engine/app/models/current.rb
pg_rails-7.6.21.pre.6 pg_engine/app/models/current.rb
pg_rails-7.6.21.pre.5 pg_engine/app/models/current.rb
pg_rails-7.6.21.pre.4 pg_engine/app/models/current.rb