diff --git a/console/src/app/app.component.html b/console/src/app/app.component.html index 3d686a1ffe..0b8514eecb 100644 --- a/console/src/app/app.component.html +++ b/console/src/app/app.component.html @@ -3,7 +3,7 @@ - + diff --git a/console/src/app/app.component.scss b/console/src/app/app.component.scss index 9cbfab7851..506bd33b08 100644 --- a/console/src/app/app.component.scss +++ b/console/src/app/app.component.scss @@ -19,7 +19,7 @@ font-weight: 400; margin-left: 1rem; line-height: 1.2rem; - font-family: 'Rubik'; + font-family: 'Lato'; margin-right: 1rem; } @@ -41,7 +41,6 @@ .docs { text-decoration: none; font-size: 1.4rem; - font-family: 'ailerons', sans-serif; } .avatar { @@ -117,7 +116,6 @@ .label { margin-bottom: 0; - font-family: 'Rubik'; font-weight: 500; font-size: .9rem; } diff --git a/console/src/app/modules/add-member-dialog/member-create-dialog.component.html b/console/src/app/modules/add-member-dialog/member-create-dialog.component.html index edf6e4e442..e9afb85d99 100644 --- a/console/src/app/modules/add-member-dialog/member-create-dialog.component.html +++ b/console/src/app/modules/add-member-dialog/member-create-dialog.component.html @@ -23,11 +23,11 @@
\ No newline at end of file diff --git a/console/src/app/modules/add-member-dialog/member-create-dialog.component.scss b/console/src/app/modules/add-member-dialog/member-create-dialog.component.scss index c63cffb798..46d1f0b07e 100644 --- a/console/src/app/modules/add-member-dialog/member-create-dialog.component.scss +++ b/console/src/app/modules/add-member-dialog/member-create-dialog.component.scss @@ -1,17 +1,17 @@ .title { font-size: 1.2rem; - } +} - .desc { - color: #8795a1; - font-size: .9rem; - } +.desc { + color: #8795a1; + font-size: .9rem; +} - .full-width { - width: 100%; - } +.full-width { + width: 100%; +} - .action { +.action { display: flex; justify-content: flex-end; @@ -22,4 +22,4 @@ button { border-radius: 0.5rem; } - } +} diff --git a/console/src/app/modules/card/card.component.scss b/console/src/app/modules/card/card.component.scss index a17554f507..86e362c932 100644 --- a/console/src/app/modules/card/card.component.scss +++ b/console/src/app/modules/card/card.component.scss @@ -18,9 +18,7 @@ .title { margin: 0; font-weight: 400; - font-family: 'Rubik'; font-size: 18px; - // margin-top: .3rem; } .fill-space { diff --git a/console/src/app/modules/project-roles/project-role-detail/project-role-detail.component.html b/console/src/app/modules/project-roles/project-role-detail/project-role-detail.component.html new file mode 100644 index 0000000000..9336a1efa9 --- /dev/null +++ b/console/src/app/modules/project-roles/project-role-detail/project-role-detail.component.html @@ -0,0 +1,30 @@ +

+ {{'PROJECT.ROLE.EDITTITLE' | translate}} +

+

{{'PROJECT.ROLE.EDITDESCRIPTION' | translate}}

+
+
+ + {{ 'PROJECT.ROLE.KEY' | translate }} + + + + {{ 'PROJECT.ROLE.DISPLAY_NAME' | translate }} + + + + {{ 'PROJECT.ROLE.GROUP' | translate }} + + +
+
+ +
+ + + +
\ No newline at end of file diff --git a/console/src/app/modules/project-roles/project-role-detail/project-role-detail.component.scss b/console/src/app/modules/project-roles/project-role-detail/project-role-detail.component.scss new file mode 100644 index 0000000000..1624ed374b --- /dev/null +++ b/console/src/app/modules/project-roles/project-role-detail/project-role-detail.component.scss @@ -0,0 +1,25 @@ +.title { + font-size: 1.2rem; +} + +.desc { + color: #8795a1; + font-size: .9rem; +} + +.full-width, .formfield { + width: 100%; +} + +.action { + display: flex; + justify-content: flex-end; + + .ok-button { + margin-left: 0.5rem; + } + + button { + border-radius: 0.5rem; + } +} diff --git a/console/src/app/modules/user-grant/user-grant.component.spec.ts b/console/src/app/modules/project-roles/project-role-detail/project-role-detail.component.spec.ts similarity index 52% rename from console/src/app/modules/user-grant/user-grant.component.spec.ts rename to console/src/app/modules/project-roles/project-role-detail/project-role-detail.component.spec.ts index ee7c889c07..e0797aedea 100644 --- a/console/src/app/modules/user-grant/user-grant.component.spec.ts +++ b/console/src/app/modules/project-roles/project-role-detail/project-role-detail.component.spec.ts @@ -1,20 +1,20 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; -import { UserGrantComponent } from './user-grant.component'; +import { ProjectRoleDetailComponent } from './project-role-detail.component'; -describe('UserGrantComponent', () => { - let component: UserGrantComponent; - let fixture: ComponentFixture; +describe('ProjectRoleDetailComponent', () => { + let component: ProjectRoleDetailComponent; + let fixture: ComponentFixture; beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [UserGrantComponent], + declarations: [ProjectRoleDetailComponent], }) .compileComponents(); })); beforeEach(() => { - fixture = TestBed.createComponent(UserGrantComponent); + fixture = TestBed.createComponent(ProjectRoleDetailComponent); component = fixture.componentInstance; fixture.detectChanges(); }); diff --git a/console/src/app/modules/project-roles/project-role-detail/project-role-detail.component.ts b/console/src/app/modules/project-roles/project-role-detail/project-role-detail.component.ts new file mode 100644 index 0000000000..e7cedac164 --- /dev/null +++ b/console/src/app/modules/project-roles/project-role-detail/project-role-detail.component.ts @@ -0,0 +1,59 @@ +import { Component, Inject, OnInit } from '@angular/core'; +import { AbstractControl, FormControl, FormGroup, Validators } from '@angular/forms'; +import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; +import { ProjectService } from 'src/app/services/project.service'; +import { ToastService } from 'src/app/services/toast.service'; + +@Component({ + selector: 'app-project-role-detail', + templateUrl: './project-role-detail.component.html', + styleUrls: ['./project-role-detail.component.scss'], +}) +export class ProjectRoleDetailComponent implements OnInit { + public projectId: string = ''; + + public formGroup!: FormGroup; + constructor(private projectService: ProjectService, private toast: ToastService, + public dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) public data: any) { + + this.projectId = data.projectId; + this.formGroup = new FormGroup({ + key: new FormControl({ value: '', disabled: true }, [Validators.required]), + displayName: new FormControl(''), + group: new FormControl(''), + }); + console.log(data); + + this.formGroup.patchValue(data.role); + } + + ngOnInit(): void { + } + + submitForm(): void { + if (this.formGroup.valid && this.key?.value && this.group?.value && this.displayName?.value) { + this.projectService.ChangeProjectRole(this.projectId, this.key.value, this.key.value, this.group.value) + .then(() => { + this.toast.showInfo('Role updated'); + this.dialogRef.close(true); + }).catch(error => { + this.toast.showError(error.message); + }); + } + } + + public closeDialog(): void { + this.dialogRef.close(false); + } + + public get key(): AbstractControl | null { + return this.formGroup.get('key'); + } + public get displayName(): AbstractControl | null { + return this.formGroup.get('displayName'); + } + public get group(): AbstractControl | null { + return this.formGroup.get('group'); + } +} diff --git a/console/src/app/modules/project-roles/project-roles.component.html b/console/src/app/modules/project-roles/project-roles.component.html index e575024648..9a81d15d3e 100644 --- a/console/src/app/modules/project-roles/project-roles.component.html +++ b/console/src/app/modules/project-roles/project-roles.component.html @@ -47,26 +47,25 @@ {{ 'PROJECT.ROLE.KEY' | translate }} - {{role.key}} + {{role.key}} {{ 'PROJECT.ROLE.DISPLAY_NAME' | translate }} - {{role.displayName}} + {{role.displayName}} {{ 'PROJECT.ROLE.GROUP' | translate }} - {{role.group}} + {{role.group}} {{ 'PROJECT.ROLE.CREATIONDATE' | translate }} - + {{role.creationDate | timestampToDate | date: 'dd. MMM, HH:mm' }} diff --git a/console/src/app/modules/project-roles/project-roles.component.ts b/console/src/app/modules/project-roles/project-roles.component.ts index 765710b454..d632610422 100644 --- a/console/src/app/modules/project-roles/project-roles.component.ts +++ b/console/src/app/modules/project-roles/project-roles.component.ts @@ -1,5 +1,6 @@ import { SelectionModel } from '@angular/cdk/collections'; import { AfterViewInit, Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core'; +import { MatDialog } from '@angular/material/dialog'; import { MatPaginator } from '@angular/material/paginator'; import { MatTable } from '@angular/material/table'; import { tap } from 'rxjs/operators'; @@ -7,6 +8,7 @@ import { ProjectRole } from 'src/app/proto/generated/management_pb'; import { ProjectService } from 'src/app/services/project.service'; import { ToastService } from 'src/app/services/toast.service'; +import { ProjectRoleDetailComponent } from './project-role-detail/project-role-detail.component'; import { ProjectRolesDataSource } from './project-roles-datasource'; @@ -28,7 +30,7 @@ export class ProjectRolesComponent implements AfterViewInit, OnInit { /** Columns displayed in the table. Columns IDs can be added, removed, or reordered. */ public displayedColumns: string[] = ['select', 'key', 'displayname', 'group', 'creationDate']; - constructor(private projectService: ProjectService, private toast: ToastService) { } + constructor(private projectService: ProjectService, private toast: ToastService, private dialog: MatDialog) { } public ngOnInit(): void { console.log(this.projectId); @@ -108,4 +110,14 @@ export class ProjectRolesComponent implements AfterViewInit, OnInit { this.toast.showError(data.message); }); } + + public openDetailDialog(role: ProjectRole.AsObject): void { + this.dialog.open(ProjectRoleDetailComponent, { + data: { + role, + projectId: this.projectId, + }, + width: '400px', + }); + } } diff --git a/console/src/app/modules/project-roles/project-roles.module.ts b/console/src/app/modules/project-roles/project-roles.module.ts index 74b17345ad..36914707ec 100644 --- a/console/src/app/modules/project-roles/project-roles.module.ts +++ b/console/src/app/modules/project-roles/project-roles.module.ts @@ -1,8 +1,11 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { MatButtonModule } from '@angular/material/button'; import { MatCheckboxModule } from '@angular/material/checkbox'; +import { MatFormFieldModule } from '@angular/material/form-field'; import { MatIconModule } from '@angular/material/icon'; +import { MatInputModule } from '@angular/material/input'; import { MatMenuModule } from '@angular/material/menu'; import { MatPaginatorModule } from '@angular/material/paginator'; import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; @@ -13,16 +16,22 @@ import { TranslateModule } from '@ngx-translate/core'; import { HasRoleModule } from 'src/app/directives/has-role/has-role.module'; import { PipesModule } from 'src/app/pipes/pipes.module'; +import { ProjectRoleDetailComponent } from './project-role-detail/project-role-detail.component'; import { ProjectRolesComponent } from './project-roles.component'; + @NgModule({ - declarations: [ProjectRolesComponent], + declarations: [ProjectRolesComponent, ProjectRoleDetailComponent], imports: [ CommonModule, MatButtonModule, HasRoleModule, MatTableModule, MatPaginatorModule, + MatFormFieldModule, + FormsModule, + ReactiveFormsModule, + MatInputModule, MatIconModule, MatProgressSpinnerModule, MatCheckboxModule, diff --git a/console/src/app/modules/user-grant/user-grant-routing.module.ts b/console/src/app/modules/user-grant/user-grant-routing.module.ts deleted file mode 100644 index 1214c52fbb..0000000000 --- a/console/src/app/modules/user-grant/user-grant-routing.module.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { NgModule } from '@angular/core'; -import { RouterModule, Routes } from '@angular/router'; - -import { UserGrantComponent } from './user-grant.component'; - -const routes: Routes = [ - { - path: '', - component: UserGrantComponent, - data: { animation: 'AddPage' }, - }, -]; - -@NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule], -}) -export class UserGrantRoutingModule { } diff --git a/console/src/app/modules/user-grant/user-grant.component.html b/console/src/app/modules/user-grant/user-grant.component.html deleted file mode 100644 index 0eb54548d2..0000000000 --- a/console/src/app/modules/user-grant/user-grant.component.html +++ /dev/null @@ -1,15 +0,0 @@ -
-
- -
-
-

{{ 'GRANTS.DETAIL.TITLE' | translate }}

-

{{ 'GRANTS.DETAIL.DESCRIPTION' | translate }}

-
-
-
-
\ No newline at end of file diff --git a/console/src/app/modules/user-grant/user-grant.component.scss b/console/src/app/modules/user-grant/user-grant.component.scss deleted file mode 100644 index 17fa11bf76..0000000000 --- a/console/src/app/modules/user-grant/user-grant.component.scss +++ /dev/null @@ -1,43 +0,0 @@ -.container { - display: flex; - padding-bottom: 3rem; - - .left { - width: 100px; - display: flex; - padding: 1rem; - justify-content: center; - - a { - margin-top: .2rem; - } - } - - .right { - flex: 1; - padding-top: 1rem; - - .head { - display: flex; - align-items: center; - border-bottom: 1px solid #ffffff20; - margin-bottom: 2rem; - flex-wrap: wrap; - - a { - display: block; - } - - h1 { - font-size: 1.2rem; - } - - .desc { - width: 100%; - display: block; - font-size: .9rem; - color: #8795a1; - } - } - } -} diff --git a/console/src/app/modules/user-grant/user-grant.component.ts b/console/src/app/modules/user-grant/user-grant.component.ts deleted file mode 100644 index a3da815de4..0000000000 --- a/console/src/app/modules/user-grant/user-grant.component.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute } from '@angular/router'; -import { UserGrantView } from 'src/app/proto/generated/management_pb'; -import { MgmtUserService } from 'src/app/services/mgmt-user.service'; -import { ToastService } from 'src/app/services/toast.service'; - -@Component({ - selector: 'app-user-grant', - templateUrl: './user-grant.component.html', - styleUrls: ['./user-grant.component.scss'], -}) -export class UserGrantComponent implements OnInit { - public userid: string = ''; - public grantid: string = ''; - - public grantView!: UserGrantView.AsObject; - constructor( - private mgmtUserService: MgmtUserService, - private route: ActivatedRoute, - private toast: ToastService, - ) { - this.route.params.subscribe(params => { - this.userid = params.projectid; - this.grantid = params.grantid; - - this.mgmtUserService.UserGrantByID(this.grantid, this.userid).then(resp => { - this.grantView = resp.toObject(); - console.log(this.grantView); - }); - }); - } - - ngOnInit(): void { - } - - updateGrant(): void { - this.mgmtUserService.UpdateUserGrant(this.grantid, this.userid, this.grantView.roleKeysList).then(() => { - this.toast.showInfo('Roles updated'); - }).catch(error => { - this.toast.showError(error.message); - }); - } - -} diff --git a/console/src/app/modules/user-grant/user-grant.module.ts b/console/src/app/modules/user-grant/user-grant.module.ts deleted file mode 100644 index bbcb0095e0..0000000000 --- a/console/src/app/modules/user-grant/user-grant.module.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { CommonModule } from '@angular/common'; -import { HttpClient } from '@angular/common/http'; -import { NgModule } from '@angular/core'; -import { MatButtonModule } from '@angular/material/button'; -import { MatIconModule } from '@angular/material/icon'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { HttpLoaderFactory } from 'src/app/app.module'; - -import { UserGrantRoutingModule } from './user-grant-routing.module'; -import { UserGrantComponent } from './user-grant.component'; - -@NgModule({ - declarations: [UserGrantComponent], - imports: [ - CommonModule, - UserGrantRoutingModule, - MatIconModule, - MatButtonModule, - TranslateModule.forChild({ - loader: { - provide: TranslateLoader, - useFactory: HttpLoaderFactory, - deps: [HttpClient], - }, - }), - ], - schemas: [], -}) -export class UserGrantModule { } diff --git a/console/src/app/pages/granted-projects/granted-project-grid/granted-project-grid.component.scss b/console/src/app/pages/granted-projects/granted-project-grid/granted-project-grid.component.scss index 18de27eeec..7fce400eec 100644 --- a/console/src/app/pages/granted-projects/granted-project-grid/granted-project-grid.component.scss +++ b/console/src/app/pages/granted-projects/granted-project-grid/granted-project-grid.component.scss @@ -88,7 +88,6 @@ margin-top: 1rem; font-size: 1.2rem; margin-bottom: 0.5rem; - font-family: 'Rubik', sans-serif; } .description { @@ -186,7 +185,6 @@ border-radius: 0.5rem; margin: 1rem; box-sizing: border-box; - font-family: 'Rubik', sans-serif; .icon { display: flex; diff --git a/console/src/app/pages/granted-projects/granted-projects.component.scss b/console/src/app/pages/granted-projects/granted-projects.component.scss index 137328cfe7..c30ac71845 100644 --- a/console/src/app/pages/granted-projects/granted-projects.component.scss +++ b/console/src/app/pages/granted-projects/granted-projects.component.scss @@ -1,5 +1,4 @@ h1 { - font-family: ailerons; margin-top: 0; } diff --git a/console/src/app/pages/home/home.component.scss b/console/src/app/pages/home/home.component.scss index 5e560041e9..d4d662ecbe 100644 --- a/console/src/app/pages/home/home.component.scss +++ b/console/src/app/pages/home/home.component.scss @@ -1,24 +1,4 @@ -.circle { - position: relative; - border-radius: 100%; - width: 8rem; - height: 8rem; - background: linear-gradient(40deg, #8983F7, #A3DAFB 70%); - margin: auto; - } - .crescent { - position: absolute; - border-radius: 100%; - right: 0; - width: 6rem; - height: 6rem; - background: #212224; - transform: scale(1); - transform-origin: top right; - transition: transform .6s cubic-bezier(0.645, 0.045, 0.355, 1); - } - .wrapper { width: 80%; max-width: 1350px; @@ -43,7 +23,6 @@ h1 { font-size: 3rem; - font-family: ailerons; } p { color: #8795a1; @@ -78,7 +57,6 @@ padding: 1rem 2rem; h2 { margin-top: .5rem; - font-family: 'Rubik'; display: flex; align-items: center; } diff --git a/console/src/app/pages/iam/iam.component.scss b/console/src/app/pages/iam/iam.component.scss index 0d6fd6ed2a..00d5f9582c 100644 --- a/console/src/app/pages/iam/iam.component.scss +++ b/console/src/app/pages/iam/iam.component.scss @@ -1,5 +1,4 @@ h1 { - font-family: ailerons; margin-top: 0; } diff --git a/console/src/app/pages/orgs/org-detail/org-detail.component.scss b/console/src/app/pages/orgs/org-detail/org-detail.component.scss index d2b3e5eeda..91d55e19d3 100644 --- a/console/src/app/pages/orgs/org-detail/org-detail.component.scss +++ b/console/src/app/pages/orgs/org-detail/org-detail.component.scss @@ -1,5 +1,4 @@ h1 { - font-family: ailerons; margin-top: 0; } diff --git a/console/src/app/pages/orgs/org-grid/org-grid.component.scss b/console/src/app/pages/orgs/org-grid/org-grid.component.scss index 8b19a6a58f..2e47755ca3 100644 --- a/console/src/app/pages/orgs/org-grid/org-grid.component.scss +++ b/console/src/app/pages/orgs/org-grid/org-grid.component.scss @@ -1,5 +1,4 @@ h1 { - font-family: ailerons; margin-top: 0; } @@ -88,7 +87,6 @@ h1 { margin-top: 1rem; font-size: 1.2rem; margin-bottom: 0.5rem; - font-family: 'Rubik', sans-serif; } .description { @@ -200,7 +198,6 @@ h1 { border-radius: 0.5rem; margin: 1rem; box-sizing: border-box; - font-family: 'Rubik', sans-serif; .icon { display: flex; diff --git a/console/src/app/pages/owned-projects/owned-project-grid/owned-project-grid.component.scss b/console/src/app/pages/owned-projects/owned-project-grid/owned-project-grid.component.scss index 1b8ace3792..82714b1ae3 100644 --- a/console/src/app/pages/owned-projects/owned-project-grid/owned-project-grid.component.scss +++ b/console/src/app/pages/owned-projects/owned-project-grid/owned-project-grid.component.scss @@ -84,7 +84,6 @@ margin-top: 1rem; font-size: 1.2rem; margin-bottom: 0.5rem; - font-family: 'Rubik', sans-serif; } .description { @@ -182,7 +181,6 @@ border-radius: 0.5rem; margin: 1rem; box-sizing: border-box; - font-family: 'Rubik', sans-serif; .icon { display: flex; diff --git a/console/src/app/pages/owned-projects/owned-project-list/owned-project-list.component.scss b/console/src/app/pages/owned-projects/owned-project-list/owned-project-list.component.scss index aa17b21692..a6b8799423 100644 --- a/console/src/app/pages/owned-projects/owned-project-list/owned-project-list.component.scss +++ b/console/src/app/pages/owned-projects/owned-project-list/owned-project-list.component.scss @@ -1,5 +1,4 @@ h1 { - font-family: ailerons; margin-top: 0; } diff --git a/console/src/app/pages/owned-projects/owned-projects-routing.module.ts b/console/src/app/pages/owned-projects/owned-projects-routing.module.ts index 5f58c884a6..9d4028ea9c 100644 --- a/console/src/app/pages/owned-projects/owned-projects-routing.module.ts +++ b/console/src/app/pages/owned-projects/owned-projects-routing.module.ts @@ -41,7 +41,6 @@ const routes: Routes = [ { path: ':projectid/roles/create', loadChildren: () => import('../project-role-create/project-role-create.module').then(m => m.ProjectRoleCreateModule), - }, { path: ':projectid/grants/create', diff --git a/console/src/app/pages/owned-projects/owned-projects.component.scss b/console/src/app/pages/owned-projects/owned-projects.component.scss index 137328cfe7..c30ac71845 100644 --- a/console/src/app/pages/owned-projects/owned-projects.component.scss +++ b/console/src/app/pages/owned-projects/owned-projects.component.scss @@ -1,5 +1,4 @@ h1 { - font-family: ailerons; margin-top: 0; } diff --git a/console/src/app/pages/owned-projects/project-application-grid/project-application-grid.component.scss b/console/src/app/pages/owned-projects/project-application-grid/project-application-grid.component.scss index e35aa57d76..93a1a03a20 100644 --- a/console/src/app/pages/owned-projects/project-application-grid/project-application-grid.component.scss +++ b/console/src/app/pages/owned-projects/project-application-grid/project-application-grid.component.scss @@ -5,10 +5,6 @@ .fill-space { flex: 1; } - - h3 { - font-family: 'Rubik'; - } } .app-container { diff --git a/console/src/app/pages/project-grant-create/project-grant-create.component.scss b/console/src/app/pages/project-grant-create/project-grant-create.component.scss index 1548125212..1c3cd27cc3 100644 --- a/console/src/app/pages/project-grant-create/project-grant-create.component.scss +++ b/console/src/app/pages/project-grant-create/project-grant-create.component.scss @@ -1,7 +1,3 @@ -h1 { - font-family: ailerons; -} - .container { padding: 4rem 4rem 2rem 4rem; diff --git a/console/src/app/pages/signedout/signedout.component.scss b/console/src/app/pages/signedout/signedout.component.scss index ed2984af31..104aba03e3 100644 --- a/console/src/app/pages/signedout/signedout.component.scss +++ b/console/src/app/pages/signedout/signedout.component.scss @@ -12,7 +12,6 @@ h1 { font-size: 3rem; - font-family: ailerons; } p { color: #8795a1; diff --git a/console/src/app/pages/user-detail/auth-user-detail/auth-user-detail.component.html b/console/src/app/pages/user-detail/auth-user-detail/auth-user-detail.component.html index 4a22394ecf..1da19c8920 100644 --- a/console/src/app/pages/user-detail/auth-user-detail/auth-user-detail.component.html +++ b/console/src/app/pages/user-detail/auth-user-detail/auth-user-detail.component.html @@ -229,7 +229,6 @@ - \ No newline at end of file diff --git a/console/src/app/pages/user-detail/auth-user-detail/auth-user-detail.component.scss b/console/src/app/pages/user-detail/auth-user-detail/auth-user-detail.component.scss index c26eac1811..cda88ccdac 100644 --- a/console/src/app/pages/user-detail/auth-user-detail/auth-user-detail.component.scss +++ b/console/src/app/pages/user-detail/auth-user-detail/auth-user-detail.component.scss @@ -1,5 +1,4 @@ h1 { - font-family: ailerons; margin-top: 0; } diff --git a/console/src/app/pages/user-detail/auth-user-detail/auth-user-detail.component.ts b/console/src/app/pages/user-detail/auth-user-detail/auth-user-detail.component.ts index 0bb4b73074..5e8c1a691b 100644 --- a/console/src/app/pages/user-detail/auth-user-detail/auth-user-detail.component.ts +++ b/console/src/app/pages/user-detail/auth-user-detail/auth-user-detail.component.ts @@ -45,7 +45,6 @@ export class AuthUserDetailComponent implements OnDestroy { public languages: string[] = ['de', 'en']; public passwordForm!: FormGroup; - // public addressForm!: FormGroup; private subscription: Subscription = new Subscription(); public emailEditState: boolean = false; @@ -101,14 +100,6 @@ export class AuthUserDetailComponent implements OnDestroy { }); }); - // this.addressForm = this.fb.group({ - // streetAddress: [''], - // postalCode: [''], - // locality: [''], - // region: [''], - // country: [''], - // }); - this.loading = true; this.getData().then(() => { this.loading = false; @@ -229,33 +220,6 @@ export class AuthUserDetailComponent implements OnDestroy { }); } - // public saveAddress(): void { - // this.address = this.addressForm.value; - // this.userService - // .SaveMyUserAddress(this.address as UserAddress.AsObject).then((data: UserAddress) => { - // this.toast.showInfo('Saved Address'); - // this.address = data.toObject(); - // }).catch(data => { - // this.toast.showError(data.message); - // }); - // } - - // public get streetAddress(): AbstractControl | null { - // return this.addressForm.get('streetAddress'); - // } - // public get postalCode(): AbstractControl | null { - // return this.addressForm.get('postalCode'); - // } - // public get locality(): AbstractControl | null { - // return this.addressForm.get('locality'); - // } - // public get region(): AbstractControl | null { - // return this.addressForm.get('region'); - // } - // public get country(): AbstractControl | null { - // return this.addressForm.get('country'); - // } - public get currentPassword(): AbstractControl | null { return this.passwordForm.get('currentPassword'); } @@ -272,9 +236,6 @@ export class AuthUserDetailComponent implements OnDestroy { }).catch(err => { console.error(err); }); - - // this.address = (await this.userService.GetMyUserAddress()).toObject(); - // this.addressForm.patchValue(this.address); } public copytoclipboard(value: string): void { diff --git a/console/src/app/pages/user-detail/theme-setting/theme-setting.component.scss b/console/src/app/pages/user-detail/theme-setting/theme-setting.component.scss index 47f4e43102..a22678728c 100644 --- a/console/src/app/pages/user-detail/theme-setting/theme-setting.component.scss +++ b/console/src/app/pages/user-detail/theme-setting/theme-setting.component.scss @@ -1,9 +1,5 @@ $dark-background: #2d2e30; -// * { -// transition: background-color .5s ease-in-out; -// } - :root { transition: none; } @@ -11,11 +7,13 @@ $dark-background: #2d2e30; .theme-app { position: relative; } + .theme-content { display: flex; flex-direction: column; text-align: center; } + .circle { position: relative; border-radius: 100%; @@ -24,6 +22,7 @@ $dark-background: #2d2e30; background: linear-gradient(40deg, #FF0080,#FF8C00 70%); margin: auto; } + .crescent { position: absolute; border-radius: 100%; @@ -35,9 +34,11 @@ $dark-background: #2d2e30; transform-origin: top right; transition: transform .6s cubic-bezier(0.645, 0.045, 0.355, 1); } + p { font-size: 90%; } + .heading { font-size: 100%; font-weight: bolder; @@ -62,11 +63,13 @@ label { margin: 1rem 0 1rem 0; cursor: pointer; } + .toggle { position: absolute; background-color: #fafafa; box-shadow: 0 2px 15px rgba(0,0,0,.15); } + .names { font-size: 90%; font-weight: bolder; @@ -79,38 +82,37 @@ label { user-select: none; } -/* -------- Switch Styles ------------*/ [type="checkbox"] { display: none; } -/* Toggle */ + [type="checkbox"]:checked + .theme-app .toggle{ transform: translateX(100%); background-color: $dark-background; } + [type="checkbox"]:checked + .theme-app .dark{ opacity: 1; } + [type="checkbox"]:checked + .theme-app .light{ opacity: .5; } -/* App */ + [type="checkbox"]:checked + .theme-app{ background-color: $dark-background; color: #fafafa; } -/* Circle */ + [type="checkbox"]:checked + .theme-app .crescent{ transform: scale(1); background: $dark-background; } + [type="checkbox"]:checked + .theme-app .circle{ background: linear-gradient(40deg, #8983F7, #A3DAFB 70%); } + [type="checkbox"]:checked + .theme-app .main-circle{ background: linear-gradient(40deg, #8983F7, #A3DAFB 70%); -} -/* Fab */ -[type="checkbox"]:checked + .theme-app .fab{ - background-color: $dark-background; -} +} \ No newline at end of file diff --git a/console/src/app/pages/user-detail/user-detail-routing.module.ts b/console/src/app/pages/user-detail/user-detail-routing.module.ts index 4afe73a961..2b5fe61abd 100644 --- a/console/src/app/pages/user-detail/user-detail-routing.module.ts +++ b/console/src/app/pages/user-detail/user-detail-routing.module.ts @@ -18,10 +18,6 @@ const routes: Routes = [ roles: ['user.read'], }, }, - { - path: ':id/grant/:grantid', - loadChildren: () => import('src/app/modules/user-grant/user-grant.module').then(m => m.UserGrantModule), - }, ]; @NgModule({ diff --git a/console/src/app/pages/user-detail/user-detail/user-detail.component.html b/console/src/app/pages/user-detail/user-detail/user-detail.component.html index 8ff653d7ec..73881402cf 100644 --- a/console/src/app/pages/user-detail/user-detail/user-detail.component.html +++ b/console/src/app/pages/user-detail/user-detail/user-detail.component.html @@ -4,7 +4,7 @@ arrow_back -

{{ 'USER.PROFILE.TITLE' | translate }} {{user?.firstName}}

+

{{ 'USER.PROFILE.TITLE' | translate }} {{user?.displayName}}

{{ 'USER.PROFILE.DESCRIPTION' | translate }}

@@ -175,36 +175,6 @@ - - -

{{ 'CHANGES.USER.TITLE' | translate }}

\ No newline at end of file diff --git a/console/src/app/pages/user-detail/user-detail/user-detail.component.ts b/console/src/app/pages/user-detail/user-detail/user-detail.component.ts index 59eafaee19..71fe7bca38 100644 --- a/console/src/app/pages/user-detail/user-detail/user-detail.component.ts +++ b/console/src/app/pages/user-detail/user-detail/user-detail.component.ts @@ -104,14 +104,6 @@ export class UserDetailComponent implements OnInit, OnDestroy { confirmPassword: ['', [passwordConfirmValidator]], }); }); - - // this.addressForm = this.fb.group({ - // streetAddress: [''], - // postalCode: [''], - // locality: [''], - // region: [''], - // country: [''], - // }); } public ngOnInit(): void { @@ -231,46 +223,10 @@ export class UserDetailComponent implements OnInit, OnDestroy { }); } - // public saveAddress(): void { - // if (!this.address.id) { - // this.address.id = this.user.id; - // } - - // this.address.streetAddress = this.streetAddress?.value; - // this.address.postalCode = this.postalCode?.value; - // this.address.locality = this.locality?.value; - // this.address.region = this.region?.value; - // this.address.country = this.country?.value; - - // this.mgmtUserService - // .SaveUserAddress(this.address as UserAddress.AsObject).then((data: UserAddress) => { - // this.toast.showInfo('Saved Address'); - // this.address = data.toObject(); - // }).catch(data => { - // this.toast.showError(data.message); - // }); - // } - public navigateBack(): void { this._location.back(); } - // public get streetAddress(): AbstractControl | null { - // return this.addressForm.get('streetAddress'); - // } - // public get postalCode(): AbstractControl | null { - // return this.addressForm.get('postalCode'); - // } - // public get locality(): AbstractControl | null { - // return this.addressForm.get('locality'); - // } - // public get region(): AbstractControl | null { - // return this.addressForm.get('region'); - // } - // public get country(): AbstractControl | null { - // return this.addressForm.get('country'); - // } - public get password(): AbstractControl | null { return this.passwordForm.get('password'); } @@ -285,7 +241,5 @@ export class UserDetailComponent implements OnInit, OnDestroy { }).catch(err => { console.error(err); }); - // this.address = (await this.mgmtUserService.GetUserAddress(id)).toObject(); - // this.addressForm.patchValue(this.address); } } diff --git a/console/src/app/pages/user-list/user-list.component.scss b/console/src/app/pages/user-list/user-list.component.scss index c87795e32a..dd53f8a615 100644 --- a/console/src/app/pages/user-list/user-list.component.scss +++ b/console/src/app/pages/user-list/user-list.component.scss @@ -1,5 +1,4 @@ h1 { - font-family: ailerons; margin-top: 0; } diff --git a/console/src/app/services/project.service.ts b/console/src/app/services/project.service.ts index 38dff32117..ff2cb5a317 100644 --- a/console/src/app/services/project.service.ts +++ b/console/src/app/services/project.service.ts @@ -36,8 +36,10 @@ import { ProjectMemberRoles, ProjectMemberSearchRequest, ProjectMemberSearchResponse, + ProjectRole, ProjectRoleAdd, ProjectRoleAddBulk, + ProjectRoleChange, ProjectRoleRemove, ProjectRoleSearchQuery, ProjectRoleSearchRequest, @@ -386,6 +388,22 @@ export class ProjectService { ); } + + public async ChangeProjectRole(projectId: string, key: string, displayName: string, group: string): + Promise { + const req = new ProjectRoleChange(); + req.setId(projectId); + req.setKey(key); + req.setGroup(group); + req.setDisplayName(displayName); + return await this.request( + c => c.changeProjectRole, + req, + f => f, + ); + } + + public async RemoveProjectMember(id: string, userId: string): Promise { const req = new ProjectMemberRemove(); req.setId(id); diff --git a/console/src/assets/i18n/de.json b/console/src/assets/i18n/de.json index a601a2c2e9..d7a2ba9ced 100644 --- a/console/src/assets/i18n/de.json +++ b/console/src/assets/i18n/de.json @@ -32,10 +32,12 @@ "ACTIONS": { "SAVE": "speichern", "NEW": "neu", + "ADD":"Hinzufügen", "CREATE": "create", "CONTINUE": "Weiter", "BACK": "zurück", "CLOSE": "schliessen", + "CANCEL":"abbrechen", "INFO": "Info", "OK": "Ok", "VIEW": "Ansehen", @@ -396,8 +398,11 @@ "ACTIONS": "Aktion", "ADDTITLE": "Rolle erstellen", "ADDDESCRIPTION": "Geben Sie die Daten für die zu erstellende Rolle ein!", + "EDITTITLE": "Rolle ändern", + "EDITDESCRIPTION": "Geben Sie die Daten für die zu verändernde Rolle ein!", "DELETE":"Rolle löschen", - "CREATIONDATE":"Erstelldatum" + "CREATIONDATE":"Erstelldatum", + "SELECTGROUPTOOLTIP":"Selektiere alle Rollen der Gruppe {{group}}" }, "TABLE": { "TOTAL": "Einträge gesamt:", diff --git a/console/src/assets/i18n/en.json b/console/src/assets/i18n/en.json index 684901eb56..518f99987d 100644 --- a/console/src/assets/i18n/en.json +++ b/console/src/assets/i18n/en.json @@ -32,10 +32,12 @@ "ACTIONS": { "SAVE": "Save", "NEW": "New", + "ADD":"Add", "CREATE": "Create", "CONTINUE": "Continue", "BACK": "back", "CLOSE": "Close", + "CANCEL":"cancel", "INFO": "Info", "OK": "OK", "VIEW": "Show", @@ -397,8 +399,11 @@ "ACTIONS": "Actions", "ADDTITLE": "Create role", "ADDDESCRIPTION": "Enter the data for the new role!", + "EDITTITLE": "Edit role", + "EDITDESCRIPTION": "Enter the new data for the role!", "DELETE":"Delete Role", - "CREATIONDATE":"Created" + "CREATIONDATE":"Created", + "SELECTGROUPTOOLTIP":"Select all Roles of the group {{group}}" }, "TABLE": { "TOTAL": "Entries total:", @@ -535,7 +540,7 @@ }, "CHANGES": { "LISTTITLE":"Last Changes", - "BOTTOM":"Bottom", + "BOTTOM":"You've arrived at the bottom", "ORG": { "TITLE":"Activity", "DESCRIPTION":"Here you can see the latest events that have affected an organization change" diff --git a/console/src/index.html b/console/src/index.html index 2adc161447..1c211ecb53 100644 --- a/console/src/index.html +++ b/console/src/index.html @@ -10,7 +10,7 @@ - + diff --git a/console/src/styles.scss b/console/src/styles.scss index 9758429a3d..00942dbfbb 100644 --- a/console/src/styles.scss +++ b/console/src/styles.scss @@ -109,7 +109,7 @@ $dark-theme: mat-dark-theme($dark-primary, $dark-accent, $dark-warn); $custom-typography: mat-typography-config( - $font-family: 'Rubik' + $font-family: 'Lato' ); @include mat-core($custom-typography); @@ -121,7 +121,7 @@ $custom-typography: mat-typography-config( @include angular-material-theme($light-theme); color: #202124; - .crescent, .side, .main-container { + .side, .main-container { background-color: white; transition: background-color .5s ease-in-out; } @@ -131,7 +131,7 @@ $custom-typography: mat-typography-config( @include component-themes($dark-theme); @include angular-material-theme($dark-theme); - .crescent, .side, .main-container { + .side, .main-container { background-color: #212224; transition: background-color .5s ease-in-out; } @@ -154,7 +154,7 @@ body { } body { margin: 0; - font-family: 'Rubik', -apple-system, BlinkMacSystemFont, + font-family: 'Lato', -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;