core&ui: add showDefaultRole option

This commit is contained in:
undefined committed 2026-04-30 02:20:57 +08:00
1 parent 01ffba8bb2
commit d66e245bd5
3 files changed
+4 -3

No files matched your search

+2 -2
View File
@@ -103,13 +103,13 @@ class DomainUserHandler extends ManageHandler {
@requireSudo
@param('format', Types.Range(['default', 'raw']), true)
async get({ domainId }, format = 'default') {
const showDefault = system.get('server.showDefaultRole');
const [dudocs, roles] = await Promise.all([
domain.collUser.aggregate([
{
$match: {
// TODO: add a page to display users who joined but with default role
role: {
$nin: ['default', 'guest'],
$nin: (showDefault || domainId !== 'system') ? ['guest'] : ['default', 'guest'],
$ne: null,
},
domainId,
+1
View File
@@ -315,6 +315,7 @@ SystemSetting(Schema.object({
}).extra('family', 'setting_smtp'),
server: Schema.object({
allowInvite: Schema.boolean().default(true).description('Allow invite users'),
showDefaultRole: Schema.boolean().default(false).description('Show default role users in domain user management'),
center: Schema.string().default('https://hydro.ac/center').description('Server Center').role('url').hidden(),
name: Schema.string().default('Hydro').description('Server Name'),
url: Schema.string().default('/').description('Server BaseURL'),
+1 -1
View File
@@ -107,7 +107,7 @@ export function apply(ctx: Context, config: ReturnType<typeof Config>) {
organization: udoc.school || udoc.uname,
avatar: avatar(udoc.avatar),
group: [
...(udoc.group.filter((g) => g !== `${udoc._id}`)),
...(udoc.group?.filter((g) => g !== `${udoc._id}`) || []),
i.unrank ? 'observers' : 'participants',
],
};