2018-07-04 15:55:52 +02:00
|
|
|
<ng-container *ngIf="vault">
|
|
|
|
<p *ngIf="!loaded" class="text-muted">
|
2019-10-11 16:35:24 +02:00
|
|
|
<i class="fa fa-spinner fa-spin" title="{{'loading' | i18n}}" aria-hidden="true"></i>
|
|
|
|
<span class="sr-only">{{'loading' | i18n}}</span>
|
2018-07-04 15:55:52 +02:00
|
|
|
</p>
|
|
|
|
<ng-container *ngIf="loaded">
|
|
|
|
<ul class="fa-ul card-ul carets" *ngIf="organizations && organizations.length">
|
|
|
|
<li *ngFor="let o of organizations">
|
|
|
|
<a [routerLink]="['/organizations', o.id]" class="text-body">
|
2019-10-11 16:35:24 +02:00
|
|
|
<i class="fa-li fa fa-caret-right" aria-hidden="true"></i> {{o.name}}
|
|
|
|
<ng-container *ngIf="!o.enabled">
|
|
|
|
<i class="fa fa-exclamation-triangle text-danger" title="{{'organizationIsDisabled' | i18n}}"
|
|
|
|
aria-hidden="true"></i>
|
|
|
|
<span class="sr-only">{{'organizationIsDisabled' | i18n}}</span>
|
|
|
|
</ng-container>
|
2018-07-04 15:55:52 +02:00
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
<p *ngIf="!organizations || !organizations.length">{{'noOrganizationsList' | i18n}}</p>
|
|
|
|
</ng-container>
|
|
|
|
<a href="#" routerLink="/settings/create-organization" class="btn btn-block btn-outline-primary">
|
2019-10-11 17:22:21 +02:00
|
|
|
<i class="fa fa-plus fa-fw" aria-hidden="true"></i>
|
2018-07-04 15:55:52 +02:00
|
|
|
{{'newOrganization' | i18n}}
|
|
|
|
</a>
|
|
|
|
</ng-container>
|
|
|
|
<ng-container *ngIf="!vault">
|
|
|
|
<div class="page-header d-flex">
|
|
|
|
<h1>
|
|
|
|
{{'organizations' | i18n}}
|
|
|
|
<small [appApiAction]="actionPromise" #action>
|
2019-10-11 16:35:24 +02:00
|
|
|
<ng-container *ngIf="action.loading">
|
|
|
|
<i class="fa fa-spinner fa-spin text-muted" title="{{'loading' | i18n}}" aria-hidden="true"></i>
|
|
|
|
<span class="sr-only">{{'loading' | i18n}}</span>
|
|
|
|
</ng-container>
|
2018-07-04 15:55:52 +02:00
|
|
|
</small>
|
|
|
|
</h1>
|
2019-02-21 22:50:37 +01:00
|
|
|
<a href="#" routerLink="/settings/create-organization" class="btn btn-sm btn-outline-primary ml-auto"
|
|
|
|
*ngIf="!loaded || (organizations && organizations.length)">
|
2019-10-11 17:22:21 +02:00
|
|
|
<i class="fa fa-plus fa-fw" aria-hidden="true"></i>
|
2018-07-04 15:55:52 +02:00
|
|
|
{{'newOrganization' | i18n}}
|
|
|
|
</a>
|
|
|
|
</div>
|
2019-10-11 16:35:24 +02:00
|
|
|
<ng-container *ngIf="!loaded">
|
|
|
|
<i class="fa fa-spinner fa-spin text-muted" title="{{'loading' | i18n}}" aria-hidden="true"></i>
|
|
|
|
<span class="sr-only">{{'loading' | i18n}}</span>
|
|
|
|
</ng-container>
|
2018-07-04 15:55:52 +02:00
|
|
|
<ng-container *ngIf="loaded">
|
2018-07-18 15:34:48 +02:00
|
|
|
<ng-container *ngIf="!organizations || !organizations.length">
|
|
|
|
<p>{{'noOrganizationsList' | i18n}}</p>
|
2018-07-18 15:37:50 +02:00
|
|
|
<a href="#" routerLink="/settings/create-organization" class="btn btn-outline-primary">
|
2019-10-11 17:22:21 +02:00
|
|
|
<i class="fa fa-plus fa-fw" aria-hidden="true"></i>
|
2018-07-18 15:34:48 +02:00
|
|
|
{{'newOrganization' | i18n}}
|
|
|
|
</a>
|
|
|
|
</ng-container>
|
2018-07-04 15:55:52 +02:00
|
|
|
<table class="table table-hover table-list" *ngIf="organizations && organizations.length">
|
|
|
|
<tbody>
|
|
|
|
<tr *ngFor="let o of organizations">
|
|
|
|
<td width="30">
|
2018-07-31 05:52:04 +02:00
|
|
|
<app-avatar [data]="o.name" size="25" [circle]="true" [fontSize]="14"></app-avatar>
|
2018-07-04 15:55:52 +02:00
|
|
|
</td>
|
|
|
|
<td>
|
|
|
|
<a href="#" [routerLink]="['/organizations', o.id]">{{o.name}}</a>
|
2019-10-11 16:35:24 +02:00
|
|
|
<ng-container *ngIf="!o.enabled">
|
|
|
|
<i class="fa fa-exclamation-triangle text-danger"
|
|
|
|
title="{{'organizationIsDisabled' | i18n}}" aria-hidden="true"></i>
|
|
|
|
<span class="sr-only">{{'organizationIsDisabled' | i18n}}</span>
|
|
|
|
</ng-container>
|
2018-07-04 15:55:52 +02:00
|
|
|
</td>
|
|
|
|
<td class="table-list-options">
|
|
|
|
<div class="dropdown" appListDropdown>
|
2019-02-21 22:50:37 +01:00
|
|
|
<button class="btn btn-outline-secondary dropdown-toggle" type="button"
|
2019-10-11 17:22:21 +02:00
|
|
|
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"
|
|
|
|
appA11yTitle="{{'options' | i18n}}">
|
|
|
|
<i class="fa fa-cog fa-lg" aria-hidden="true"></i>
|
2018-07-04 15:55:52 +02:00
|
|
|
</button>
|
|
|
|
<div class="dropdown-menu dropdown-menu-right">
|
2020-08-27 17:44:04 +02:00
|
|
|
<ng-container *ngIf="o.useSso && o.identifier">
|
|
|
|
<a *ngIf="o.ssoBound; else linkSso" class="dropdown-item" href="#" appStopClick
|
|
|
|
(click)="unlinkSso(o)">
|
|
|
|
<i class="fa fa-fw fa-chain-broken" aria-hidden="true"></i>
|
2020-09-11 20:22:56 +02:00
|
|
|
{{'unlinkSso' | i18n}}
|
2020-08-27 17:44:04 +02:00
|
|
|
</a>
|
|
|
|
<ng-template #linkSso>
|
|
|
|
<app-link-sso [organization]="o">
|
|
|
|
</app-link-sso>
|
|
|
|
</ng-template>
|
|
|
|
</ng-container>
|
2018-07-04 15:55:52 +02:00
|
|
|
<a class="dropdown-item text-danger" href="#" appStopClick (click)="leave(o)">
|
2019-10-11 17:22:21 +02:00
|
|
|
<i class="fa fa-fw fa-sign-out" aria-hidden="true"></i>
|
2018-07-04 15:55:52 +02:00
|
|
|
{{'leave' | i18n}}
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</ng-container>
|
|
|
|
</ng-container>
|