mirror of
https://github.com/discourse/discourse.git
synced 2025-01-16 02:52:40 +08:00
UX: Move first settings admin route to config page (#30510)
For consistency, we are updating all sidebar links that point to an /admin/customize/site_settings URL to their own config pages, in preparation for more focused config pages in future. This will mitigate the issue we have now, which is that every sidebar link you click showing a different UI to admins. This commit moves admin/config/login-and-authentication to establish the pattern.
This commit is contained in:
parent
5711bf6f27
commit
c2282439b3
|
@ -0,0 +1,3 @@
|
|||
import AdminAreaSettingsBaseController from "admin/controllers/admin-area-settings-base";
|
||||
|
||||
export default class AdminConfigLoginAndAuthenticationSettingsController extends AdminAreaSettingsBaseController {}
|
|
@ -1,7 +1,12 @@
|
|||
import Route from "@ember/routing/route";
|
||||
import { ajax } from "discourse/lib/ajax";
|
||||
import DiscourseRoute from "discourse/routes/discourse";
|
||||
import { i18n } from "discourse-i18n";
|
||||
|
||||
export default class AdminConfigAboutRoute extends DiscourseRoute {
|
||||
titleToken() {
|
||||
return i18n("admin.community.sidebar_link.about_your_site");
|
||||
}
|
||||
|
||||
export default class AdminConfigAboutRoute extends Route {
|
||||
model() {
|
||||
return ajax("/admin/config/site_settings.json", {
|
||||
data: {
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
import DiscourseRoute from "discourse/routes/discourse";
|
||||
import { i18n } from "discourse-i18n";
|
||||
|
||||
export default class AdminConfigLoginAndAuthenticationRoute extends DiscourseRoute {
|
||||
titleToken() {
|
||||
return i18n("admin.community.sidebar_link.login_and_authentication");
|
||||
}
|
||||
}
|
|
@ -206,6 +206,11 @@ export default function () {
|
|||
});
|
||||
|
||||
this.route("about");
|
||||
this.route("loginAndAuthentication", { path: "/" }, function () {
|
||||
this.route("settings", {
|
||||
path: "/login-and-authentication",
|
||||
});
|
||||
});
|
||||
this.route("lookAndFeel", { path: "/look-and-feel" }, function () {
|
||||
this.route("themes");
|
||||
});
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
<DPageHeader
|
||||
@titleLabel={{i18n "admin.config.login_and_authentication.title"}}
|
||||
@descriptionLabel={{i18n
|
||||
"admin.config.login_and_authentication.header_description"
|
||||
}}
|
||||
>
|
||||
<:breadcrumbs>
|
||||
<DBreadcrumbsItem @path="/admin" @label={{i18n "admin_title"}} />
|
||||
<DBreadcrumbsItem
|
||||
@path="/admin/config/login-and-authentication"
|
||||
@label={{i18n "admin.config.login_and_authentication.title"}}
|
||||
/>
|
||||
</:breadcrumbs>
|
||||
</DPageHeader>
|
||||
|
||||
<div class="admin-config-page__main-area">
|
||||
<AdminAreaSettings
|
||||
@categories="login"
|
||||
@path="/admin/config/login-and-authentication"
|
||||
@filter={{this.filter}}
|
||||
@adminSettingsFilterChangedCallback={{this.adminSettingsFilterChangedCallback}}
|
||||
/>
|
||||
</div>
|
|
@ -42,9 +42,7 @@ export const ADMIN_NAV_MAP = [
|
|||
},
|
||||
{
|
||||
name: "admin_login_and_authentication",
|
||||
route: "adminSiteSettingsCategory",
|
||||
routeModels: ["login"],
|
||||
query: { filter: "" },
|
||||
route: "adminConfig.loginAndAuthentication.settings",
|
||||
label: "admin.community.sidebar_link.login_and_authentication",
|
||||
icon: "unlock",
|
||||
},
|
||||
|
@ -301,8 +299,7 @@ export const ADMIN_NAV_MAP = [
|
|||
{
|
||||
name: "admin_experimental",
|
||||
route: "adminSiteSettingsCategory",
|
||||
routeModels: ["all_results"],
|
||||
query: { filter: "experimental" },
|
||||
routeModels: ["experimental"],
|
||||
label: "admin.advanced.sidebar_link.experimental",
|
||||
icon: "discourse-sparkles",
|
||||
},
|
||||
|
|
|
@ -3,6 +3,7 @@ import { test } from "qunit";
|
|||
import { AUTO_GROUPS } from "discourse/lib/constants";
|
||||
import { withPluginApi } from "discourse/lib/plugin-api";
|
||||
import PreloadStore from "discourse/lib/preload-store";
|
||||
import pretender, { response } from "discourse/tests/helpers/create-pretender";
|
||||
import { acceptance } from "discourse/tests/helpers/qunit-helpers";
|
||||
import I18n from "discourse-i18n";
|
||||
|
||||
|
@ -24,6 +25,12 @@ acceptance("Admin Sidebar - Sections", function (needs) {
|
|||
},
|
||||
},
|
||||
]);
|
||||
|
||||
pretender.get("/admin/config/site_settings.json", () =>
|
||||
response({
|
||||
site_settings: [],
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
test("default sections are loaded", async function (assert) {
|
||||
|
|
|
@ -5133,6 +5133,11 @@ en:
|
|||
sidebar_link:
|
||||
all: "All reports"
|
||||
|
||||
config:
|
||||
login_and_authentication:
|
||||
title: "Login and authentication"
|
||||
header_description: "Configure how users log in and authenticate, secrets and keys, OAuth2 providers, and more."
|
||||
|
||||
new_features:
|
||||
title: "What's new?"
|
||||
check_for_updates: "Check for updates"
|
||||
|
|
|
@ -391,6 +391,9 @@ Discourse::Application.routes.draw do
|
|||
end
|
||||
namespace :config, constraints: StaffConstraint.new do
|
||||
resources :site_settings, only: %i[index]
|
||||
resources :login_and_authentication, only: %i[index]
|
||||
|
||||
get "login-and-authentication" => "site_settings#index"
|
||||
|
||||
resources :flags, only: %i[index new create update destroy] do
|
||||
put "toggle"
|
||||
|
|
Loading…
Reference in New Issue
Block a user