mirror of
https://github.com/simon987/task_tracker.git
synced 2025-04-18 01:46:45 +00:00
77 lines
4.1 KiB
HTML
77 lines
4.1 KiB
HTML
<div class="container">
|
||
<mat-card class="mat-elevation-z8">
|
||
<button mat-button [title]="'perms.refresh' | translate" style="float:right"
|
||
(click)="refresh()">
|
||
<mat-icon>refresh</mat-icon>
|
||
</button>
|
||
<mat-card-header>
|
||
<mat-card-title>{{"perms.title" | translate}}</mat-card-title>
|
||
<mat-card-subtitle>{{"perms.subtitle" | translate}}</mat-card-subtitle>
|
||
</mat-card-header>
|
||
|
||
<mat-card-content *ngIf="!(unauthorized || !auth.account)">
|
||
<h3>{{"perms.workers" | translate}}</h3>
|
||
<mat-list *ngIf="accesses && accesses.length>0">
|
||
<mat-list-item *ngFor="let wa of accesses" [class.request]="wa.request">
|
||
<mat-icon mat-list-icon *ngIf="wa.submit" [title]="'perms.assign'|translate">library_add</mat-icon>
|
||
<mat-icon mat-list-icon *ngIf="wa.assign" [title]="'perms.submit'|translate">get_app</mat-icon>
|
||
<h4 mat-line>{{wa.worker.alias}} {{wa.request ? ('perms.pending' | translate) : ''}}</h4>
|
||
<div mat-line>
|
||
Id=<span class="text-mono">{{wa.worker.id}}</span>, {{"perms.created" | translate}}
|
||
<span
|
||
class="text-mono">{{moment.unix(wa.worker.created).utc().format("UTC YYYY-MM-DD HH:mm:ss")}}</span>
|
||
</div>
|
||
<span style="flex: 1 1 auto;"></span>
|
||
<button mat-raised-button color="primary" [title]="'perms.grant' | translate"
|
||
*ngIf="wa.request" (click)="acceptRequest(wa)">
|
||
<mat-icon>check</mat-icon>
|
||
</button>
|
||
<button mat-raised-button color="warn"
|
||
[title]="wa.request ? ('perms.reject'|translate) : ('perms.remove'|translate)"
|
||
(click)="rejectRequest(wa)">
|
||
<mat-icon>close</mat-icon>
|
||
</button>
|
||
</mat-list-item>
|
||
</mat-list>
|
||
<p *ngIf="!accesses || accesses.length === 0">{{"perms.no_workers"|translate}}</p>
|
||
|
||
<h3>{{"perms.managers" | translate}}</h3>
|
||
<manager-select (managerChange)="onSelectManager($event)"></manager-select>
|
||
<mat-list>
|
||
<mat-list-item *ngFor="let m of managerRoles">
|
||
<mat-icon *ngIf="m.manager.tracker_admin">supervisor_account</mat-icon>
|
||
<mat-icon *ngIf="!m.manager.tracker_admin">person</mat-icon>
|
||
{{m.manager.username}}
|
||
<span class="spacer"></span>
|
||
<mat-checkbox [(ngModel)]="m.readRole"
|
||
(change)="onRoleChange(m)"
|
||
[disabled]="m.manager.id==auth.account.id"
|
||
>{{"perms.read"|translate}}</mat-checkbox>
|
||
<mat-checkbox [(ngModel)]="m.editRole"
|
||
(change)="onRoleChange(m)"
|
||
[disabled]="m.manager.id==auth.account.id"
|
||
>{{"perms.edit"|translate}}</mat-checkbox>
|
||
<mat-checkbox [(ngModel)]="m.manageRole"
|
||
(change)="onRoleChange(m)"
|
||
[disabled]="m.manager.id==auth.account.id"
|
||
>{{"perms.manage"|translate}}</mat-checkbox>
|
||
<mat-checkbox [(ngModel)]="m.secretRole"
|
||
(change)="onRoleChange(m)"
|
||
[disabled]="m.manager.id==auth.account.id"
|
||
>{{"perms.secret"|translate}}</mat-checkbox>
|
||
</mat-list-item>
|
||
</mat-list>
|
||
</mat-card-content>
|
||
<mat-card-content *ngIf="unauthorized">
|
||
<p class="unauthorized">
|
||
<mat-icon>block</mat-icon>
|
||
{{"perms.unauthorized" | translate}}
|
||
</p>
|
||
</mat-card-content>
|
||
|
||
<mat-card-actions>
|
||
<button mat-raised-button [routerLink]="'../'">{{"nav.back"|translate}}</button>
|
||
</mat-card-actions>
|
||
</mat-card>
|
||
</div>
|