mirror of
https://github.com/haiwen/seahub.git
synced 2025-08-01 23:38:37 +00:00
delete user permission 'can_use_wiki' (#4148)
This commit is contained in:
parent
a30d0d3469
commit
1790940bc8
@ -2,7 +2,7 @@ import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Link } from '@reach/router';
|
||||
import { Badge } from 'reactstrap';
|
||||
import { gettext, siteRoot, enableWiki, canAddRepo, canGenerateShareLink, canGenerateUploadLink, canInvitePeople } from '../utils/constants';
|
||||
import { gettext, siteRoot, canPublishRepo, canAddRepo, canGenerateShareLink, canGenerateUploadLink, canInvitePeople } from '../utils/constants';
|
||||
import { seafileAPI } from '../utils/seafile-api';
|
||||
import { Utils } from '../utils/utils';
|
||||
import toaster from './toast';
|
||||
@ -229,7 +229,7 @@ class MainSideNav extends React.Component {
|
||||
</Link>
|
||||
</li>
|
||||
}
|
||||
{enableWiki &&
|
||||
{canPublishRepo &&
|
||||
<li className="nav-item">
|
||||
<Link className={`nav-link ellipsis ${this.getActiveClass('published')}`} to={siteRoot + 'published/'} title={gettext('Published Libraries')} onClick={(e) => this.tabItemClick(e, 'published')}>
|
||||
<span className="sf2-icon-wiki-view" aria-hidden="true"></span>
|
||||
|
@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
|
||||
import { Button } from 'reactstrap';
|
||||
import MediaQuery from 'react-responsive';
|
||||
import { seafileAPI } from '../../utils/seafile-api';
|
||||
import { gettext, loginUrl, canPublishRepo } from '../../utils/constants';
|
||||
import { gettext, loginUrl } from '../../utils/constants';
|
||||
import toaster from '../../components/toast';
|
||||
import ModalPortal from '../../components/modal-portal';
|
||||
import EmptyTip from '../../components/empty-tip';
|
||||
@ -130,14 +130,14 @@ class Wikis extends Component {
|
||||
<div className="cur-view-toolbar">
|
||||
<span className="sf2-icon-menu side-nav-toggle hidden-md-up d-md-none" title="Side Nav Menu" onClick={this.props.onShowSidePanel}></span>
|
||||
<div className="operation">
|
||||
{canPublishRepo && <Fragment>
|
||||
<Fragment>
|
||||
<MediaQuery query="(min-width: 768px)">
|
||||
<Button className="btn btn-secondary operation-item" onClick={this.onSelectToggle}>{gettext('Publish a Library')}</Button>
|
||||
</MediaQuery>
|
||||
<MediaQuery query="(max-width: 767.8px)">
|
||||
<span className="sf2-icon-plus mobile-toolbar-icon" title={gettext('Publish a Library')} onClick={this.onSelectToggle}></span>
|
||||
</MediaQuery>
|
||||
</Fragment>}
|
||||
</Fragment>
|
||||
</div>
|
||||
</div>
|
||||
<CommonToolbar onSearchedClick={this.props.onSearchedClick} />
|
||||
|
@ -44,7 +44,6 @@ export const shareLinkExpireDaysMin = window.app.pageOptions.shareLinkExpireDays
|
||||
export const shareLinkExpireDaysMax = window.app.pageOptions.shareLinkExpireDaysMax;
|
||||
export const shareLinkExpireDaysDefault = window.app.pageOptions.shareLinkExpireDaysDefault;
|
||||
export const maxFileName = window.app.pageOptions.maxFileName;
|
||||
export const enableWiki = window.app.pageOptions.enableWiki;
|
||||
export const canPublishRepo = window.app.pageOptions.canPublishRepo;
|
||||
export const enableEncryptedLibrary = window.app.pageOptions.enableEncryptedLibrary;
|
||||
export const enableRepoHistorySetting = window.app.pageOptions.enableRepoHistorySetting;
|
||||
|
@ -216,14 +216,8 @@ class UserPermissions(object):
|
||||
def storage_ids(self):
|
||||
return self._get_perm_by_roles('storage_ids')
|
||||
|
||||
def can_use_wiki(self):
|
||||
if not settings.ENABLE_WIKI:
|
||||
return False
|
||||
|
||||
return self._get_perm_by_roles('can_use_wiki')
|
||||
|
||||
def can_publish_repo(self):
|
||||
if not self.can_use_wiki():
|
||||
if not settings.ENABLE_WIKI:
|
||||
return False
|
||||
|
||||
return self._get_perm_by_roles('can_publish_repo')
|
||||
|
@ -40,7 +40,6 @@ DEFAULT_ENABLED_ROLE_PERMISSIONS = {
|
||||
'can_export_files_via_mobile_client': True,
|
||||
'storage_ids': [],
|
||||
'role_quota': '',
|
||||
'can_use_wiki': True,
|
||||
'can_publish_repo': True,
|
||||
},
|
||||
GUEST_USER: {
|
||||
@ -60,7 +59,6 @@ DEFAULT_ENABLED_ROLE_PERMISSIONS = {
|
||||
'can_export_files_via_mobile_client': False,
|
||||
'storage_ids': [],
|
||||
'role_quota': '',
|
||||
'can_use_wiki': False,
|
||||
'can_publish_repo': False,
|
||||
},
|
||||
}
|
||||
|
@ -82,7 +82,6 @@
|
||||
shareLinkExpireDaysMin: "{{ share_link_expire_days_min }}",
|
||||
shareLinkExpireDaysMax: "{{ share_link_expire_days_max }}",
|
||||
maxFileName: "{{ max_file_name }}",
|
||||
enableWiki: {% if user.permissions.can_use_wiki %} true {% else %} false {% endif %},
|
||||
canPublishRepo: {% if user.permissions.can_publish_repo %} true {% else %} false {% endif %},
|
||||
enableEncryptedLibrary: {% if enable_encrypted_library %} true {% else %} false {% endif %},
|
||||
enableRepoHistorySetting: {% if enable_repo_history_setting %} true {% else %} false {% endif %},
|
||||
|
@ -747,7 +747,6 @@ def libraries(request):
|
||||
"allow_public_share": allow_public_share,
|
||||
"guide_enabled": guide_enabled,
|
||||
"sub_lib_enabled": sub_lib_enabled,
|
||||
'enable_wiki': request.user.permissions.can_use_wiki(),
|
||||
'enable_upload_folder': settings.ENABLE_UPLOAD_FOLDER,
|
||||
'enable_resumable_fileupload': settings.ENABLE_RESUMABLE_FILEUPLOAD,
|
||||
'resumable_upload_file_block_size': settings.RESUMABLE_UPLOAD_FILE_BLOCK_SIZE,
|
||||
|
@ -13,9 +13,6 @@ from seahub.wiki.models import Wiki
|
||||
from seahub.role_permissions.settings import ENABLED_ROLE_PERMISSIONS
|
||||
from seahub.test_utils import BaseTestCase
|
||||
|
||||
TEST_CAN_USE_WIKI_FALSE = copy.deepcopy(ENABLED_ROLE_PERMISSIONS)
|
||||
TEST_CAN_USE_WIKI_FALSE['default']['can_use_wiki'] = False
|
||||
|
||||
TEST_CAN_PUBLISH_REPO_FALSE = copy.deepcopy(ENABLED_ROLE_PERMISSIONS)
|
||||
TEST_CAN_PUBLISH_REPO_FALSE['default']['can_publish_repo'] = False
|
||||
|
||||
@ -96,13 +93,6 @@ class WikisViewTest(BaseTestCase):
|
||||
})
|
||||
self.assertEqual(403, resp.status_code)
|
||||
|
||||
def test_403_when_add_wiki_with_can_use_wiki_false(self):
|
||||
with patch('seahub.role_permissions.utils.ENABLED_ROLE_PERMISSIONS', TEST_CAN_USE_WIKI_FALSE):
|
||||
resp = self.client.post(self.url, {
|
||||
'repo_id': self.repo.id,
|
||||
})
|
||||
self.assertEqual(403, resp.status_code)
|
||||
|
||||
def test_403_when_add_wiki_with_can_generate_share_link_false(self):
|
||||
with patch('seahub.role_permissions.utils.ENABLED_ROLE_PERMISSIONS', TEST_CAN_GENERATE_SHARE_LINK):
|
||||
resp = self.client.post(self.url, {
|
||||
|
@ -13,8 +13,8 @@ from mock import patch
|
||||
TEST_CAN_ADD_PUBLICK_REPO_TRUE = copy.deepcopy(ENABLED_ROLE_PERMISSIONS)
|
||||
TEST_CAN_ADD_PUBLICK_REPO_TRUE['default']['can_add_public_repo'] = True
|
||||
|
||||
TEST_PUBLISH_REPO_CAN_USE_WIKI_FALSE = copy.deepcopy(ENABLED_ROLE_PERMISSIONS)
|
||||
TEST_PUBLISH_REPO_CAN_USE_WIKI_FALSE['default']['can_use_wiki'] = False
|
||||
TEST_PUBLISH_REPO_CAN_PUBLISH_REPO_FALSE = copy.deepcopy(ENABLED_ROLE_PERMISSIONS)
|
||||
TEST_PUBLISH_REPO_CAN_PUBLISH_REPO_FALSE['default']['can_publish_repo'] = False
|
||||
|
||||
CLOUD_MODE_TRUE = True
|
||||
MULTI_TENANCY_TRUE = True
|
||||
@ -108,20 +108,20 @@ class UserPermissionsTest(BaseTestCase):
|
||||
assert self.user.permissions.can_add_public_repo() is False
|
||||
|
||||
def test_can_publish_repo_permission(self):
|
||||
# enableWIKI = True, and can_use_wiki = True
|
||||
# enableWIKI = True, and can_publish_repo = True
|
||||
assert self.user.permissions._get_perm_by_roles('can_publish_repo') is True
|
||||
assert self.user.permissions.can_publish_repo() is True
|
||||
|
||||
@override_settings(ENABLE_WIKI=False)
|
||||
def test_can_publish_repo_permission_with_enable_wiki_False(self):
|
||||
# enableWIKI = False, and can_use_wiki = True
|
||||
# enableWIKI = False, and can_publish_repo = True
|
||||
assert self.user.permissions._get_perm_by_roles('can_publish_repo') is True
|
||||
assert self.user.permissions.can_publish_repo() is False
|
||||
|
||||
def test_can_publish_repo_permission_with_can_use_wiki_False(self):
|
||||
# enableWIKI = True, and can_use_wiki = False
|
||||
with patch('seahub.role_permissions.utils.ENABLED_ROLE_PERMISSIONS', TEST_PUBLISH_REPO_CAN_USE_WIKI_FALSE):
|
||||
assert self.user.permissions._get_perm_by_roles('can_publish_repo') is True
|
||||
def test_can_publish_repo_permission_with_can_publish_repo_False(self):
|
||||
# enableWIKI = True, and can_publish_repo = False
|
||||
with patch('seahub.role_permissions.utils.ENABLED_ROLE_PERMISSIONS', TEST_PUBLISH_REPO_CAN_PUBLISH_REPO_FALSE):
|
||||
assert self.user.permissions._get_perm_by_roles('can_publish_repo') is False
|
||||
assert self.user.permissions.can_publish_repo() is False
|
||||
|
||||
|
||||
|
@ -11,4 +11,4 @@ class UtilsTest(BaseTestCase):
|
||||
assert DEFAULT_USER in get_available_roles()
|
||||
|
||||
def test_get_enabled_role_permissions_by_role(self):
|
||||
assert len(get_enabled_role_permissions_by_role(DEFAULT_USER).keys()) == 18
|
||||
assert len(get_enabled_role_permissions_by_role(DEFAULT_USER).keys()) == 17
|
||||
|
Loading…
Reference in New Issue
Block a user