class Eco::API::UseCases::DefaultCases::ToCsvDetailedCase

Private Instance Methods

abilities() click to toggle source
# File lib/eco/api/usecases/default_cases/to_csv_detailed_case.rb, line 60
def abilities
  @abilities ||= session.presets_factory.keys
end
abilities_header(prefix = nil) click to toggle source
# File lib/eco/api/usecases/default_cases/to_csv_detailed_case.rb, line 64
def abilities_header(prefix = nil)
  abilities.map do |key|
    prefix ? "#{prefix}_#{key}" : key
  end
end
keys(entry) click to toggle source
# File lib/eco/api/usecases/default_cases/to_csv_detailed_case.rb, line 52
def keys(entry)
  super(entry) + ["freemium"]
end
login_providers() click to toggle source
# File lib/eco/api/usecases/default_cases/to_csv_detailed_case.rb, line 56
def login_providers
  session.login_providers
end
nice_header_maps() click to toggle source
# File lib/eco/api/usecases/default_cases/to_csv_detailed_case.rb, line 78
def nice_header_maps
  @nice_header_maps ||= super.merge({
    "landing_page_id"    => "Landing Page ID",
    "show_sidebar"       => "(pref) Sidebar Open?",
    "show_shortcuts"     => "(pref) Link to Registers?",
    "show_coming_soon"   => "(pref) Coming Soon List?",
    "show_recently_visited_forms" => "(pref) Recently Visited Forms List?",
    "show_tasks"         => "(pref) Tasks List?",
    "show_task_bubbles"  => "(pref) Task Count Bubbles",
    "kiosk_enabled"      => "Kiosk User?",
    "freemium"           => "Freemium User?",
    "files"              => "(able) on Files",
    "reports"            => "(able) on Report Structures",
    "data"               => "(able) on Data (hours, datasets)",
    "organization"       => "(able) on Organization Config",
    "pages"              => "(able) on Page/Entries",
    "page_editor"        => "(able) page Editor Level",
    "registers"          => "(able) on Registers",
    "tasks"              => "(able) on Tasks",
    "person_core"        => "(able) on People",
    "person_core_create" => "(able) Create People?",
    "person_core_edit"   => "(able) Edit People?",
    "person_details"     => "(able) on People Schema Details",
    "person_account"     => "(able) on Users",
    "person_abilities"   => "(able) on Users' Abilities",
    "custom_files"              => "(min) on Files",
    "custom_reports"            => "(min) on Report Structures",
    "custom_data"               => "(min) on Data (hours, datasets)",
    "custom_organization"       => "(min) on Organization Config",
    "custom_pages"              => "(min) on Page/Entries",
    "custom_page_editor"        => "(min) page Editor Level",
    "custom_registers"          => "(min) on Registers",
    "custom_tasks"              => "(min) on Tasks",
    "custom_person_core"        => "(min) on People",
    "custom_person_core_create" => "(min) Create People?",
    "custom_person_core_edit"   => "(min) Edit People?",
    "custom_person_details"     => "(min) on People Schema Details",
    "custom_person_account"     => "(min) on Users",
    "custom_person_abilities"   => "(min) on Users' Abilities"
  })
end
person_supervisor(person) click to toggle source
# File lib/eco/api/usecases/default_cases/to_csv_detailed_case.rb, line 19
def person_supervisor(person)
  session.micro.with_supervisor(person.supervisor_id, people) do |supervisor|
    return supervisor ? supervisor.name : ""
  end
end
preferences() click to toggle source
# File lib/eco/api/usecases/default_cases/to_csv_detailed_case.rb, line 70
def preferences
  @preferences ||= [
    "show_sidebar", "show_shortcuts", "show_coming_soon", "show_recently_visited_forms",
    "show_tasks", "show_task_bubbles",
    "kiosk_enabled"
  ]
end
spot_header(person = people.first) click to toggle source
# File lib/eco/api/usecases/default_cases/to_csv_detailed_case.rb, line 40
def spot_header(person = people.first)
  super(person) do |header|
    header << "Subordinates"
    header << "Supervisor Name"
    header += abilities_header
    header += abilities_header("custom") if options.dig(:export, :options, :permissions_custom)
    header << "Landing Page"
    header += preferences
    header
  end
end
to_row(person) click to toggle source
# File lib/eco/api/usecases/default_cases/to_csv_detailed_case.rb, line 7
def to_row(person)
  data = super(person)
  data << person.subordinates
  data << person_supervisor(person)
  data += user_abilities(person)
  data += user_permissions_custom(person) if options.dig(:export, :options, :permissions_custom)
  account = person.account
  data << account&.landing_page_id
  data += user_preferences(person)
  data
end
user_abilities(person) click to toggle source
# File lib/eco/api/usecases/default_cases/to_csv_detailed_case.rb, line 25
def user_abilities(person)
  account_abilities = (person.account && person.account.permissions_merged) || {}
  abilities.map {|key| account_abilities[key] || "no access"}
end
user_permissions_custom(person) click to toggle source
# File lib/eco/api/usecases/default_cases/to_csv_detailed_case.rb, line 30
def user_permissions_custom(person)
  account_abilities = (person.account && person.account.permissions_custom) || {}
  abilities.map {|key| account_abilities[key] || "no access"}
end
user_preferences(person) click to toggle source
# File lib/eco/api/usecases/default_cases/to_csv_detailed_case.rb, line 35
def user_preferences(person)
  user_preferences = (person.account && person.account.preferences&.doc) || {}
  preferences.map {|key| user_preferences[key] || false}
end