mirror of
https://github.com/laurent22/joplin.git
synced 2026-10-27 03:36:19 +00:00
All: Allow using share permission with Joplin Server Business
This commit is contained in:
1 parent
9f36b44842
commit
f3409600e1
6 files changed
+15
-7
No files matched your search
@@ -1364,6 +1364,7 @@ packages/lib/models/utils/getCanBeCollapsedFolderIds.js
|
||||
packages/lib/models/utils/getCollator.js
|
||||
packages/lib/models/utils/getConflictFolderId.js
|
||||
packages/lib/models/utils/isItemId.js
|
||||
packages/lib/models/utils/isJoplinServerVariant.js
|
||||
packages/lib/models/utils/itemCanBeEncrypted.js
|
||||
packages/lib/models/utils/onFolderDrop.test.js
|
||||
packages/lib/models/utils/onFolderDrop.js
|
||||
|
||||
@@ -1336,6 +1336,7 @@ packages/lib/models/utils/getCanBeCollapsedFolderIds.js
|
||||
packages/lib/models/utils/getCollator.js
|
||||
packages/lib/models/utils/getConflictFolderId.js
|
||||
packages/lib/models/utils/isItemId.js
|
||||
packages/lib/models/utils/isJoplinServerVariant.js
|
||||
packages/lib/models/utils/itemCanBeEncrypted.js
|
||||
packages/lib/models/utils/onFolderDrop.test.js
|
||||
packages/lib/models/utils/onFolderDrop.js
|
||||
|
||||
@@ -20,6 +20,7 @@ import { reg } from '@joplin/lib/registry';
|
||||
import useAsyncEffect, { AsyncEffectEvent } from '@joplin/lib/hooks/useAsyncEffect';
|
||||
import { ChangeEvent, Dropdown, DropdownOptions, DropdownVariant } from '../Dropdown/Dropdown';
|
||||
import shim from '@joplin/lib/shim';
|
||||
import { SettingsRecord } from '@joplin/lib/models/Setting';
|
||||
|
||||
const logger = Logger.create('ShareFolderDialog');
|
||||
|
||||
@@ -421,10 +422,14 @@ function ShareFolderDialog(props: Props) {
|
||||
}
|
||||
|
||||
const mapStateToProps = (state: State) => {
|
||||
const getCanUseSharePermissions = (settings: Partial<SettingsRecord>) => {
|
||||
return [9, 10, 11].includes(settings['sync.target']) && !!settings['sync.10.canUseSharePermissions'];
|
||||
};
|
||||
|
||||
return {
|
||||
shares: state.shareService.shares,
|
||||
shareUsers: state.shareService.shareUsers,
|
||||
canUseSharePermissions: state.settings['sync.target'] === 10 && state.settings['sync.10.canUseSharePermissions'],
|
||||
canUseSharePermissions: getCanUseSharePermissions(state.settings),
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
export default (syncTargetId: number) => {
|
||||
return [9, 10, 11].includes(syncTargetId);
|
||||
};
|
||||
@@ -7,6 +7,7 @@ import ItemChange from '../ItemChange';
|
||||
import Setting from '../Setting';
|
||||
import { checkObjectHasProperties } from '@joplin/utils/object';
|
||||
import isTrashableItem from '../../services/trash/isTrashableItem';
|
||||
import isJoplinServerVariant from './isJoplinServerVariant';
|
||||
|
||||
const logger = Logger.create('models/utils/readOnly');
|
||||
|
||||
@@ -21,7 +22,7 @@ export interface ItemSlice {
|
||||
// synchronising with Joplin Cloud or if not sharing any notebook.
|
||||
export const needsShareReadOnlyChecks = (itemType: ModelType, changeSource: number, shareState: ShareState, disableReadOnlyCheck = false) => {
|
||||
if (disableReadOnlyCheck) return false;
|
||||
if (Setting.value('sync.target') !== 10) return false;
|
||||
if (!isJoplinServerVariant(Setting.value('sync.target'))) return false;
|
||||
if (changeSource === ItemChange.SOURCE_SYNC) return false;
|
||||
if (!Setting.value('sync.userId')) return false;
|
||||
if (![ModelType.Note, ModelType.Folder, ModelType.Resource].includes(itemType)) return false;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import SyncTargetRegistry from '../SyncTargetRegistry';
|
||||
import eventManager, { EventName } from '../eventManager';
|
||||
import Setting from '../models/Setting';
|
||||
import isJoplinServerVariant from '../models/utils/isJoplinServerVariant';
|
||||
import { reg } from '../registry';
|
||||
import Logger from '@joplin/utils/Logger';
|
||||
|
||||
@@ -17,10 +17,7 @@ interface UserApiResponse {
|
||||
}
|
||||
|
||||
const userFetcher = async () => {
|
||||
|
||||
if (Setting.value('sync.target') !== SyncTargetRegistry.nameToId('joplinCloud')) {
|
||||
return;
|
||||
}
|
||||
if (!isJoplinServerVariant(Setting.value('sync.target'))) return;
|
||||
|
||||
const syncTarget = reg.syncTarget();
|
||||
const fileApi = await syncTarget.fileApi();
|
||||
|
||||
Reference in new issue
Block a user