Просмотр исходного кода

define default user role for new user

ryosei-f 4 месяцев назад
Родитель
Сommit
0e21b87fca

+ 7 - 0
apps/app/src/server/models/user.js

@@ -294,6 +294,7 @@ const factory = (crowi) => {
     this.isEmailPublished = configManager.getConfig(
     this.isEmailPublished = configManager.getConfig(
       'customize:isEmailPublishedForNewUser',
       'customize:isEmailPublishedForNewUser',
     );
     );
+    this.readOnly = configManager.getConfig('customize:isReadOnlyForNewUser');
 
 
     this.save((err, userData) => {
     this.save((err, userData) => {
       userEvent.emit('activated', userData);
       userEvent.emit('activated', userData);
@@ -613,6 +614,9 @@ const factory = (crowi) => {
       newUser.lang = globalLang;
       newUser.lang = globalLang;
     }
     }
 
 
+    newUser.readOnly =
+      configManager.getConfig('customize:isReadOnlyForNewUser') ?? false;
+
     try {
     try {
       const newUserData = await newUser.save();
       const newUserData = await newUser.save();
       return {
       return {
@@ -703,6 +707,9 @@ const factory = (crowi) => {
       'customize:isEmailPublishedForNewUser',
       'customize:isEmailPublishedForNewUser',
     );
     );
 
 
+    newUser.readOnly =
+      configManager.getConfig('customize:isReadOnlyForNewUser') ?? false;
+
     const globalLang = configManager.getConfig('app:globalLang');
     const globalLang = configManager.getConfig('app:globalLang');
     if (globalLang != null) {
     if (globalLang != null) {
       newUser.lang = globalLang;
       newUser.lang = globalLang;

+ 5 - 0
apps/app/src/server/service/config-manager/config-definition.ts

@@ -200,6 +200,7 @@ export const CONFIG_KEYS = [
 
 
   // Customize Settings
   // Customize Settings
   'customize:isEmailPublishedForNewUser',
   'customize:isEmailPublishedForNewUser',
+  'customize:isReadOnlyForNewUser',
   'customize:css',
   'customize:css',
   'customize:script',
   'customize:script',
   'customize:noscript',
   'customize:noscript',
@@ -918,6 +919,10 @@ export const CONFIG_DEFINITIONS = {
     envVarName: 'DEFAULT_EMAIL_PUBLISHED',
     envVarName: 'DEFAULT_EMAIL_PUBLISHED',
     defaultValue: true,
     defaultValue: true,
   }),
   }),
+  'customize:isReadOnlyForNewUser': defineConfig<boolean>({
+    envVarName: 'DEFAULT_USER_READONLY',
+    defaultValue: false,
+  }),
   'customize:css': defineConfig<string | undefined>({
   'customize:css': defineConfig<string | undefined>({
     defaultValue: undefined,
     defaultValue: undefined,
   }),
   }),