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

refs 124384: fix ldap sync settings form error handling

Futa Arai 2 лет назад
Родитель
Сommit
1206dc12ab

+ 1 - 0
apps/app/public/static/locales/en_US/admin.json

@@ -1045,6 +1045,7 @@
     "management": "External Group Management",
     "execute_sync": "Execute Sync",
     "sync": "Sync",
+    "invalid_sync_settings": "Invalid sync settings",
     "ldap": {
       "group_sync_settings": "LDAP Group Sync Settings",
       "group_search_base_DN": "Group Search Base DN",

+ 1 - 0
apps/app/public/static/locales/ja_JP/admin.json

@@ -1053,6 +1053,7 @@
     "management": "外部グループ管理",
     "execute_sync": "同期実行",
     "sync": "同期",
+    "invalid_sync_settings": "同期設定に誤りがあります",
     "ldap": {
       "group_sync_settings": "LDAP グループ同期設定",
       "group_search_base_DN": "グループ検索ベース DN",

+ 1 - 0
apps/app/public/static/locales/zh_CN/admin.json

@@ -1053,6 +1053,7 @@
     "management": "External Group Management",
     "execute_sync": "Execute Sync",
     "sync": "Sync",
+    "invalid_sync_settings": "Invalid sync settings",
     "ldap": {
       "group_sync_settings": "LDAP Group Sync Settings",
       "group_search_base_DN": "Group Search Base DN",

+ 2 - 2
apps/app/src/components/Admin/UserGroup/ExternalUserGroup/LdapGroupSyncSettingsForm.tsx

@@ -37,8 +37,8 @@ export const LdapGroupSyncSettingsForm: FC = () => {
       await apiv3Put('/external-user-groups/ldap/sync-settings', formValues);
       toastSuccess(t('external_user_group.ldap.updated_group_sync_settings'));
     }
-    catch (err) {
-      toastError(err);
+    catch (errs) {
+      toastError(t(errs[0]?.message));
     }
   }, [formValues, t]);
 

+ 4 - 0
apps/app/src/server/models/config.ts

@@ -137,6 +137,10 @@ export const defaultCrowiConfigs: { [key: string]: any } = {
   'importer:esa:access_token': undefined,
   'importer:qiita:team_name': undefined,
   'importer:qiita:access_token': undefined,
+
+  'external-user-group:ldap:groupMembershipAttributeType': 'DN',
+  'external-user-group:ldap:autoGenerateUserOnGroupSync': false,
+  'external-user-group:ldap:preserveDeletedGroups': false,
   /* eslint-enable key-spacing */
 };
 

+ 1 - 1
apps/app/src/server/routes/apiv3/external-user-group.ts

@@ -50,7 +50,7 @@ module.exports = (crowi: Crowi): Router => {
   router.put('/ldap/sync-settings', loginRequiredStrictly, adminRequired, validators.ldapSyncSettings, async(req: AuthorizedRequest, res: ApiV3Response) => {
     const errors = validationResult(req);
     if (!errors.isEmpty()) {
-      return res.status(400).json({ error: 'invalid body params' });
+      return res.apiv3Err('external_user_group.invalid_sync_settings', 400);
     }
 
     const params = {