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

gc-1100-group-savecontroll-dev

TsuyoshiSuzukief 7 лет назад
Родитель
Сommit
596d29f478

+ 4 - 1
src/client/js/app.js

@@ -315,6 +315,8 @@ if (savePageControlsElem) {
   const grant = +savePageControlsElem.dataset.grant;
   const grantGroupId = savePageControlsElem.dataset.grantGroup;
   const grantGroupName = savePageControlsElem.dataset.grantGroupName;
+  // TODO 環境変数取得方法確認
+  const acl_enable = process.env.ACL_ENABLE == 'true' ? true : false;
   ReactDOM.render(
     <I18nextProvider i18n={i18n}>
       <SavePageControls crowi={crowi} onSubmit={saveWithSubmitButton}
@@ -324,7 +326,8 @@ if (savePageControlsElem) {
             }
           }}
           pageId={pageId} pagePath={pagePath} slackChannels={slackChannels}
-          grant={grant} grantGroupId={grantGroupId} grantGroupName={grantGroupName} />
+          grant={grant} grantGroupId={grantGroupId} grantGroupName={grantGroupName} acl_enable={acl_enable}
+           />
     </I18nextProvider>,
     savePageControlsElem
   );

+ 16 - 11
src/client/js/components/SavePageControls.jsx

@@ -42,6 +42,7 @@ class SavePageControls extends React.PureComponent {
   render() {
     const { t } = this.props;
 
+    const acl_enable = this.props.acl_enable;
     const label = this.state.pageId == null ? t('Create') : t('Update');
 
     return (
@@ -56,17 +57,20 @@ class SavePageControls extends React.PureComponent {
               slackChannels={this.props.slackChannels} />
         </div>
 
-        <div className="mr-2">
-          <GrantSelector crowi={this.props.crowi}
-              ref={(elem) => {
-                if (this.refs.grantSelector == null) {
-                  this.refs.grantSelector = elem.getWrappedInstance();
-                }
-              }}
-              grant={this.props.grant}
-              grantGroupId={this.props.grantGroupId}
-              grantGroupName={this.props.grantGroupName} />
-        </div>
+
+        {acl_enable &&
+          <div className="mr-2">
+            <GrantSelector crowi={this.props.crowi}
+                ref={(elem) => {
+                  if (this.refs.grantSelector == null) {
+                    this.refs.grantSelector = elem.getWrappedInstance();
+                  }
+                }}
+                grant={this.props.grant}
+                grantGroupId={this.props.grantGroupId}
+                grantGroupName={this.props.grantGroupName} />
+          </div>
+        }
 
         <button className="btn btn-primary btn-submit" onClick={this.submit}>{label}</button>
       </div>
@@ -86,6 +90,7 @@ SavePageControls.propTypes = {
   grant: PropTypes.number,
   grantGroupId: PropTypes.string,
   grantGroupName: PropTypes.string,
+  acl_enable: PropTypes.bool,
 };
 
 export default translate()(SavePageControls);

+ 2 - 0
src/server/routes/admin.js

@@ -670,10 +670,12 @@ module.exports = function(crowi, app) {
   actions.userGroup = {};
   actions.userGroup.index = function(req, res) {
     var page = parseInt(req.query.page) || 1;
+    const acl_enable = process.env.ACL_ENABLE == 'true' ? true : false;
     var renderVar = {
       userGroups: [],
       userGroupRelations: new Map(),
       pager: null,
+      acl_enable,
     };
 
     UserGroup.findUserGroupsWithPagination({ page: page })

+ 10 - 2
src/server/views/admin/user-groups.html

@@ -33,7 +33,11 @@
 
     <div class="col-md-9">
       <p>
-        <button  data-toggle="collapse" class="btn btn-default" href="#createGroupForm">新規グループの作成</button>
+        {% if acl_enable %}
+          <button  data-toggle="collapse" class="btn btn-default" href="#createGroupForm">新規グループの作成</button>
+        {% else %}
+          現在の設定では新規グループの作成はできません。
+        {% endif %}
       </p>
       <form role="form" action="/admin/user-group/create" method="post">
         <div id="createGroupForm" class="collapse">
@@ -105,7 +109,7 @@
         <!-- /.modal-dialog -->
       </div>
 
-      <h2>グループ一覧</h2>
+      <h2>グループ一覧{{acl_enable}}</h2>
 
       <table class="table table-bordered table-user-list">
         <thead>
@@ -131,6 +135,7 @@
               {% endfor %}
             </ul></td>
             <td>{{ sGroup.createdAt|date('Y-m-d', sGroup.createdAt.getTimezoneOffset()) }}</td>
+            {% if acl_enable %}
             <td>
               <div class="btn-group admin-group-menu">
                 <button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown">
@@ -156,6 +161,9 @@
                 </ul>
               </div>
             </td>
+            {% else %}
+              <td></td>
+            {% endif %}
           </tr>
           {% endfor %}
         </tbody>