]> cat aescling's git repositories - mastodon.git/commit
Add customizable user roles (#18641)
authorEugen Rochko <eugen@zeonfederated.com>
Tue, 5 Jul 2022 00:41:40 +0000 (02:41 +0200)
committeraescling <aescling+gitlab@cat.family>
Mon, 5 Sep 2022 04:27:53 +0000 (00:27 -0400)
commit72aeb89f15fcc7378ff2ba9b514f5533f63e01ca
treece2af19f232dd59d307d6a845f44ae18f563606d
parent9b1939fd87ed717d4f41c561e793fcd77c1b4ecf
Add customizable user roles (#18641)

* Add customizable user roles

* Various fixes and improvements

* Add migration for old settings and fix tootctl role management
186 files changed:
app/controllers/admin/account_actions_controller.rb
app/controllers/admin/accounts_controller.rb
app/controllers/admin/action_logs_controller.rb
app/controllers/admin/base_controller.rb
app/controllers/admin/custom_emojis_controller.rb
app/controllers/admin/dashboard_controller.rb
app/controllers/admin/email_domain_blocks_controller.rb
app/controllers/admin/follow_recommendations_controller.rb
app/controllers/admin/ip_blocks_controller.rb
app/controllers/admin/relationships_controller.rb
app/controllers/admin/roles_controller.rb
app/controllers/admin/statuses_controller.rb
app/controllers/admin/subscriptions_controller.rb [deleted file]
app/controllers/admin/trends/links/preview_card_providers_controller.rb
app/controllers/admin/trends/links_controller.rb
app/controllers/admin/trends/statuses_controller.rb
app/controllers/admin/trends/tags_controller.rb
app/controllers/admin/users/roles_controller.rb [new file with mode: 0644]
app/controllers/admin/users/two_factor_authentications_controller.rb [moved from app/controllers/admin/two_factor_authentications_controller.rb with 86% similarity]
app/controllers/api/v1/admin/account_actions_controller.rb
app/controllers/api/v1/admin/accounts_controller.rb
app/controllers/api/v1/admin/dimensions_controller.rb
app/controllers/api/v1/admin/domain_allows_controller.rb
app/controllers/api/v1/admin/domain_blocks_controller.rb
app/controllers/api/v1/admin/measures_controller.rb
app/controllers/api/v1/admin/reports_controller.rb
app/controllers/api/v1/admin/retention_controller.rb
app/controllers/api/v1/admin/trends/links_controller.rb
app/controllers/api/v1/admin/trends/statuses_controller.rb
app/controllers/api/v1/admin/trends/tags_controller.rb
app/controllers/api/v1/trends/links_controller.rb
app/controllers/api/v1/trends/statuses_controller.rb
app/controllers/api/v1/trends/tags_controller.rb
app/controllers/api/v2/admin/accounts_controller.rb
app/controllers/application_controller.rb
app/controllers/custom_css_controller.rb
app/helpers/accounts_helper.rb
app/javascript/mastodon/components/status_action_bar.js
app/javascript/mastodon/containers/mastodon.js
app/javascript/mastodon/features/account/components/header.js
app/javascript/mastodon/features/notifications/components/column_settings.js
app/javascript/mastodon/features/status/components/action_bar.js
app/javascript/mastodon/features/ui/components/link_footer.js
app/javascript/mastodon/initial_state.js
app/javascript/mastodon/permissions.js [new file with mode: 0644]
app/javascript/mastodon/reducers/meta.js
app/javascript/styles/mastodon/admin.scss
app/javascript/styles/mastodon/forms.scss
app/lib/admin/system_check.rb
app/lib/admin/system_check/base_check.rb
app/lib/admin/system_check/database_schema_check.rb
app/lib/admin/system_check/elasticsearch_check.rb
app/lib/admin/system_check/rules_check.rb
app/lib/admin/system_check/sidekiq_process_check.rb
app/models/account.rb
app/models/account_filter.rb
app/models/concerns/user_roles.rb [deleted file]
app/models/form/admin_settings.rb
app/models/trends.rb
app/models/user.rb
app/models/user_role.rb [new file with mode: 0644]
app/policies/account_moderation_note_policy.rb
app/policies/account_policy.rb
app/policies/account_warning_policy.rb
app/policies/account_warning_preset_policy.rb
app/policies/announcement_policy.rb
app/policies/appeal_policy.rb
app/policies/application_policy.rb
app/policies/audit_log_policy.rb [new file with mode: 0644]
app/policies/custom_emoji_policy.rb
app/policies/dashboard_policy.rb [new file with mode: 0644]
app/policies/delivery_policy.rb
app/policies/domain_allow_policy.rb
app/policies/domain_block_policy.rb
app/policies/email_domain_block_policy.rb
app/policies/follow_recommendation_policy.rb
app/policies/instance_policy.rb
app/policies/invite_policy.rb
app/policies/ip_block_policy.rb
app/policies/preview_card_policy.rb
app/policies/preview_card_provider_policy.rb
app/policies/relay_policy.rb
app/policies/report_note_policy.rb
app/policies/report_policy.rb
app/policies/rule_policy.rb
app/policies/settings_policy.rb
app/policies/status_policy.rb
app/policies/tag_policy.rb
app/policies/user_policy.rb
app/policies/user_role_policy.rb [new file with mode: 0644]
app/policies/webhook_policy.rb
app/presenters/initial_state_presenter.rb
app/serializers/initial_state_serializer.rb
app/serializers/rest/credential_account_serializer.rb
app/serializers/rest/instance_serializer.rb
app/serializers/rest/role_serializer.rb [new file with mode: 0644]
app/services/account_search_service.rb
app/services/appeal_service.rb
app/services/bootstrap_timeline_service.rb
app/services/notify_service.rb
app/services/report_service.rb
app/views/admin/accounts/index.html.haml
app/views/admin/accounts/show.html.haml
app/views/admin/action_logs/index.html.haml
app/views/admin/instances/show.html.haml
app/views/admin/roles/_form.html.haml [new file with mode: 0644]
app/views/admin/roles/_role.html.haml [new file with mode: 0644]
app/views/admin/roles/edit.html.haml [new file with mode: 0644]
app/views/admin/roles/index.html.haml [new file with mode: 0644]
app/views/admin/roles/new.html.haml [new file with mode: 0644]
app/views/admin/settings/edit.html.haml
app/views/admin/tags/show.html.haml
app/views/admin/users/roles/show.html.haml [new file with mode: 0644]
app/views/custom_css/show.css.erb [new file with mode: 0644]
app/views/layouts/application.html.haml
app/views/settings/preferences/notifications/show.html.haml
config/application.rb
config/locales/activerecord.en.yml
config/locales/en.yml
config/locales/simple_form.en.yml
config/navigation.rb
config/roles.yml [new file with mode: 0644]
config/routes.rb
db/migrate/20220611210335_create_user_roles.rb [new file with mode: 0644]
db/migrate/20220611212541_add_role_id_to_users.rb [new file with mode: 0644]
db/post_migrate/20220617202502_migrate_roles.rb [new file with mode: 0644]
db/post_migrate/20220704024901_migrate_settings_to_user_roles.rb [new file with mode: 0644]
db/schema.rb
db/seeds.rb
db/seeds/01_web_app.rb [new file with mode: 0644]
db/seeds/02_instance_actor.rb [new file with mode: 0644]
db/seeds/03_roles.rb [new file with mode: 0644]
db/seeds/04_admin.rb [new file with mode: 0644]
lib/mastodon/accounts_cli.rb
lib/simple_navigation/item_extensions.rb [new file with mode: 0644]
spec/controllers/admin/account_moderation_notes_controller_spec.rb
spec/controllers/admin/accounts_controller_spec.rb
spec/controllers/admin/action_logs_controller_spec.rb
spec/controllers/admin/base_controller_spec.rb
spec/controllers/admin/change_email_controller_spec.rb
spec/controllers/admin/confirmations_controller_spec.rb
spec/controllers/admin/custom_emojis_controller_spec.rb
spec/controllers/admin/dashboard_controller_spec.rb
spec/controllers/admin/disputes/appeals_controller_spec.rb
spec/controllers/admin/domain_blocks_controller_spec.rb
spec/controllers/admin/email_domain_blocks_controller_spec.rb
spec/controllers/admin/instances_controller_spec.rb
spec/controllers/admin/invites_controller_spec.rb
spec/controllers/admin/report_notes_controller_spec.rb
spec/controllers/admin/reports_controller_spec.rb
spec/controllers/admin/resets_controller_spec.rb
spec/controllers/admin/roles_controller_spec.rb
spec/controllers/admin/settings_controller_spec.rb
spec/controllers/admin/statuses_controller_spec.rb
spec/controllers/admin/tags_controller_spec.rb
spec/controllers/admin/users/roles_controller.rb [new file with mode: 0644]
spec/controllers/admin/users/two_factor_authentications_controller_spec.rb [moved from spec/controllers/admin/two_factor_authentications_controller_spec.rb with 90% similarity]
spec/controllers/api/v1/admin/account_actions_controller_spec.rb
spec/controllers/api/v1/admin/accounts_controller_spec.rb
spec/controllers/api/v1/admin/domain_allows_controller_spec.rb
spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb
spec/controllers/api/v1/admin/reports_controller_spec.rb
spec/controllers/api/v1/reports_controller_spec.rb
spec/controllers/api/v2/admin/accounts_controller_spec.rb
spec/controllers/application_controller_spec.rb
spec/controllers/disputes/appeals_controller_spec.rb
spec/controllers/invites_controller_spec.rb
spec/fabricators/user_role_fabricator.rb [new file with mode: 0644]
spec/models/account_spec.rb
spec/models/admin/account_action_spec.rb
spec/models/user_role_spec.rb [new file with mode: 0644]
spec/models/user_spec.rb
spec/policies/account_moderation_note_policy_spec.rb
spec/policies/account_policy_spec.rb
spec/policies/custom_emoji_policy_spec.rb
spec/policies/domain_block_policy_spec.rb
spec/policies/email_domain_block_policy_spec.rb
spec/policies/instance_policy_spec.rb
spec/policies/invite_policy_spec.rb
spec/policies/relay_policy_spec.rb
spec/policies/report_note_policy_spec.rb
spec/policies/report_policy_spec.rb
spec/policies/settings_policy_spec.rb
spec/policies/status_policy_spec.rb
spec/policies/tag_policy_spec.rb
spec/policies/user_policy_spec.rb