discourse/app/assets/javascripts/admin/addon/templates
benj 72e4e53fda
FEATURE: add option to hide IP addresses from moderators (#33682)
# Hide IP Addresses from Moderators When `moderators_view_ips` is
Disabled

## Summary 
Feature Request Link -
https://meta.discourse.org/t/option-to-hide-ip-addresses-from-moderators/207715/51
This PR implements a feature to **hide IP addresses from moderators**
when the `moderators_view_ips` site setting is disabled. Previously,
moderators could view IPs in multiple locations across the admin UI.
This update ensures that IP addresses are visible to moderators when the
setting allows it.

## Changes Implemented  

### Backend Updates
- **Added `moderators_view_ips` site setting** in `site_settings.yml`
- **Updated `CurrentUserSerializer`** to include `can_see_ip` field
based on the user’s role and site setting.
- **Modified `AdminUserSerializer`** to restrict IP address visibility.
- **Updated `UsersController`** to prevent IP addresses from being
included in API responses.
- **Restricted IPs in `ScreenedIpAddressesController`** by throwing
`Discourse::InvalidAccess` if the user lacks permission.

### Frontend Updates
- **Hid "Screened IPs" tab** in `/admin/logs` when `moderators_view_ips`
is disabled.
- **Blocked direct access to `/admin/logs/screened_ip_addresses`** for
unauthorized users.
- **Updated `user-index.hbs` and `logs.hbs`** to conditionally hide IP
fields.

### UI Screenshots

New option for Admins in the Admin Security settings dashboard:
![Screenshot 2025-02-21 at 5 32
00 PM](https://github.com/user-attachments/assets/5b315434-7724-4cb9-a3dc-d88750df00a6)


Moderator's view before:
![Screenshot 2025-02-21 at 5 25
41 PM](https://github.com/user-attachments/assets/0fb269e2-db40-488b-b11d-8bdfbe2a5245)
Moderator's view after:
![Screenshot 2025-02-21 at 5 26
59 PM](https://github.com/user-attachments/assets/efb848b0-1d7f-4ec9-8238-d8ee4eddbbe1)

Moderator's view before:
![Screenshot 2025-02-21 at 5 23
52 PM](https://github.com/user-attachments/assets/226e6d63-df3e-45d0-833f-de52593a086e)
Moderator's view after:
![Screenshot 2025-02-21 at 5 23
15 PM](https://github.com/user-attachments/assets/af313af2-2329-46d1-827d-290243c320e5)

---------

Co-authored-by: Bennett Dungan <bennettdungan@gmail.com>
2025-08-05 10:09:02 -05:00
..
admin-badges DEV: Add Settings tab to admin Badges page (#32251) 2025-04-21 09:41:29 +08:00
api-keys DEV: Move User API admin settings into API keys page (#32232) 2025-04-10 10:40:25 +08:00
logs Build(deps-dev): Bump the lint group across 1 directory with 4 updates (#33881) 2025-07-28 18:02:41 +02:00
admin-badges.gjs DEV: Add Settings tab to admin Badges page (#32251) 2025-04-21 09:41:29 +08:00
admin-groups-index.gjs DEV: Add dedicated admin groups page (#32377) 2025-04-22 11:23:25 +08:00
admin-groups-settings.gjs DEV: Add dedicated admin groups page (#32377) 2025-04-22 11:23:25 +08:00
admin-groups.gjs DEV: Add dedicated admin groups page (#32377) 2025-04-22 11:23:25 +08:00
admin-schema.gjs FEATURE: porting type object to site settings (#32706) 2025-05-13 14:30:24 -03:00
admin.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
analytics-settings.gjs DEV: Add Analytics and SEO admin config page (#32190) 2025-04-07 16:15:37 +08:00
api-keys.gjs DEV: Move User API admin settings into API keys page (#32232) 2025-04-10 10:40:25 +08:00
backups-index.gjs Build(deps-dev): Bump the lint group across 1 directory with 4 updates (#33881) 2025-07-28 18:02:41 +02:00
backups-logs.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
backups-settings.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
backups.gjs FIX: hide unnecessary tabs and buttons when backups disabled (#32396) 2025-04-23 10:22:31 +08:00
config-about.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
config-color-palettes-show.gjs FEATURE: Add color palette list selection to new UI (#32379) 2025-05-05 05:12:50 +03:00
config-color-palettes.gjs FEATURE: Add color palette list selection to new UI (#32379) 2025-05-05 05:12:50 +03:00
config-content-categories-and-tags.gjs DEV: Add Content admin config page (#32194) 2025-04-10 11:20:22 +08:00
config-content-posts-and-topics.gjs DEV: Add Content admin config page (#32194) 2025-04-10 11:20:22 +08:00
config-content-sharing.gjs DEV: Add Content admin config page (#32194) 2025-04-10 11:20:22 +08:00
config-content-stats-and-thresholds.gjs DEV: Add Content admin config page (#32194) 2025-04-10 11:20:22 +08:00
config-content.gjs DEV: Add Content admin config page (#32194) 2025-04-10 11:20:22 +08:00
config-customize-components.gjs FEATURE: Introduce new components listing page (#32164) 2025-04-08 17:58:29 +03:00
config-customize-themes.gjs DEV: Port install theme button modal to new themes page (#32834) 2025-05-22 17:24:37 +08:00
config-customize.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
config-developer-settings.gjs DEV: Update lint-configs and autofix issues (#31620) 2025-03-05 01:20:16 +01:00
config-experimental-settings.gjs DEV: Update lint-configs and autofix issues (#31620) 2025-03-05 01:20:16 +01:00
config-files-settings.gjs DEV: Update lint-configs and autofix issues (#31620) 2025-03-05 01:20:16 +01:00
config-flags-edit.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
config-flags-index.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
config-flags-new.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
config-flags-settings.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
config-flags.gjs DEV: More linting fix (#32435) 2025-04-24 16:30:13 +08:00
config-fonts.gjs UX: split admin logo and fonts to separate pages (#32700) 2025-05-14 14:02:34 +08:00
config-group-permissions-settings.gjs DEV: Update lint-configs and autofix issues (#31620) 2025-03-05 01:20:16 +01:00
config-interface-settings.gjs DEV: Add Interface and layout admin config page (#32197) 2025-04-08 09:22:10 +08:00
config-legal-settings.gjs DEV: Update lint-configs and autofix issues (#31620) 2025-03-05 01:20:16 +01:00
config-localization-settings.gjs DEV: Update lint-configs and autofix issues (#31620) 2025-03-05 01:20:16 +01:00
config-login-and-authentication-settings.gjs DEV: Update lint-configs and autofix issues (#31620) 2025-03-05 01:20:16 +01:00
config-logo.gjs UX: split admin logo and fonts to separate pages (#32700) 2025-05-14 14:02:34 +08:00
config-navigation-settings.gjs DEV: Update lint-configs and autofix issues (#31620) 2025-03-05 01:20:16 +01:00
config-notifications-settings.gjs DEV: Update lint-configs and autofix issues (#31620) 2025-03-05 01:20:16 +01:00
config-onebox-settings.gjs DEV: Update lint-configs and autofix issues (#31620) 2025-03-05 01:20:16 +01:00
config-rate-limits-settings.gjs DEV: Update lint-configs and autofix issues (#31620) 2025-03-05 01:20:16 +01:00
config-search-settings.gjs DEV: Update lint-configs and autofix issues (#31620) 2025-03-05 01:20:16 +01:00
config-security-settings.gjs DEV: Update lint-configs and autofix issues (#31620) 2025-03-05 01:20:16 +01:00
config-site-admin-settings.gjs DEV: Add Site admin admin config page (#32196) 2025-04-08 09:52:42 +08:00
config-spam-settings.gjs DEV: Add learn more link for admin spam section (#33725) 2025-07-21 10:13:36 +08:00
config-theme-site-settings.gjs FEATURE: Themeable site settings (#32233) 2025-07-16 11:00:21 +10:00
config-trust-levels-settings.gjs DEV: Update lint-configs and autofix issues (#31620) 2025-03-05 01:20:16 +01:00
config-user-api-settings.gjs DEV: Update lint-configs and autofix issues (#31620) 2025-03-05 01:20:16 +01:00
config-user-defaults-settings.gjs DEV: Add User defaults admin config page (#32195) 2025-04-08 09:21:54 +08:00
customize-colors-show.gjs FEATURE: redesigned admin color palette index layout (#33628) 2025-07-22 11:52:39 -04:00
customize-colors.gjs FEATURE: Add dark color scheme setting for themes (#33967) 2025-08-04 12:33:41 +08:00
customize-email-style-edit.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
customize-email-style.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
customize-form-templates-edit.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
customize-form-templates-index.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
customize-form-templates-new.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
customize-robots-txt.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
customize-themes-edit.gjs UX: make admin code editor height more flexible (#32241) 2025-04-09 16:20:48 -04:00
customize-themes-show-colors.gjs FEATURE: system themes (#32681) 2025-06-13 10:36:31 +08:00
customize-themes-show-index.gjs FEATURE: Add dark color scheme setting for themes (#33967) 2025-08-04 12:33:41 +08:00
customize-themes-show-schema.gjs FEATURE: porting type object to site settings (#32706) 2025-05-13 14:30:24 -03:00
customize-themes-show.gjs Build(deps-dev): Bump the lint group across 1 directory with 4 updates (#33881) 2025-07-28 18:02:41 +02:00
customize.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
dashboard-new-features.gjs Build(deps-dev): Bump the lint group across 1 directory with 4 updates (#33881) 2025-07-28 18:02:41 +02:00
dashboard.gjs UX: Admin Dashboard title (#32022) 2025-03-27 13:57:56 -06:00
dashboard_general.gjs Build(deps-dev): Bump the lint group across 1 directory with 4 updates (#33881) 2025-07-28 18:02:41 +02:00
dashboard_moderation.gjs DEV: Deprecate "discourse/helpers/get-url" (#33870) 2025-07-27 12:27:31 +02:00
dashboard_reports.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
dashboard_security.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
email-advanced-test.gjs Build(deps-dev): Bump the lint group across 1 directory with 4 updates (#33881) 2025-07-28 18:02:41 +02:00
email-logs-bounced.gjs UX: improve wrapping and styling in email logs (#34011) 2025-07-31 11:40:04 -04:00
email-logs-received.gjs UX: improve wrapping and styling in email logs (#34011) 2025-07-31 11:40:04 -04:00
email-logs-rejected.gjs UX: improve wrapping and styling in email logs (#34011) 2025-07-31 11:40:04 -04:00
email-logs-sent.gjs UX: improve wrapping and styling in email logs (#34011) 2025-07-31 11:40:04 -04:00
email-logs-skipped.gjs UX: better handling of admin email log overflow (#33988) 2025-07-31 09:21:21 -04:00
email-logs.gjs DEV: Extract e-mail logs into their own admin page (#32211) 2025-04-08 17:50:12 +08:00
email-preview-digest.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
email-server-settings.gjs DEV: Add e-mail site settings to e-mail admin page (#32214) 2025-04-08 18:59:50 +08:00
email-settings.gjs DEV: Add e-mail site settings to e-mail admin page (#32214) 2025-04-08 18:59:50 +08:00
email-templates-edit.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
email-templates.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
email.gjs DEV: Add e-mail site settings to e-mail admin page (#32214) 2025-04-08 18:59:50 +08:00
embedding-crawlers.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
embedding-edit.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
embedding-index.gjs Build(deps-dev): Bump the lint group across 1 directory with 4 updates (#33881) 2025-07-28 18:02:41 +02:00
embedding-new.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
embedding-posts-and-topics.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
embedding-settings.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
embedding.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
emojis-index.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
emojis-new.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
emojis-settings.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
emojis.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
logs.gjs FEATURE: add option to hide IP addresses from moderators (#33682) 2025-08-05 10:09:02 -05:00
permalinks-edit.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
permalinks-index.gjs DEV: Use reusable d-table instead of admin-only styles (#33531) 2025-07-10 19:58:04 -06:00
permalinks-new.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
permalinks-settings.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
permalinks.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
plugins-index.gjs UX: on plugin index, unlink preinstall, simplify install banner (#33910) 2025-07-29 09:04:07 -04:00
plugins-show-settings.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
plugins-show.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
plugins.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
reports-dashboard-settings.gjs DEV: Add Dashboard settings tab to Reports page (#32235) 2025-04-10 10:41:12 +08:00
reports-index.gjs DEV: Add Dashboard settings tab to Reports page (#32235) 2025-04-10 10:41:12 +08:00
reports-show.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
reports.gjs UX: fix admin reports breadcrumb link (#33085) 2025-06-05 09:16:42 -04:00
search-index.gjs FIX: Admin search page shortcut (#32140) 2025-04-03 16:06:00 +10:00
search-logs-index.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
search-logs-term.gjs Build(deps-dev): Bump the lint group across 1 directory with 4 updates (#33881) 2025-07-28 18:02:41 +02:00
section-account.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
site-settings-category.gjs DEV: Change admin site settings filter to be route based (#33167) 2025-06-16 11:20:38 +08:00
site-settings.gjs DEV: Change admin site settings filter to be route based (#33167) 2025-06-16 11:20:38 +08:00
site-text-edit.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
site-text-index.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
site-text.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
user-badges.gjs PERF: Introduce lazyHash and update PluginOutlet calls to use it (#32823) 2025-05-22 12:07:22 +01:00
user-fields-edit.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
user-fields-index.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
user-fields-new.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
user-fields.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
user-index.gjs FEATURE: add option to hide IP addresses from moderators (#33682) 2025-08-05 10:09:02 -05:00
user-tl3-requirements.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
user.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
users-list-show.gjs Build(deps-dev): Bump the lint group across 1 directory with 4 updates (#33881) 2025-07-28 18:02:41 +02:00
users-settings.gjs DEV: Add Settings tab to admin Users page (#32255) 2025-04-11 11:10:53 +08:00
users.gjs UX: update groups route on admin users page (#33738) 2025-07-21 14:17:16 -04:00
watched-words-action.gjs Build(deps-dev): Bump the lint group across 1 directory with 4 updates (#33881) 2025-07-28 18:02:41 +02:00
watched-words.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
web-hooks-edit.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
web-hooks-index.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
web-hooks-new.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
web-hooks-show.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00
web-hooks.gjs DEV: Update lint-configs and autofix issues (#31620) 2025-03-05 01:20:16 +01:00
whats-new.gjs DEV: [gjs-codemod] convert admin files to gjs 2025-03-25 16:59:21 +00:00