mirror of
https://github.com/flarum/core.git
synced 2025-07-23 01:31:40 +02:00
Use drivers for display names, add display name extender (#2174)
* Deprecate GetDisplayName event * Add interface for display name driver * Add username driver as default * Add code to register supported drivers / used driver as singletons * Configured User class to use new driver-based system for display names * Add extender for adding display name driver * Add integration test for user display name driver * Add frontend UI for selecting display name driver
This commit is contained in:
committed by
GitHub
parent
577aaa16d9
commit
f7985bac61
@@ -21,6 +21,7 @@ export default class BasicsPage extends Page {
|
||||
'default_route',
|
||||
'welcome_title',
|
||||
'welcome_message',
|
||||
'display_name_driver',
|
||||
];
|
||||
this.values = {};
|
||||
|
||||
@@ -33,6 +34,14 @@ export default class BasicsPage extends Page {
|
||||
this.localeOptions[i] = `${locales[i]} (${i})`;
|
||||
}
|
||||
|
||||
this.displayNameOptions = {};
|
||||
const displayNameDrivers = app.data.displayNameDrivers;
|
||||
displayNameDrivers.forEach(function (identifier) {
|
||||
this.displayNameOptions[identifier] = identifier;
|
||||
}, this);
|
||||
|
||||
if (!this.values.display_name_driver() && displayNameDrivers.includes('username')) this.values.display_name_driver('username');
|
||||
|
||||
if (typeof this.values.show_language_selector() !== 'number') this.values.show_language_selector(1);
|
||||
}
|
||||
|
||||
@@ -114,6 +123,20 @@ export default class BasicsPage extends Page {
|
||||
],
|
||||
})}
|
||||
|
||||
{Object.keys(this.displayNameOptions).length > 1
|
||||
? FieldSet.component({
|
||||
label: app.translator.trans('core.admin.basics.display_name_heading'),
|
||||
children: [
|
||||
<div className="helpText">{app.translator.trans('core.admin.basics.display_name_text')}</div>,
|
||||
Select.component({
|
||||
options: this.displayNameOptions,
|
||||
value: this.values.display_name_driver(),
|
||||
onchange: this.values.display_name_driver,
|
||||
}),
|
||||
],
|
||||
})
|
||||
: ''}
|
||||
|
||||
{Button.component({
|
||||
type: 'submit',
|
||||
className: 'Button Button--primary',
|
||||
|
Reference in New Issue
Block a user