mirror of
https://github.com/zitadel/zitadel.git
synced 2025-12-13 01:22:14 +00:00
feat: show all available organizations when creating project grants (#6040)
* feat: show available orgs (project) grants * feat: add e2e for project grant * feat: add bulgarian missing translations * feat: update docs * fix: add @peintnermax suggested changes --------- Co-authored-by: Max Peintner <max@caos.ch>
This commit is contained in:
@@ -6,20 +6,8 @@
|
||||
>
|
||||
<ng-container *ngIf="currentCreateStep === 1">
|
||||
<h1>{{ 'PROJECT.GRANT.CREATE.SEL_ORG' | translate }}</h1>
|
||||
<p>{{ 'PROJECT.GRANT.CREATE.SEL_ORG_DESC' | translate }}</p>
|
||||
|
||||
<form (ngSubmit)="searchOrg(domain.value)">
|
||||
<cnsl-form-field class="org-domain">
|
||||
<cnsl-label>{{ 'PROJECT.GRANT.CREATE.SEL_ORG_FORMFIELD' | translate }}</cnsl-label>
|
||||
<input cnslInput #domain />
|
||||
</cnsl-form-field>
|
||||
|
||||
<button [disabled]="domain.value.length === 0" color="primary" type="submit" class="domain-button" mat-raised-button>
|
||||
{{ 'PROJECT.GRANT.CREATE.SEL_ORG_BUTTON' | translate }}
|
||||
</button>
|
||||
</form>
|
||||
|
||||
<span *ngIf="org"> {{ 'PROJECT.GRANT.CREATE.FOR_ORG' | translate }} {{ org.name }} </span>
|
||||
<cnsl-search-org-autocomplete class="block" (selectionChanged)="selectOrg($event)"> </cnsl-search-org-autocomplete>
|
||||
<span *ngIf="org"> {{ 'PROJECT.GRANT.CREATE.FOR_ORG' | translate }} {{ org.name }} - {{ org.primaryDomain }} </span>
|
||||
</ng-container>
|
||||
|
||||
<ng-container *ngIf="currentCreateStep === 2">
|
||||
@@ -37,7 +25,15 @@
|
||||
|
||||
<div class="btn-container">
|
||||
<ng-container *ngIf="currentCreateStep === 1">
|
||||
<button [disabled]="!org" (click)="next()" color="primary" mat-raised-button class="big-button" cdkFocusInitial>
|
||||
<button
|
||||
[disabled]="!org"
|
||||
(click)="next()"
|
||||
color="primary"
|
||||
mat-raised-button
|
||||
class="big-button"
|
||||
cdkFocusInitial
|
||||
data-e2e="project-grant-continue"
|
||||
>
|
||||
{{ 'ACTIONS.CONTINUE' | translate }}
|
||||
</button>
|
||||
</ng-container>
|
||||
@@ -46,7 +42,15 @@
|
||||
<button (click)="previous()" mat-stroked-button class="small-button">
|
||||
{{ 'ACTIONS.BACK' | translate }}
|
||||
</button>
|
||||
<button color="primary" [disabled]="!org" (click)="addGrant()" mat-raised-button class="big-button" cdkFocusInitial>
|
||||
<button
|
||||
color="primary"
|
||||
[disabled]="!org"
|
||||
(click)="addGrant()"
|
||||
mat-raised-button
|
||||
class="big-button"
|
||||
cdkFocusInitial
|
||||
data-e2e="save-project-grant-button"
|
||||
>
|
||||
{{ 'ACTIONS.SAVE' | translate }}
|
||||
</button>
|
||||
</ng-container>
|
||||
|
||||
@@ -88,6 +88,10 @@ export class ProjectGrantCreateComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
}
|
||||
|
||||
public selectOrg(org: Org.AsObject): void {
|
||||
this.org = org;
|
||||
}
|
||||
|
||||
public selectRoles(roles: string[]): void {
|
||||
this.rolesKeyList = roles;
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ import { InputModule } from 'src/app/modules/input/input.module';
|
||||
import { ProjectRolesTableModule } from 'src/app/modules/project-roles-table/project-roles-table.module';
|
||||
import { HasRolePipeModule } from 'src/app/pipes/has-role-pipe/has-role-pipe.module';
|
||||
|
||||
import { SearchOrgAutocompleteModule } from 'src/app/modules/search-org-autocomplete/search-org-autocomplete.module';
|
||||
import { ProjectGrantCreateRoutingModule } from './project-grant-create-routing.module';
|
||||
import { ProjectGrantCreateComponent } from './project-grant-create.component';
|
||||
|
||||
@@ -38,6 +39,7 @@ import { ProjectGrantCreateComponent } from './project-grant-create.component';
|
||||
MatProgressSpinnerModule,
|
||||
FormsModule,
|
||||
TranslateModule,
|
||||
SearchOrgAutocompleteModule,
|
||||
],
|
||||
})
|
||||
export default class ProjectGrantCreateModule {}
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
class="cnsl-action-button"
|
||||
mat-raised-button
|
||||
[routerLink]="['/projects', projectId, 'projectgrants', 'create']"
|
||||
data-e2e="create-project-grant-button"
|
||||
>
|
||||
<mat-icon class="icon">add</mat-icon>
|
||||
<span>{{ 'ACTIONS.NEW' | translate }}</span>
|
||||
|
||||
@@ -12,15 +12,15 @@
|
||||
<div class="newrole">
|
||||
<cnsl-form-field class="formfield">
|
||||
<cnsl-label>{{ 'PROJECT.ROLE.KEY' | translate }}</cnsl-label>
|
||||
<input cnslInput formControlName="key" />
|
||||
<input cnslInput formControlName="key" data-e2e="role-key-input" />
|
||||
</cnsl-form-field>
|
||||
<cnsl-form-field class="formfield">
|
||||
<cnsl-label>{{ 'PROJECT.ROLE.DISPLAY_NAME' | translate }}</cnsl-label>
|
||||
<input cnslInput formControlName="displayName" />
|
||||
<input cnslInput formControlName="displayName" data-e2e="role-display-name-input" />
|
||||
</cnsl-form-field>
|
||||
<cnsl-form-field class="formfield">
|
||||
<cnsl-label>{{ 'PROJECT.ROLE.GROUP' | translate }}</cnsl-label>
|
||||
<input cnslInput formControlName="group" />
|
||||
<input cnslInput formControlName="group" data-e2e="role-group-input" />
|
||||
</cnsl-form-field>
|
||||
</div>
|
||||
<button
|
||||
@@ -36,7 +36,14 @@
|
||||
</ng-container>
|
||||
</div>
|
||||
|
||||
<button class="add-line-btn" color="primary" type="button" mat-stroked-button (click)="addEntry()">
|
||||
<button
|
||||
class="add-line-btn"
|
||||
color="primary"
|
||||
type="button"
|
||||
data-e2e="new-project-role-button"
|
||||
mat-stroked-button
|
||||
(click)="addEntry()"
|
||||
>
|
||||
{{ 'PROJECT.ROLE.ADDNEWLINE' | translate }}
|
||||
</button>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user