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

Merge pull request #2931 from weseek/fix/hide-Create-Page-in-forbidden-page

delete "create page " in forbidden page
Yuki Takei 5 лет назад
Родитель
Сommit
e01f86f8df

+ 5 - 1
src/client/js/app.jsx

@@ -80,7 +80,11 @@ Object.assign(componentMappings, {
 
   'not-found-page': <NotFoundPage />,
 
-  'not-found-alert': <NotFoundAlert onPageCreateClicked={navigationContainer.setEditorMode} />,
+  'not-found-alert': <NotFoundAlert
+    onPageCreateClicked={navigationContainer.setEditorMode}
+    isForbidden={pageContainer.state.isForbidden}
+    isNotCreatable={pageContainer.state.isNotCreatable}
+  />,
 
   'page-timeline': <PageTimeline />,
 

+ 0 - 2
src/client/js/components/Navbar/GrowiSubNavigation.jsx

@@ -147,8 +147,6 @@ const GrowiSubNavigation = (props) => {
   const isUserPage = pageUser != null;
   const isPageInTrash = isTrashPage(path);
 
-  console.log(isPageForbidden);
-
   function onThreeStrandedButtonClicked(viewType) {
     navigationContainer.setEditorMode(viewType);
   }

+ 7 - 1
src/client/js/components/Page/NotFoundAlert.jsx

@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
 import { withTranslation } from 'react-i18next';
 
 const NotFoundAlert = (props) => {
-  const { t } = props;
+  const { t, isForbidden, isNotCreatable } = props;
   function clickHandler(viewType) {
     if (props.onPageCreateClicked === null) {
       return;
@@ -11,6 +11,10 @@ const NotFoundAlert = (props) => {
     props.onPageCreateClicked(viewType);
   }
 
+  if (isForbidden || isNotCreatable) {
+    return null;
+  }
+
   return (
     <div className="border border-info m-4 p-3">
       <div className="col-md-12 p-0">
@@ -35,6 +39,8 @@ const NotFoundAlert = (props) => {
 NotFoundAlert.propTypes = {
   t: PropTypes.func.isRequired, // i18next
   onPageCreateClicked: PropTypes.func,
+  isForbidden: PropTypes.bool.isRequired,
+  isNotCreatable: PropTypes.bool.isRequired,
 };
 
 export default withTranslation()(NotFoundAlert);

+ 2 - 2
src/client/js/services/PageContainer.js

@@ -58,10 +58,10 @@ export default class PageContainer extends Container {
       sumOfBookmarks: 0,
       createdAt: mainContent.getAttribute('data-page-created-at'),
       updatedAt: mainContent.getAttribute('data-page-updated-at'),
-      isForbidden:  JSON.parse(mainContent.getAttribute('data-page-is-forbidden')),
+      isForbidden: JSON.parse(mainContent.getAttribute('data-page-is-forbidden')),
       isDeleted:  JSON.parse(mainContent.getAttribute('data-page-is-deleted')),
       isDeletable:  JSON.parse(mainContent.getAttribute('data-page-is-deletable')),
-      isCreatable: JSON.parse(mainContent.getAttribute('data-page-is-creatable')),
+      isNotCreatable: JSON.parse(mainContent.getAttribute('data-page-is-not-creatable')),
       isAbleToDeleteCompletely:  JSON.parse(mainContent.getAttribute('data-page-is-able-to-delete-completely')),
       pageUser: JSON.parse(mainContent.getAttribute('data-page-user')),
       tags: null,

+ 0 - 1
src/server/views/layout-growi/forbidden.html

@@ -5,7 +5,6 @@
   {% include '../widget/page_alerts.html' %}
 {% endblock %}
 
-
 {% block content_main %}
   <div class="row">
     <div class="col grw-page-content-container">

+ 1 - 0
src/server/views/widget/forbidden_content.html

@@ -11,6 +11,7 @@
   data-path="{{ encodeURI(path) }}"
   data-current-user="{% if user %}{{ user._id.toString() }}{% endif %}"
   data-page-is-forbidden="true"
+  data-page-is-not-creatable="true"
   >
 
   <div class="row row-alerts d-edit-none">

+ 1 - 1
src/server/views/widget/not_creatable_content.html

@@ -10,7 +10,7 @@
 <div id="content-main" class="content-main page-list"
   data-path="{{ encodeURI(path) }}"
   data-current-user="{% if user %}{{ user._id.toString() }}{% endif %}"
-  data-page-is-creatable="true"
+  data-page-is-not-creatable="true"
   ></div>
 
 </div>

+ 1 - 1
src/server/views/widget/page_content.html

@@ -17,7 +17,7 @@
   data-page-is-forbidden="false"
   data-page-is-deleted="{% if page.isDeleted() %}true{% else %}false{% endif %}"
   data-page-is-deletable="{% if isDeletablePage() %}true{% else %}false{% endif %}"
-  data-page-is-creatable="false"
+  data-page-is-not-creatable="false"
   data-page-is-able-to-delete-completely="{% if user.canDeleteCompletely(page.creator._id) %}true{% else %}false{% endif %}"
   data-slack-channels="{{ slack|default('') }}"
   data-page-created-at="{% if page %}{{ page.createdAt|datetz('Y/m/d H:i:s') }}{% endif %}"