mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 18:18:55 +00:00
feat(apple): Allow MDM override of internet resource enabled (#9122)
All the MDM configuration to shadow the `internetResourceEnabled` state. Related: #4505 --------- Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
This commit is contained in:
@@ -526,7 +526,13 @@ public final class MenuBar: NSObject, ObservableObject {
|
||||
}
|
||||
|
||||
func internetResourceToggleTitle() -> String {
|
||||
store.configuration?.internetResourceEnabled == true ? "Disable this resource" : "Enable this resource"
|
||||
let isEnabled = store.configuration?.internetResourceEnabled == true
|
||||
|
||||
if store.configuration?.isOverridden(Configuration.Keys.internetResourceEnabled) ?? false {
|
||||
return isEnabled ? "Managed: Enabled" : "Managed: Disabled"
|
||||
}
|
||||
|
||||
return isEnabled ? "Disable this resource" : "Enable this resource"
|
||||
}
|
||||
|
||||
// TODO: Refactor this when refactoring for macOS 13
|
||||
@@ -618,11 +624,19 @@ public final class MenuBar: NSObject, ObservableObject {
|
||||
// Resource enable / disable toggle
|
||||
subMenu.addItem(NSMenuItem.separator())
|
||||
let enableToggle = NSMenuItem()
|
||||
enableToggle.action = #selector(internetResourceToggle(_:))
|
||||
enableToggle.title = internetResourceToggleTitle()
|
||||
enableToggle.toolTip = "Enable or disable resource"
|
||||
enableToggle.isEnabled = true
|
||||
enableToggle.target = self
|
||||
|
||||
if store.configuration?.isOverridden(Configuration.Keys.internetResourceEnabled) ?? false {
|
||||
enableToggle.toolTip = "This setting is managed by your organization"
|
||||
enableToggle.isEnabled = false
|
||||
enableToggle.action = nil
|
||||
} else {
|
||||
enableToggle.toolTip = "Enable or disable resource"
|
||||
enableToggle.isEnabled = true
|
||||
enableToggle.action = #selector(internetResourceToggle(_:))
|
||||
}
|
||||
|
||||
subMenu.addItem(enableToggle)
|
||||
|
||||
return subMenu
|
||||
|
||||
@@ -235,11 +235,13 @@ struct ToggleInternetResourceButton: View {
|
||||
@EnvironmentObject var store: Store
|
||||
|
||||
private func toggleResourceEnabledText() -> String {
|
||||
if store.configuration?.internetResourceEnabled == true {
|
||||
"Disable this resource"
|
||||
} else {
|
||||
"Enable this resource"
|
||||
let isEnabled = store.configuration?.internetResourceEnabled ?? false
|
||||
|
||||
if store.configuration?.isOverridden(Configuration.Keys.internetResourceEnabled) ?? false {
|
||||
return isEnabled ? "Managed: Enabled" : "Managed: Disabled"
|
||||
}
|
||||
|
||||
return isEnabled ? "Disable this resource" : "Enable this resource"
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
@@ -260,6 +262,7 @@ struct ToggleInternetResourceButton: View {
|
||||
}
|
||||
}
|
||||
)
|
||||
.disabled(store.configuration?.isOverridden(Configuration.Keys.internetResourceEnabled) ?? false)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user