retrospring/config/initializers/rails_admin.rb

124 lines
2.9 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
2014-12-10 17:01:59 +01:00
# workaround to get pagination right
RailsAdmin.config do |config|
2022-07-04 22:38:46 +02:00
config.asset_source = :webpacker
2022-07-27 21:09:32 +02:00
config.main_app_name = %w[justask Kontrollzentrum]
config.parent_controller = "::ApplicationController"
2014-12-10 17:01:59 +01:00
## == Authentication ==
config.authenticate_with do
redirect_to main_app.root_path unless current_user&.has_role?(:administrator)
2014-12-10 17:01:59 +01:00
end
config.current_user_method(&:current_user)
config.actions do
dashboard # mandatory
index # mandatory
new
export
bulk_delete
show
edit
delete
show_in_app
## With an audit adapter, you can add:
# history_index
# history_show
end
config.included_models = %w[
2022-07-05 23:17:22 +02:00
Appendable
Appendable::Reaction
2014-12-10 17:01:59 +01:00
Answer
AnonymousBlock
2014-12-10 17:01:59 +01:00
Comment
List
ListMember
2014-12-10 17:01:59 +01:00
Inbox
MuteRule
Notification
Profile
2014-12-10 17:01:59 +01:00
Question
Relationship
Relationships::Follow
Relationships::Block
2014-12-27 14:35:09 +01:00
Report
Service
Services::Twitter
2015-08-25 21:10:08 +02:00
Theme
2014-12-10 17:01:59 +01:00
User
2021-12-30 21:39:05 +01:00
UserBan
2014-12-10 17:01:59 +01:00
]
# set up icons for some models
{
"AnonymousBlock" => "user-secret",
"Answer" => "exclamation",
"Appendable" => "paperclip",
"Appendable::Reaction" => "smile",
"Comment" => "comment",
"Inbox" => "inbox",
"List" => "list",
"ListMember" => "users",
"MuteRule" => "volume-mute",
"Notification" => "bell",
"Profile" => "id-card",
"Question" => "question",
"Relationship" => "people-arrows",
"Relationships::Block" => "user-slash",
"Relationships::Follow" => "user-friends",
"Report" => "exclamation-triangle",
"Service" => "network-wired",
"Services::Twitter" => "dumpster-fire",
"Theme" => "paint-brush",
"User" => "user",
"UserBan" => "user-lock"
}.each do |model, icon|
config.model model do
navigation_icon "fa fa-fw fa-#{icon} me-1"
end
end
# set up custom parents for certain models to group them nicely together
{
"AnonymousBlock" => User,
"Inbox" => User,
"List" => User,
"MuteRule" => User,
"Notification" => User,
"Profile" => User,
"Relationship" => User,
"Service" => User,
"Theme" => User,
"ListMember" => List
}.each do |model, parent_model|
config.model model do
parent parent_model
end
end
# create groups inside nav tree
{
"User content" => %w[
Answer
Appendable
Comment
Question
User
],
"Global" => %w[
Report
UserBan
]
}.each do |label, models|
models.each do |model|
config.model model do
navigation_label label
end
end
end
2014-12-10 17:01:59 +01:00
end