[MM-64355] Disable server management in the Settings Modal when disabled via group policy (#3430)
* [MM-64355] Disable server management in the Settings Modal when disabled via group policy * Fix to disallow deleting predefined servers * Fix lint
This commit is contained in:
@@ -23,6 +23,7 @@ export default function ServerSetting() {
|
|||||||
const [servers, setServers] = useState<UniqueServerWithPermissions[]>([]);
|
const [servers, setServers] = useState<UniqueServerWithPermissions[]>([]);
|
||||||
const [currentServer, setCurrentServer] = useState<UniqueServerWithPermissions>();
|
const [currentServer, setCurrentServer] = useState<UniqueServerWithPermissions>();
|
||||||
const [modal, setModal] = useState<Modal>();
|
const [modal, setModal] = useState<Modal>();
|
||||||
|
const [enableServerManagement, setEnableServerManagement] = useState<boolean>(false);
|
||||||
|
|
||||||
const reloadServers = useCallback(() => {
|
const reloadServers = useCallback(() => {
|
||||||
window.desktop.getUniqueServersWithPermissions().then(setServers);
|
window.desktop.getUniqueServersWithPermissions().then(setServers);
|
||||||
@@ -32,6 +33,10 @@ export default function ServerSetting() {
|
|||||||
const off = window.desktop.onReloadConfiguration(reloadServers);
|
const off = window.desktop.onReloadConfiguration(reloadServers);
|
||||||
reloadServers();
|
reloadServers();
|
||||||
|
|
||||||
|
window.desktop.getLocalConfiguration().then((config) => {
|
||||||
|
setEnableServerManagement(config.enableServerManagement);
|
||||||
|
});
|
||||||
|
|
||||||
return () => off();
|
return () => off();
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
@@ -116,16 +121,18 @@ export default function ServerSetting() {
|
|||||||
defaultMessage='Servers'
|
defaultMessage='Servers'
|
||||||
/>
|
/>
|
||||||
</h3>
|
</h3>
|
||||||
<button
|
{enableServerManagement &&
|
||||||
onClick={showAddServerModal}
|
<button
|
||||||
className='ServerSetting__addServer btn btn-sm btn-tertiary'
|
onClick={showAddServerModal}
|
||||||
>
|
className='ServerSetting__addServer btn btn-sm btn-tertiary'
|
||||||
<i className='icon icon-plus'/>
|
>
|
||||||
<FormattedMessage
|
<i className='icon icon-plus'/>
|
||||||
id='renderer.components.settingsPage.serverSetting.addAServer'
|
<FormattedMessage
|
||||||
defaultMessage='Add a server'
|
id='renderer.components.settingsPage.serverSetting.addAServer'
|
||||||
/>
|
defaultMessage='Add a server'
|
||||||
</button>
|
/>
|
||||||
|
</button>
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
{servers.length === 0 && (
|
{servers.length === 0 && (
|
||||||
<div className='ServerSetting__noServers'>
|
<div className='ServerSetting__noServers'>
|
||||||
@@ -136,12 +143,12 @@ export default function ServerSetting() {
|
|||||||
defaultMessage='No servers added'
|
defaultMessage='No servers added'
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='ServerSetting__noServersDescription'>
|
{enableServerManagement && <div className='ServerSetting__noServersDescription'>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id='renderer.components.settingsPage.serverSetting.noServers.description'
|
id='renderer.components.settingsPage.serverSetting.noServers.description'
|
||||||
defaultMessage="Add a server to connect to your team's communication hub"
|
defaultMessage="Add a server to connect to your team's communication hub"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>}
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div className='ServerSetting__serverList'>
|
<div className='ServerSetting__serverList'>
|
||||||
@@ -163,12 +170,14 @@ export default function ServerSetting() {
|
|||||||
>
|
>
|
||||||
<i className='icon icon-pencil-outline'/>
|
<i className='icon icon-pencil-outline'/>
|
||||||
</button>
|
</button>
|
||||||
<button
|
{enableServerManagement && !server.server.isPredefined &&
|
||||||
onClick={showRemoveServerModal(server)}
|
<button
|
||||||
className='ServerSetting__removeServer btn btn-icon btn-sm btn-tertiary btn-transparent btn-danger'
|
onClick={showRemoveServerModal(server)}
|
||||||
>
|
className='ServerSetting__removeServer btn btn-icon btn-sm btn-tertiary btn-transparent btn-danger'
|
||||||
<i className='icon icon-trash-can-outline'/>
|
>
|
||||||
</button>
|
<i className='icon icon-trash-can-outline'/>
|
||||||
|
</button>
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
)))}
|
)))}
|
||||||
</div>
|
</div>
|
||||||
|
Reference in New Issue
Block a user