@@ -62,6 +62,7 @@ type Gui struct {
62
62
Tenant * systray.MenuItem
63
63
TenantItems []* TenantItem
64
64
GatewayItems []* GatewayItem
65
+ AcceptableUse * systray.MenuItem
65
66
}
66
67
Config Config
67
68
}
@@ -77,6 +78,7 @@ const (
77
78
LogClicked
78
79
AutoConnectClicked
79
80
BlackAndWhiteClicked
81
+ AcceptableUseClicked
80
82
81
83
maxTenants = 10
82
84
maxGateways = 30
@@ -102,6 +104,8 @@ func NewGUI(ctx context.Context, client pb.DeviceAgentClient, cfg Config) *Gui {
102
104
gui .MenuItems .StateInfo = systray .AddMenuItem ("" , "" )
103
105
gui .MenuItems .StateInfo .Hide ()
104
106
gui .MenuItems .State .Disable ()
107
+ gui .MenuItems .AcceptableUse = systray .AddMenuItem ("Acceptable use policy" , "" )
108
+ gui .MenuItems .AcceptableUse .Hide ()
105
109
gui .MenuItems .Logs = systray .AddMenuItem ("Logs" , "" )
106
110
gui .MenuItems .Settings = systray .AddMenuItem ("Settings" , "" )
107
111
gui .MenuItems .AutoConnect = gui .MenuItems .Settings .AddSubMenuItemCheckbox ("Connect automatically on startup" , "" , false )
@@ -202,6 +206,8 @@ func (gui *Gui) handleButtonClicks(ctx context.Context) {
202
206
accessPrivilegedGateway (name )
203
207
case name := <- gui .TenantItemClicked :
204
208
gui .activateTenant (ctx , name )
209
+ case <- gui .MenuItems .AcceptableUse .ClickedCh :
210
+ gui .Events <- AcceptableUseClicked
205
211
case <- ctx .Done ():
206
212
return
207
213
}
@@ -302,6 +308,9 @@ func (gui *Gui) handleAgentStatus(agentStatus *pb.AgentStatus) {
302
308
303
309
tenants := agentStatus .GetTenants ()
304
310
if len (tenants ) <= 1 {
311
+ if len (tenants ) == 1 && (tenants [0 ].Name == "NAV" || tenants [0 ].Name == "nav.no" ) {
312
+ gui .MenuItems .AcceptableUse .Show ()
313
+ }
305
314
return
306
315
}
307
316
@@ -310,6 +319,7 @@ func (gui *Gui) handleAgentStatus(agentStatus *pb.AgentStatus) {
310
319
return tenants [i ].GetName () < tenants [j ].GetName ()
311
320
})
312
321
322
+ gui .MenuItems .AcceptableUse .Hide ()
313
323
for i , tenant := range tenants {
314
324
gui .MenuItems .TenantItems [i ].Tenant = tenant
315
325
@@ -318,6 +328,9 @@ func (gui *Gui) handleAgentStatus(agentStatus *pb.AgentStatus) {
318
328
menuItem .Show ()
319
329
menuItem .Enable ()
320
330
if tenant .Active {
331
+ if tenant .Name == "NAV" || tenant .Name == "nav.no" {
332
+ gui .MenuItems .AcceptableUse .Show ()
333
+ }
321
334
menuItem .Check ()
322
335
} else {
323
336
menuItem .Uncheck ()
@@ -441,6 +454,11 @@ func (gui *Gui) handleGuiEvent(guiEvent GuiEvent) {
441
454
log .Warn ("opening device agent log: %w" , err )
442
455
}
443
456
457
+ case AcceptableUseClicked :
458
+ err := open .Open ("https://naisdevice-approval.nais.io/" )
459
+ if err != nil {
460
+ log .Warn ("opening device agent log: %w" , err )
461
+ }
444
462
case QuitClicked :
445
463
_ , err := gui .DeviceAgentClient .Logout (context .Background (), & pb.LogoutRequest {})
446
464
if err != nil {
0 commit comments