itizawa 6 лет назад
Родитель
Сommit
fbbfe1e637
2 измененных файлов с 14 добавлено и 4 удалено
  1. 13 3
      src/client/js/components/Admin/Users/UserInviteModal.jsx
  2. 1 1
      src/server/routes/index.js

+ 13 - 3
src/client/js/components/Admin/Users/UserInviteModal.jsx

@@ -5,6 +5,9 @@ import { withTranslation } from 'react-i18next';
 import Button from 'react-bootstrap/es/Button';
 import Button from 'react-bootstrap/es/Button';
 import Modal from 'react-bootstrap/es/Modal';
 import Modal from 'react-bootstrap/es/Modal';
 
 
+import { toastSuccess, toastError } from '../../../util/apiNotification';
+
+
 import { createSubscribedElement } from '../../UnstatedUtils';
 import { createSubscribedElement } from '../../UnstatedUtils';
 import AppContainer from '../../../services/AppContainer';
 import AppContainer from '../../../services/AppContainer';
 
 
@@ -23,9 +26,16 @@ class UserInviteModal extends React.Component {
     this.handleCheckBox = this.handleCheckBox.bind(this);
     this.handleCheckBox = this.handleCheckBox.bind(this);
   }
   }
 
 
-  handleSubmit() {
-    // TODO GW-165 新規ユーザーを招待するAPIを叩く
-    console.log('push submit');
+  async handleSubmit() {
+    const { appContainer } = this.props;
+
+    try {
+      await appContainer.apiPost('/admin/user/invite', { email: this.state.email, sendEmail: this.state.sendEmail });
+      toastSuccess('Inviting user success');
+    }
+    catch (err) {
+      toastError(err);
+    }
   }
   }
 
 
   handleInput(event) {
   handleInput(event) {

+ 1 - 1
src/server/routes/index.js

@@ -118,7 +118,7 @@ module.exports = function(crowi, app) {
   app.post('/admin/global-notification/:id/remove', loginRequired() , adminRequired , admin.globalNotification.remove);
   app.post('/admin/global-notification/:id/remove', loginRequired() , adminRequired , admin.globalNotification.remove);
 
 
   app.get('/admin/users'                , loginRequired() , adminRequired , admin.user.index);
   app.get('/admin/users'                , loginRequired() , adminRequired , admin.user.index);
-  app.post('/admin/user/invite'         , form.admin.userInvite ,  loginRequired() , adminRequired , csrf, admin.user.invite);
+  app.post('/_api/admin/user/invite'         , form.admin.userInvite ,  loginRequired() , adminRequired , csrf, admin.user.invite);
   app.post('/admin/user/:id/makeAdmin'  , loginRequired() , adminRequired , csrf, admin.user.makeAdmin);
   app.post('/admin/user/:id/makeAdmin'  , loginRequired() , adminRequired , csrf, admin.user.makeAdmin);
   app.post('/admin/user/:id/removeFromAdmin', loginRequired() , adminRequired , admin.user.removeFromAdmin);
   app.post('/admin/user/:id/removeFromAdmin', loginRequired() , adminRequired , admin.user.removeFromAdmin);
   app.post('/admin/user/:id/activate'   , loginRequired() , adminRequired , csrf, admin.user.activate);
   app.post('/admin/user/:id/activate'   , loginRequired() , adminRequired , csrf, admin.user.activate);