core: add server lang setting node

pull/271/head
undefined 3 years ago
parent 00402f2782
commit 7f74c11bbd

@ -306,7 +306,6 @@ End Date: 结束日期
End Time: 结束时间
EndPoint for judge: 提供给评测机的 EndPoint
EndPoint for user: 提供给用户的 EndPoint
English: 英文
Enroll Training: 参加训练
Enrolled: 已参加
Enrollees: 参加人数

@ -1,6 +1,6 @@
{
"name": "hydrooj",
"version": "3.2.14",
"version": "3.2.15",
"bin": "bin/hydrooj.js",
"main": "src/loader",
"module": "src/loader",

@ -104,7 +104,7 @@ export const SystemSetting = (...settings: _Setting[]) => {
const LangSettingNode = {
family: 'setting_usage',
key: 'codeLang',
value: 'c',
value: '',
name: 'codeLang',
desc: 'Default Code Language',
flag: 0,
@ -112,6 +112,17 @@ const LangSettingNode = {
type: 'select',
range: {},
};
const ServerLangSettingNode = {
family: 'setting_server',
key: 'preference.codeLang',
value: '',
name: 'preference.codeLang',
desc: 'Default Code Language',
flag: 0,
subType: '',
type: 'select',
range: {},
};
PreferenceSetting(
Setting('setting_display', 'viewLang', null, langRange, 'UI Language'),
@ -191,6 +202,7 @@ SystemSetting(
Setting('setting_server', 'server.login', true, 'boolean', 'server.login', 'Allow builtin-login', FLAG_PRO),
Setting('setting_server', 'server.message', true, 'boolean', 'server.message', 'Allow users send messages'),
Setting('setting_server', 'server.ignoreUA', ignoreUA, 'textarea', 'server.ignoreUA', 'ignoredUA'),
ServerLangSettingNode,
Setting('setting_limits', 'limit.problem_files_max', 100, 'number', 'limit.problem_files_max', 'Max files per problem'),
Setting('setting_limits', 'limit.problem_files_max_size', 256 * 1024 * 1024, 'number', 'limit.problem_files_max_size', 'Max files size per problem'),
Setting('setting_limits', 'limit.user_files', 100, 'number', 'limit.user_files', 'Max files for user'),
@ -237,6 +249,7 @@ bus.once('app/started', async () => {
const range = {};
for (const key in langs) range[key] = langs[key].display;
LangSettingNode.range = range;
ServerLangSettingNode.range = range;
} catch (e) { /* Ignore */ }
});
@ -247,6 +260,7 @@ bus.on('system/setting', (args) => {
const range = {};
for (const key in langs) range[key] = langs[key].display;
LangSettingNode.range = range;
ServerLangSettingNode.range = range;
}
});

@ -92,11 +92,11 @@ class User implements _User {
this.tfa = !!udoc.tfa;
for (const key in setting.SETTINGS_BY_KEY) {
this[key] = udoc[key] ?? setting.SETTINGS_BY_KEY[key].value;
this[key] = udoc[key] ?? (setting.SETTINGS_BY_KEY[key].value || system.get(`preference.${key}`));
}
for (const key in setting.DOMAIN_USER_SETTINGS_BY_KEY) {
this[key] = dudoc[key] ?? setting.DOMAIN_USER_SETTINGS_BY_KEY[key].value;
this[key] = dudoc[key] ?? (setting.DOMAIN_USER_SETTINGS_BY_KEY[key].value || system.get(`preference.${key}`));
}
}

Loading…
Cancel
Save