Commit Graph

29 Commits (a7c50c7abab98b3db0b89e3b2fe78abe0dc9789c)

Author SHA1 Message Date
Eugen Rochko 706e534455
Add UI for setting up account migration ()
Eugen Rochko 740f8a95a9
Add consumable invites ()
* Add consumable invites

* Add UI for generating invite codes

* Add tests

* Display max uses and expiration in invites table, delete invite

* Remove unused column and redundant validator

- Default follows not used, probably bad idea
- InviteCodeValidator is redundant because RegistrationsController
  checks invite code validity

* Add admin setting to disable invites

* Add admin UI for invites, configurable role for invite creation

- Admin UI that lists everyone's invites, always available
- Admin setting min_invite_role to control who can invite people
- Non-admin invite UI only visible if users are allowed to

* Do not remove invites from database, expire them instantly
Yamagishi Kazutoshi 662b8eefe8 Change navigation link for moderators ()
Eugen Rochko e84fecb7e9
Add logging of admin actions ()
* Add logging of admin actions

* Update brakeman whitelist

* Log creates, updates and destroys with history of changes

* i18n: Update Polish translation ()

Signed-off-by: Marcin Mikołajczak <me@m4sk.in>

* Split admin navigation into moderation and administration

* Redesign audit log page

* 🇵🇱 ()

* Add color coding to audit log

* Change dismiss->resolve, log all outcomes of report as resolve

* Update terminology (e-mail blacklist) ()

* Update terminology (e-mail blacklist)

imho looks better

* Update en.yml

* Fix code style issues

* i18n-tasks normalize
Eugen Rochko 7bb8b0b2fc
Add moderator role and add pundit policies for admin actions ()
* Add moderator role and add pundit policies for admin actions

* Add rake task for turning user into mod and revoking it again

* Fix handling of unauthorized exception

* Deliver new report e-mails to staff, not just admins

* Add promote/demote to admin UI, hide some actions conditionally

* Fix unused i18n
utam0k b3af3f9f8c Implement EmailBlackList ()
* Implement BlacklistedEmailDomain

* Use Faker::Internet.domain_name

* Remove note column

* Add frozen_string_literal comment

* Delete unnecessary codes

* Sort alphabetically

* Change of wording

* Rename BlacklistedEmailDomain to EmailDomainBlock
Yamagishi Kazutoshi 178f718a9b Separate notifications preferences from general preferences ()
* Separate notifications preferences from general preferences

* Refine settings/notifications/show

* remove preferences.notifications
Eugen Rochko 09a94b575e Admin interface for listing, adding and removing custom emojis ()
* Admin interface for listing, adding and removing custom emojis

* Only display local ones in the list
Eugen Rochko c1b086a538 Fix up the applications area ()
- Section it into "Development" area
- Improve UI of application form, index, and details
Colin Mitchell 871c0d251a Application prefs section ()
* Add code for creating/managing apps to settings section

* Add specs for app changes

* Fix controller spec

* Fix view file I pasted over by mistake

* Add locale strings. Add 'my apps' to nav

* Add Client ID/Secret to App page. Add some visual separation

* Fix rubocop warnings

* Fix embarrassing typo

I lost an `end` statement while fixing a merge conflict.

* Add code for creating/managing apps to settings section

- Add specs for app changes
- Add locale strings. Add 'my apps' to nav
- Add Client ID/Secret to App page. Add some visual separation
- Fix some bugs/warnings

* Update to match code standards

* Trigger notification

* Add warning about not sharing API secrets

* Tweak spec a bit

* Cleanup fixture creation by using let!

* Remove unused key

* Add foreign key for application<->user
Eugen Rochko d821aba002 Rename "Credentials" page to "Security" for clarity ()
* Rename "Credentials" page to "Security" for clarity

* Change "security" icon from cog to lock
Eugen Rochko 4a618908e8 Account deletion ()
* Add form for account deletion

* If avatar or header are gone from source, remove them

* Add option to have SuspendAccountService remove user record, add tests

* Exclude suspended accounts from search
Matt Jankowski de4681b2be Move admin/pubsubhubbub controller to admin/subscriptions ()
Matt Jankowski 2bd132d458 Replace best_in_place editor on admin settings page ()
* Remove best_in_place

* Replace best_in_place usage with rails helpers

* Move admin/settings#index to #edit action

* Remove click_to__edit from i18n
Eugen 501514960a Followers-only post federation ()
* Make private toots get PuSHed to subscription URLs that belong to domains where you have approved followers

* Authorized followers controller, stub for bulk action

* Soft block in the background

* Add simple test for new controller

* Rename Settings::FollowersController to Settings::FollowerDomainsController, paginate results,
rename "private" post setting to "followers-only", fix pagination style, improve post privacy
preferences style, improve warning style

* Extract compose form warnings into own container, show warning when posting to followers-only with unlocked account
Matt Jankowski 67dea31b0f 2FA controller cleanup ()
* Add spec coverage for settings/two_factor_auth area

* extract setup method for qr code

* Move otp required check to before action

* Merge method only used once

* Remove duplicate view

* Consolidate creation of @codes for backup

* Move settings/2fq#recovery_codes to settings/recovery_codes#create

* Rename settings/two_factor_auth#disable to #destroy

* Add coverage for the otp required path on 2fa#show

* Clean up the recovery codes list styles

* Move settings/two_factor_auth to settings/two_factor_authentication

* Reorganize the settings two factor auth area

Updated to use a flow like:

- settings/two_factor_authentication goes to a #show view which has a button
  either enable or disable 2fa on the account
- the disable button turns off the otp requirement for the user
- the enable button cycles the user secret and redirects to a confirmation page
- the confirmation page is a #new view which shows the QR code for user
- that page posts to #create which verifies the code, and creates the recovery
  codes
- that create action shares a view with a recovery codes controller which can be
  used separately to reset codes if needed
Matt Jankowski 55e1503522 Instances list in admin ()
* Add admin/instances index action

* Add link to instances admin page

* View lists instances

* Instances, grouped by domain, ordered by count

* Use Account.remote scope

* Extract method: Account.by_domain_accounts
Brad Urani e813810e03 Open sidekiq and pghero admin pages in new browser tabs ()
* Open sidekiq and pghero admin pages in new tabs

* Add missing comma
Matt Jankowski f87b51fda8 I18n health warnings ()
* Rename admin.domain_block to admin.domain_blocks in prep for i18n improvement

* Use implicit controller/action path for i18n in admin/domain_blocks

* Add DomainBlock#accounts has_many

* Avoid i18n health warning for `en` locale by using symbol scope with :count

* Remove unused i18n key: plaintext_secret_html

* Remove unused i18n key two_factor_auth.warning

* Remove final will_paginate i18n keys

* Remove unused key two_factor_auth.recovery_codes

* Remove unused key: admin.reports.comment.none

* Remove unused reports. i18n namespace (moved to admin.reports)

* Ignore keys from locales which override activemodel and activerecord errors

* Revert "Remove unused key: admin.reports.comment.none"

This reverts commit 350ef2685f.

* Update i18n key reference to match moved location

* Add missing `en` keys to i18n

* Tell i18n-tasks to ignore missing attributes that dont need overwriting

* Add i18n-tasks unused to travis
Thomas Citharel c0c56db0fa Translate admin ()
* Translate the domain_block panel

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

* Translate PubSubHubbub section

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

* translate account section and correct typos

* move reports translation & translate sidebar

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

* normalize l18n
Eugen 9acdb166e8 Fix , fix , fix - 2FA requires confirmation to be enabled ()
* Fix , fix , fix  - 2FA requires confirmation to be enabled
TOTP secret is not shown again after 2FA is enabled

* Clean up
Eugen Rochko b7c1b12367 Make default admin UI page reports. Add admin UI for creating a domain block
Eugen Rochko e8875c6046 Import feature for following/blocking lists (addresses , , , )
Eugen Rochko 56d998cbdb Export follow/block lists as CSV
Eugen Rochko 175a9b9caa Fix - Style OAuth authorized applications page
Add ability to search accounts by display name
Eugen Rochko 24ba7c9762 Adding index overview for reports in admin UI
Eugen Rochko f4bc9620a9 Update settings to re-use admin layout, one big navigation tree, improve settings forms
Eugen Rochko b11fdc3ae3 Migrate from ledermann/rails-settings to rails-settings-cached which allows global settings
with YAML-defined defaults. Add admin page for editing global settings. Add "site_description"
setting that would show as a paragraph on the frontpage
Eugen Rochko 76ec907993 Improved admin UI