Retrospring/config/initializers/rails_admin.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

128 lines
3.1 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
2014-12-10 08:01:59 -08:00
# workaround to get pagination right
RailsAdmin.config do |config|
2023-01-03 03:30:53 -08:00
config.asset_source = :sprockets
2022-07-27 12:09:32 -07:00
config.main_app_name = %w[justask Kontrollzentrum]
config.parent_controller = "::ApplicationController"
2014-12-10 08:01:59 -08:00
## == Authentication ==
config.authenticate_with do
redirect_to main_app.root_path unless current_user&.has_role?(:administrator)
2014-12-10 08:01:59 -08: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[
Reaction
2014-12-10 08:01:59 -08:00
Answer
AnonymousBlock
2014-12-10 08:01:59 -08:00
Comment
List
ListMember
InboxEntry
MuteRule
Notification
Profile
2014-12-10 08:01:59 -08:00
Question
Relationship
Relationships::Follow
Relationships::Block
2023-01-01 09:21:21 -08:00
Relationships::Mute
2014-12-27 05:35:09 -08:00
Report
Service
Services::Twitter
2015-08-25 12:10:08 -07:00
Theme
2014-12-10 08:01:59 -08:00
User
2021-12-30 12:39:05 -08:00
UserBan
2023-01-03 08:31:43 -08:00
WebPushSubscription
2014-12-10 08:01:59 -08:00
]
# set up icons for some models
{
"AnonymousBlock" => "user-secret",
"Answer" => "exclamation",
"Reaction" => "smile",
"Comment" => "comment",
"InboxEntry" => "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",
2023-01-01 09:21:21 -08:00
"Relationships::Mute" => "volume-mute",
"Report" => "exclamation-triangle",
"Service" => "network-wired",
"Services::Twitter" => "dumpster-fire",
"Theme" => "paint-brush",
"User" => "user",
"UserBan" => "user-lock",
"WebPushSubscription" => "dot-circle"
}.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,
"InboxEntry" => User,
"List" => User,
"MuteRule" => User,
"Notification" => User,
"Profile" => User,
"Relationship" => User,
"Service" => User,
"Theme" => User,
"WebPushSubscription" => 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
Reaction
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 08:01:59 -08:00
end