Files
threshold-ui/ui/admin/app/templates/scopes/scope.hbs
T
Lisbet Alvarez 6d2f1dcbbf Cleanup worker filter translations (#2621)
* refactor: 💡 clean-up worker filter translations
2024-12-12 16:06:38 -08:00

250 lines
8.9 KiB
Handlebars

{{!
Copyright (c) HashiCorp, Inc.
SPDX-License-Identifier: BUSL-1.1
}}
{{#if @model.isOrg}}
{{page-title (t 'resources.org.title_plural')}}
{{page-title @model.displayName}}
<Breadcrumbs::Item
@text={{@model.displayName}}
@icon='org'
@route='scopes.scope.edit'
@model={{@model.id}}
/>
{{/if}}
{{#if @model.isProject}}
{{page-title (t 'resources.org.title_plural')}}
{{page-title this.scopes.selectedOrg.displayName}}
{{page-title (t 'resources.project.title_plural')}}
{{page-title @model.displayName}}
<Breadcrumbs::Item
@text={{this.scopes.selectedOrg.displayName}}
@icon='org'
@route='scopes.scope.edit'
@model={{this.scopes.selectedOrg.id}}
/>
<Breadcrumbs::Item
@text={{@model.displayName}}
@icon='grid'
@route='scopes.scope.edit'
@model={{@model.id}}
/>
{{/if}}
<Rose::Layout::Sidebar as |sidebarLayout|>
{{#if this.session.isAuthenticated}}
<sidebarLayout.sidebar>
{{#if @model.isGlobal}}
<Rose::Nav::Sidebar @title={{t 'titles.general'}} as |nav|>
<nav.link @route='scopes.scope.scopes'>
<Rose::Icon @name='flight-icons/svg/org-16' @size='medium' />
{{t 'resources.org.title_plural'}}
</nav.link>
{{#if (can 'navigate scope' @model collection='session-recordings')}}
<nav.link @route='scopes.scope.session-recordings'>
<Rose::Icon @name='flight-icons/svg/film-16' @size='medium' />
{{t 'resources.session-recording.title_plural'}}
</nav.link>
{{/if}}
{{#if (can 'navigate scope' @model collection='storage-buckets')}}
<nav.link @route='scopes.scope.storage-buckets'>
<Rose::Icon
@name='flight-icons/svg/cloud-upload-16'
@size='medium'
/>
{{t 'resources.storage-bucket.title_plural'}}
</nav.link>
{{/if}}
{{#if (can 'navigate scope' @model collection='policies')}}
<nav.link @route='scopes.scope.policies'>
<Rose::Icon
@name='flight-icons/svg/hourglass-16'
@size='medium'
/>
{{t 'resources.policy.title_plural'}}
</nav.link>
{{/if}}
{{#if (can 'navigate scope' @model collection='aliases')}}
<nav.link @route='scopes.scope.aliases'>
<Rose::Icon @name='flight-icons/svg/at-sign-16' @size='medium' />
{{t 'resources.alias.title_plural'}}
</nav.link>
{{/if}}
{{#if
(and
(can 'navigate worker' @model collection='workers')
(feature-flag 'byow')
)
}}
<nav.link @route='scopes.scope.workers'>
<Rose::Icon @name='flight-icons/svg/cpu-16' @size='medium' />
{{t 'titles.workers'}}
</nav.link>
{{/if}}
</Rose::Nav::Sidebar>
{{/if}}
{{#if @model.isOrg}}
<Rose::Nav::Sidebar @title={{t 'titles.general'}} as |nav|>
{{#if this.session.data.authenticated.isGlobal}}
<nav.link @route='scopes.scope.scopes' @model='global'>
<Rose::Icon @name='flight-icons/svg/org-16' @size='medium' />
{{t 'resources.org.title_plural'}}
</nav.link>
{{/if}}
<nav.link @route='scopes.scope.scopes'>
<Rose::Icon @name='flight-icons/svg/grid-16' @size='medium' />
{{t 'resources.project.title_plural'}}
</nav.link>
{{#if (can 'navigate scope' @model collection='policies')}}
<nav.link @route='scopes.scope.policies'>
<Rose::Icon
@name='flight-icons/svg/hourglass-16'
@size='medium'
/>
{{t 'resources.policy.title_plural'}}
</nav.link>
{{/if}}
</Rose::Nav::Sidebar>
{{/if}}
{{#if @model.isProject}}
<Rose::Nav::Sidebar @title={{t 'titles.general'}} as |nav|>
{{#if this.session.data.authenticated.isGlobal}}
<nav.link @route='scopes.scope.scopes' @model='global'>
<Rose::Icon @name='flight-icons/svg/org-16' @size='medium' />
{{t 'resources.org.title_plural'}}
</nav.link>
{{/if}}
<nav.link @route='scopes.scope.scopes' @model={{@model.scopeID}}>
<Rose::Icon @name='flight-icons/svg/grid-16' @size='medium' />
{{t 'resources.project.title_plural'}}
</nav.link>
</Rose::Nav::Sidebar>
<Rose::Nav::Sidebar @title={{t 'titles.resources'}} as |nav|>
{{#if (can 'navigate model' @model collection='sessions')}}
<nav.link @route='scopes.scope.sessions'>
<Rose::Icon
@name='flight-icons/svg/entry-point-16'
@size='medium'
/>
{{t 'resources.session.title_plural'}}
</nav.link>
{{/if}}
{{#if (can 'navigate model' @model collection='targets')}}
<nav.link @route='scopes.scope.targets'>
<Rose::Icon @name='flight-icons/svg/target-16' @size='medium' />
{{t 'resources.target.title_plural'}}
</nav.link>
{{/if}}
{{#if (can 'navigate model' @model collection='host-catalogs')}}
<nav.link @route='scopes.scope.host-catalogs'>
<Rose::Icon
@name='flight-icons/svg/collections-16'
@size='medium'
/>
{{t 'resources.host-catalog.title_plural'}}
</nav.link>
{{/if}}
{{#if (can 'navigate model' @model collection='credential-stores')}}
<nav.link @route='scopes.scope.credential-stores'>
<Rose::Icon @name='flight-icons/svg/key-16' @size='medium' />
{{t 'resources.credential-store.title_plural'}}
</nav.link>
{{/if}}
</Rose::Nav::Sidebar>
{{/if}}
<Rose::Nav::Sidebar @title={{t 'titles.iam'}} as |nav|>
{{! Users are available only for org/global scopes }}
{{#unless @model.isProject}}
{{#if (can 'navigate model' @model collection='users')}}
<nav.link @route='scopes.scope.users'>
<Rose::Icon @name='flight-icons/svg/users-16' @size='medium' />
{{t 'resources.user.title_plural'}}
</nav.link>
{{/if}}
{{/unless}}
{{! Groups and roles are available for all scopes }}
{{#if (can 'navigate model' @model collection='groups')}}
<nav.link @route='scopes.scope.groups'>
<Rose::Icon
@name='flight-icons/svg/folder-users-16'
@size='medium'
/>
{{t 'resources.group.title_plural'}}
</nav.link>
{{/if}}
{{#if (can 'navigate model' @model collection='roles')}}
<nav.link @route='scopes.scope.roles'>
<Rose::Icon
@name='flight-icons/svg/identity-user-16'
@size='medium'
/>
{{t 'resources.role.title_plural'}}
</nav.link>
{{/if}}
{{! Auth methods are available only for org/global scopes }}
{{#unless @model.isProject}}
{{#if (can 'navigate model' @model collection='auth-methods')}}
<nav.link @route='scopes.scope.auth-methods'>
<Rose::Icon @name='flight-icons/svg/lock-16' @size='medium' />
{{t 'resources.auth-method.title_plural'}}
</nav.link>
{{/if}}
{{/unless}}
</Rose::Nav::Sidebar>
{{#if (and @model.isGlobal (feature-flag 'ssh-session-recording'))}}
{{#if this.session.data.authenticated.isGlobal}}
<Rose::Nav::Sidebar @title={{t 'titles.settings'}} as |nav|>
<nav.link @route='scopes.scope.edit'>
{{t 'resources.global.messages.settings.title'}}
</nav.link>
</Rose::Nav::Sidebar>
{{/if}}
{{/if}}
{{#if @model.isOrg}}
{{#if this.session.data.authenticated.isGlobal}}
<Rose::Nav::Sidebar @title={{t 'titles.settings'}} as |nav|>
<nav.link @route='scopes.scope.edit'>
{{t 'resources.org.messages.settings.title'}}
</nav.link>
</Rose::Nav::Sidebar>
{{/if}}
{{/if}}
{{#if @model.isProject}}
<Rose::Nav::Sidebar @title={{t 'titles.settings'}} as |nav|>
<nav.link @route='scopes.scope.edit'>
{{t 'resources.project.messages.settings.title'}}
</nav.link>
</Rose::Nav::Sidebar>
{{/if}}
</sidebarLayout.sidebar>
{{/if}}
<sidebarLayout.body>
<main>
{{outlet}}
</main>
</sidebarLayout.body>
<sidebarLayout.footer>
<Hds::AppFooter @theme={{this.session.data.theme}} as |AF|>
<AF.Link @href={{(doc-url)}}>{{t 'titles.documentation'}}</AF.Link>
<AF.LegalLinks />
</Hds::AppFooter>
</sidebarLayout.footer>
</Rose::Layout::Sidebar>