mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
(core) AdminPanel: hide the enterprise toggle in core and grist-ee images
Summary: In the pure OSS `grist-oss` image, the `ActivationPage` module from stubs is used, as the `ext` code is completely missing. We can easily just always return `false` here. In the case when the `ext` directory exists, this may mean we're in the standard `grist` image or the `grist-ee` image. The latter is distinguished by having `GRIST_FORCE_ENABLE_ENTERPRISE` so we check if that's on, and hide the toggle accordingly if so. Test Plan: Use these changes to build the three Docker images (`grist-oss`, `grist`, and `grist-ee`) and verify that only `grist` shows the toggle. Reviewers: jarek Reviewed By: jarek Subscribers: jarek Differential Revision: https://phab.getgrist.com/D4321
This commit is contained in:
parent
0a78cdbaab
commit
54502280de
@ -26,6 +26,7 @@ import {Computed, Disposable, dom, IDisposable,
|
||||
IDisposableOwner, MultiHolder, Observable, styled} from 'grainjs';
|
||||
import {AdminSection, AdminSectionItem, HidableToggle} from 'app/client/ui/AdminPanelCss';
|
||||
import {getAdminPanelName} from 'app/client/ui/AdminPanelName';
|
||||
import {showEnterpriseToggle} from 'app/client/ui/ActivationPage';
|
||||
|
||||
const t = makeT('AdminPanel');
|
||||
|
||||
@ -158,13 +159,7 @@ Please log in as an administrator.`)),
|
||||
description: t('Current version of Grist'),
|
||||
value: cssValueLabel(`Version ${version.version}`),
|
||||
}),
|
||||
dom.create(AdminSectionItem, {
|
||||
id: 'enterprise',
|
||||
name: t('Enterprise'),
|
||||
description: t('Enable Grist Enterprise'),
|
||||
value: dom.create(HidableToggle, this._toggleEnterprise.getEnterpriseToggleObservable()),
|
||||
expandedContent: this._toggleEnterprise.buildEnterpriseSection(),
|
||||
}),
|
||||
this._maybeAddEnterpriseToggle(),
|
||||
this._buildUpdates(owner),
|
||||
]),
|
||||
dom.create(AdminSection, t('Self Checks'), [
|
||||
@ -186,6 +181,19 @@ Please log in as an administrator.`)),
|
||||
];
|
||||
}
|
||||
|
||||
private _maybeAddEnterpriseToggle() {
|
||||
if (!showEnterpriseToggle()) {
|
||||
return null;
|
||||
}
|
||||
return dom.create(AdminSectionItem, {
|
||||
id: 'enterprise',
|
||||
name: t('Enterprise'),
|
||||
description: t('Enable Grist Enterprise'),
|
||||
value: dom.create(HidableToggle, this._toggleEnterprise.getEnterpriseToggleObservable()),
|
||||
expandedContent: this._toggleEnterprise.buildEnterpriseSection(),
|
||||
});
|
||||
}
|
||||
|
||||
private _buildSandboxingDisplay(owner: IDisposableOwner) {
|
||||
return dom.domComputed(
|
||||
use => {
|
||||
|
@ -810,6 +810,9 @@ export interface GristLoadConfig {
|
||||
// The Grist deployment type (e.g. core, enterprise).
|
||||
deploymentType?: GristDeploymentType;
|
||||
|
||||
// Force enterprise deployment? For backwards compatibility with grist-ee Docker image
|
||||
forceEnableEnterprise?: boolean;
|
||||
|
||||
// The org containing public templates and tutorials.
|
||||
templateOrg?: string|null;
|
||||
|
||||
|
@ -96,6 +96,7 @@ export function makeGristConfig(options: MakeGristConfigOptions): GristLoadConfi
|
||||
userLocale: (req as RequestWithLogin | undefined)?.user?.options?.locale,
|
||||
telemetry: server?.getTelemetry().getTelemetryConfig(req as RequestWithLogin | undefined),
|
||||
deploymentType: server?.getDeploymentType(),
|
||||
forceEnableEnterprise: isAffirmative(process.env.GRIST_FORCE_ENABLE_ENTERPRISE),
|
||||
templateOrg: getTemplateOrg(),
|
||||
onboardingTutorialDocId: getOnboardingTutorialDocId(),
|
||||
canCloseAccount: isAffirmative(process.env.GRIST_ACCOUNT_CLOSE),
|
||||
|
@ -5,3 +5,8 @@ import {
|
||||
export function getActivationPage(): IActivationPageCreator {
|
||||
return DefaultActivationPage;
|
||||
}
|
||||
|
||||
export function showEnterpriseToggle() {
|
||||
// To be changed by enterprise module
|
||||
return false;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user