From 83ee92094142f542b02b9a7b6180c52809ccd401 Mon Sep 17 00:00:00 2001 From: Martin Stockhammer Date: Thu, 3 Dec 2020 21:26:22 +0100 Subject: [PATCH] Adding role edit form --- .../archiva-web/src/app/app-routing.module.ts | 8 +- .../main/archiva-web/src/app/app.module.ts | 2 +- .../src/app/model/application.spec.ts | 7 + .../archiva-web/src/app/model/application.ts | 2 + .../src/app/model/role-template.spec.ts | 7 + .../src/app/model/role-template.ts | 9 + .../src/app/model/role-tree.spec.ts | 25 +++ .../archiva-web/src/app/model/role-tree.ts | 26 +++ .../archiva-web/src/app/model/role.spec.ts | 25 +++ .../main/archiva-web/src/app/model/role.ts | 38 +++++ .../manage-roles/manage-roles.component.html | 0 .../manage-roles/manage-roles.component.scss | 0 .../manage-roles.component.spec.ts | 0 .../manage-roles/manage-roles.component.ts | 0 .../security-configuration.component.html | 0 .../security-configuration.component.scss | 0 .../security-configuration.component.spec.ts | 0 .../security-configuration.component.ts | 0 .../{user => security}/user-routing.module.ts | 10 +- .../modules/{user => security}/user.module.ts | 7 +- .../manage-users-add.component.html | 0 .../manage-users-add.component.scss | 0 .../manage-users-add.component.spec.ts | 0 .../manage-users-add.component.ts | 0 .../users/manage-users-base.component.ts | 0 .../manage-users-delete.component.html | 0 .../manage-users-delete.component.scss | 0 .../manage-users-delete.component.spec.ts | 0 .../manage-users-delete.component.ts | 4 +- .../manage-users-edit.component.html | 0 .../manage-users-edit.component.scss | 0 .../manage-users-edit.component.spec.ts | 0 .../manage-users-edit.component.ts | 0 .../manage-users-list.component.html | 6 +- .../manage-users-list.component.scss | 0 .../manage-users-list.component.spec.ts | 0 .../manage-users-list.component.ts | 0 .../manage-users-roles.component.html | 50 ++++++ .../manage-users-roles.component.scss | 0 .../manage-users-roles.component.spec.ts | 25 +++ .../manage-users-roles.component.ts | 155 ++++++++++++++++++ .../manage-users/manage-users.component.html | 9 +- .../manage-users/manage-users.component.scss | 0 .../manage-users.component.spec.ts | 0 .../manage-users/manage-users.component.ts | 0 .../src/app/modules/shared/shared.module.ts | 94 ++++++----- .../shared/sidemenu/sidemenu.component.html | 6 +- .../src/app/services/role.service.spec.ts | 16 ++ .../src/app/services/role.service.ts | 17 ++ .../src/app/services/user.service.ts | 51 +++--- .../main/archiva-web/src/assets/i18n/en.json | 4 + .../src/main/archiva-web/tsconfig.json | 7 +- 52 files changed, 521 insertions(+), 89 deletions(-) create mode 100644 archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/application.spec.ts create mode 100644 archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/application.ts create mode 100644 archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role-template.spec.ts create mode 100644 archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role-template.ts create mode 100644 archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role-tree.spec.ts create mode 100644 archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role-tree.ts create mode 100644 archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role.spec.ts create mode 100644 archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role.ts rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/manage-roles/manage-roles.component.html (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/manage-roles/manage-roles.component.scss (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/manage-roles/manage-roles.component.spec.ts (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/manage-roles/manage-roles.component.ts (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/security-configuration/security-configuration.component.html (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/security-configuration/security-configuration.component.scss (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/security-configuration/security-configuration.component.spec.ts (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/security-configuration/security-configuration.component.ts (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/user-routing.module.ts (81%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/user.module.ts (89%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/users/manage-users-add/manage-users-add.component.html (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/users/manage-users-add/manage-users-add.component.scss (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/users/manage-users-add/manage-users-add.component.spec.ts (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/users/manage-users-add/manage-users-add.component.ts (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/users/manage-users-base.component.ts (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/users/manage-users-delete/manage-users-delete.component.html (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/users/manage-users-delete/manage-users-delete.component.scss (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/users/manage-users-delete/manage-users-delete.component.spec.ts (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/users/manage-users-delete/manage-users-delete.component.ts (93%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/users/manage-users-edit/manage-users-edit.component.html (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/users/manage-users-edit/manage-users-edit.component.scss (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/users/manage-users-edit/manage-users-edit.component.spec.ts (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/users/manage-users-edit/manage-users-edit.component.ts (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/users/manage-users-list/manage-users-list.component.html (87%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/users/manage-users-list/manage-users-list.component.scss (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/users/manage-users-list/manage-users-list.component.spec.ts (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/users/manage-users-list/manage-users-list.component.ts (100%) create mode 100644 archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-roles/manage-users-roles.component.html create mode 100644 archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-roles/manage-users-roles.component.scss create mode 100644 archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-roles/manage-users-roles.component.spec.ts create mode 100644 archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-roles/manage-users-roles.component.ts rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/users/manage-users/manage-users.component.html (61%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/users/manage-users/manage-users.component.scss (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/users/manage-users/manage-users.component.spec.ts (100%) rename archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/{user => security}/users/manage-users/manage-users.component.ts (100%) create mode 100644 archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/services/role.service.spec.ts create mode 100644 archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/services/role.service.ts diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/app-routing.module.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/app-routing.module.ts index 877e4ac2a..be8b0a5f7 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/app-routing.module.ts +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/app-routing.module.ts @@ -27,9 +27,9 @@ import {LoginComponent} from "./modules/shared/login/login.component"; import {SearchComponent} from './modules/repo/search/search.component'; import {BrowseComponent} from "./modules/repo/browse/browse.component"; import {UploadComponent} from "./modules/repo/upload/upload.component"; -import {ManageRolesComponent} from "./modules/user/manage-roles/manage-roles.component"; +import {ManageRolesComponent} from "./modules/security/manage-roles/manage-roles.component"; import {RoutingGuardService as Guard} from "./services/routing-guard.service"; -import {SecurityConfigurationComponent} from "./modules/user/security-configuration/security-configuration.component"; +import {SecurityConfigurationComponent} from "./modules/security/security-configuration/security-configuration.component"; /** * You can use Guard (RoutingGuardService) for permission checking. The service needs data with one parameter 'perm', @@ -48,9 +48,9 @@ const routes: Routes = [ }, { - path: 'user', component: HomeComponent,canActivate:[Guard],data:{perm: 'menu.user.section'}, + path: 'security', component: HomeComponent,canActivate:[Guard],data:{perm: 'menu.user.section'}, children: [ - {path: 'users', loadChildren: () => import('./modules/user/user.module').then(m => m.UserModule)}, + {path: 'users', loadChildren: () => import('./modules/security/user.module').then(m => m.UserModule)}, {path: 'roles', component: ManageRolesComponent}, {path: 'config', component: SecurityConfigurationComponent}, ] diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/app.module.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/app.module.ts index 91332a446..d31202377 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/app.module.ts +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/app.module.ts @@ -35,7 +35,7 @@ import {NavSubgroupDirective} from './directives/nav-subgroup.directive'; import {SearchComponent} from './modules/repo/search/search.component'; import {BrowseComponent} from './modules/repo/browse/browse.component'; import {UploadComponent} from './modules/repo/upload/upload.component'; -import {SecurityConfigurationComponent} from './modules/user/security-configuration/security-configuration.component'; +import {SecurityConfigurationComponent} from './modules/security/security-configuration/security-configuration.component'; import {CoreModule} from "./modules/core/core.module"; import {httpTranslateLoader, SharedModule} from "./modules/shared/shared.module"; import {TranslateCompiler, TranslateLoader, TranslateModule} from "@ngx-translate/core"; diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/application.spec.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/application.spec.ts new file mode 100644 index 000000000..a77257168 --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/application.spec.ts @@ -0,0 +1,7 @@ +import { Application } from './application'; + +describe('Application', () => { + it('should create an instance', () => { + expect(new Application()).toBeTruthy(); + }); +}); diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/application.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/application.ts new file mode 100644 index 000000000..857d080a8 --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/application.ts @@ -0,0 +1,2 @@ +export class Application { +} diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role-template.spec.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role-template.spec.ts new file mode 100644 index 000000000..c95251c79 --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role-template.spec.ts @@ -0,0 +1,7 @@ +import { RoleTemplate } from './role-template'; + +describe('RoleTemplate', () => { + it('should create an instance', () => { + expect(new RoleTemplate()).toBeTruthy(); + }); +}); diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role-template.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role-template.ts new file mode 100644 index 000000000..82363d3a0 --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role-template.ts @@ -0,0 +1,9 @@ +export class RoleTemplate { + id:string + name:string + description:string + application_id:string + assignable:boolean + permanent:boolean + +} diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role-tree.spec.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role-tree.spec.ts new file mode 100644 index 000000000..63de023a8 --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role-tree.spec.ts @@ -0,0 +1,25 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { RoleTree } from './role-tree'; + +describe('RoleTree', () => { + it('should create an instance', () => { + expect(new RoleTree()).toBeTruthy(); + }); +}); diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role-tree.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role-tree.ts new file mode 100644 index 000000000..166b7003b --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role-tree.ts @@ -0,0 +1,26 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { Role } from './role'; +import {Application} from "@app/model/application"; + +export class RoleTree { + userid: string + applications: Map + root_roles: Array +} diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role.spec.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role.spec.ts new file mode 100644 index 000000000..7be0a054d --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role.spec.ts @@ -0,0 +1,25 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { Role } from './role'; + +describe('Role', () => { + it('should create an instance', () => { + expect(new Role()).toBeTruthy(); + }); +}); diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role.ts new file mode 100644 index 000000000..b2b9bd527 --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/model/role.ts @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +export class Role { + id: string + name: string + description: string + assignable: boolean + permanent: boolean + child: boolean + assigned: boolean + template_instance: boolean + application_id:string + model_id:string + resource:string + + children: Array + + // Web Internal attributes + enabled: boolean = true + level:number = -1 + +} diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/manage-roles/manage-roles.component.html b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/manage-roles/manage-roles.component.html similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/manage-roles/manage-roles.component.html rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/manage-roles/manage-roles.component.html diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/manage-roles/manage-roles.component.scss b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/manage-roles/manage-roles.component.scss similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/manage-roles/manage-roles.component.scss rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/manage-roles/manage-roles.component.scss diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/manage-roles/manage-roles.component.spec.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/manage-roles/manage-roles.component.spec.ts similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/manage-roles/manage-roles.component.spec.ts rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/manage-roles/manage-roles.component.spec.ts diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/manage-roles/manage-roles.component.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/manage-roles/manage-roles.component.ts similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/manage-roles/manage-roles.component.ts rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/manage-roles/manage-roles.component.ts diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/security-configuration/security-configuration.component.html b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/security-configuration/security-configuration.component.html similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/security-configuration/security-configuration.component.html rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/security-configuration/security-configuration.component.html diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/security-configuration/security-configuration.component.scss b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/security-configuration/security-configuration.component.scss similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/security-configuration/security-configuration.component.scss rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/security-configuration/security-configuration.component.scss diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/security-configuration/security-configuration.component.spec.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/security-configuration/security-configuration.component.spec.ts similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/security-configuration/security-configuration.component.spec.ts rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/security-configuration/security-configuration.component.spec.ts diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/security-configuration/security-configuration.component.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/security-configuration/security-configuration.component.ts similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/security-configuration/security-configuration.component.ts rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/security-configuration/security-configuration.component.ts diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/user-routing.module.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/user-routing.module.ts similarity index 81% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/user-routing.module.ts rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/user-routing.module.ts index bd88f139d..abb3a5e5a 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/user-routing.module.ts +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/user-routing.module.ts @@ -23,8 +23,8 @@ import { ManageUsersListComponent } from './users/manage-users-list/manage-users import { ManageUsersAddComponent } from './users/manage-users-add/manage-users-add.component'; import { ManageUsersEditComponent } from './users/manage-users-edit/manage-users-edit.component'; import { ManageUsersDeleteComponent } from './users/manage-users-delete/manage-users-delete.component'; -import {SharedModule} from "../shared/shared.module"; -import {TranslateModule} from "@ngx-translate/core"; +import {ManageUsersRolesComponent} from "./users/manage-users-roles/manage-users-roles.component"; +import {RoutingGuardService as Guard} from "@app/services/routing-guard.service"; /** @@ -33,13 +33,17 @@ import {TranslateModule} from "@ngx-translate/core"; */ const routes: Routes = [ - { path: '', component: ManageUsersComponent, + { path: '', component: ManageUsersComponent,canActivate:[Guard], + data: { perm: 'menu.user.manage' }, children: [ {path: 'list', component: ManageUsersListComponent}, {path: 'add', component: ManageUsersAddComponent}, {path: 'edit/:userid', component: ManageUsersEditComponent}, {path: 'edit', redirectTo:'edit/guest' }, {path: 'delete/:userid', component: ManageUsersDeleteComponent}, + {path: 'roles', component:ManageUsersRolesComponent}, + {path: 'roles/:userid', component:ManageUsersRolesComponent}, + {path: '', redirectTo:'list',pathMatch:'full'} ] } ]; diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/user.module.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/user.module.ts similarity index 89% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/user.module.ts rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/user.module.ts index a5cc6edfd..8cef8606a 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/user.module.ts +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/user.module.ts @@ -26,8 +26,8 @@ import {SharedModule} from "../shared/shared.module"; import {FormsModule, ReactiveFormsModule} from "@angular/forms"; import {ManageUsersDeleteComponent} from './users/manage-users-delete/manage-users-delete.component'; import {UserRoutingModule} from "./user-routing.module"; -import {TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { HttpClient } from '@angular/common/http'; +import { ManageUsersRolesComponent } from './users/manage-users-roles/manage-users-roles.component'; +import {RoutingGuardService} from "../../services/routing-guard.service"; @NgModule({ @@ -36,7 +36,8 @@ import { HttpClient } from '@angular/common/http'; ManageUsersListComponent, ManageUsersAddComponent, ManageUsersEditComponent, - ManageUsersDeleteComponent + ManageUsersDeleteComponent, + ManageUsersRolesComponent ], exports: [ ManageUsersComponent, diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-add/manage-users-add.component.html b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-add/manage-users-add.component.html similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-add/manage-users-add.component.html rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-add/manage-users-add.component.html diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-add/manage-users-add.component.scss b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-add/manage-users-add.component.scss similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-add/manage-users-add.component.scss rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-add/manage-users-add.component.scss diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-add/manage-users-add.component.spec.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-add/manage-users-add.component.spec.ts similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-add/manage-users-add.component.spec.ts rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-add/manage-users-add.component.spec.ts diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-add/manage-users-add.component.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-add/manage-users-add.component.ts similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-add/manage-users-add.component.ts rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-add/manage-users-add.component.ts diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-base.component.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-base.component.ts similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-base.component.ts rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-base.component.ts diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-delete/manage-users-delete.component.html b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-delete/manage-users-delete.component.html similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-delete/manage-users-delete.component.html rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-delete/manage-users-delete.component.html diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-delete/manage-users-delete.component.scss b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-delete/manage-users-delete.component.scss similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-delete/manage-users-delete.component.scss rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-delete/manage-users-delete.component.scss diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-delete/manage-users-delete.component.spec.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-delete/manage-users-delete.component.spec.ts similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-delete/manage-users-delete.component.spec.ts rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-delete/manage-users-delete.component.spec.ts diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-delete/manage-users-delete.component.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-delete/manage-users-delete.component.ts similarity index 93% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-delete/manage-users-delete.component.ts rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-delete/manage-users-delete.component.ts index fcfc438f0..d646e203c 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-delete/manage-users-delete.component.ts +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-delete/manage-users-delete.component.ts @@ -53,8 +53,10 @@ export class ManageUsersDeleteComponent implements OnInit, AfterViewInit { if (result=='YES' && userId!=null && userId!='') { let deleted = this.userService.deleteUser(userId).subscribe(); if (deleted) { - this.router.navigate(['/user','users','list']); + this.router.navigate(['/security','users','list']); } + } else if (result=='NO') { + this.router.navigate(['/security','users','list']); } }, (reason) => { console.log("Reason: " + reason); diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-edit/manage-users-edit.component.html b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-edit/manage-users-edit.component.html similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-edit/manage-users-edit.component.html rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-edit/manage-users-edit.component.html diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-edit/manage-users-edit.component.scss b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-edit/manage-users-edit.component.scss similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-edit/manage-users-edit.component.scss rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-edit/manage-users-edit.component.scss diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-edit/manage-users-edit.component.spec.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-edit/manage-users-edit.component.spec.ts similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-edit/manage-users-edit.component.spec.ts rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-edit/manage-users-edit.component.spec.ts diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-edit/manage-users-edit.component.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-edit/manage-users-edit.component.ts similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-edit/manage-users-edit.component.ts rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-edit/manage-users-edit.component.ts diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-list/manage-users-list.component.html b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-list/manage-users-list.component.html similarity index 87% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-list/manage-users-list.component.html rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-list/manage-users-list.component.html index f8763f2a6..77251b72c 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-list/manage-users-list.component.html +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-list/manage-users-list.component.html @@ -56,8 +56,10 @@ {{user.timestamp_last_login | date:'yyyy-MM-ddTHH:mm:ss'}} {{user.timestamp_account_creation | date : 'yyyy-MM-ddTHH:mm:ss'}} {{user.timestamp_last_password_change| date : 'yyyy-MM-ddTHH:mm:ss'}} - -    + + +    +    diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-list/manage-users-list.component.scss b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-list/manage-users-list.component.scss similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-list/manage-users-list.component.scss rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-list/manage-users-list.component.scss diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-list/manage-users-list.component.spec.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-list/manage-users-list.component.spec.ts similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-list/manage-users-list.component.spec.ts rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-list/manage-users-list.component.spec.ts diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-list/manage-users-list.component.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-list/manage-users-list.component.ts similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users-list/manage-users-list.component.ts rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-list/manage-users-list.component.ts diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-roles/manage-users-roles.component.html b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-roles/manage-users-roles.component.html new file mode 100644 index 000000000..6cc327424 --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-roles/manage-users-roles.component.html @@ -0,0 +1,50 @@ +

Roles

+ + + + + + + + + + + + + + + +
RoleScopeAssign
+ {{baseRole.application_id}} + +
+
+
+ + +

Repository Roles

+ + + + + + + + + + + + + + +
Repository{{templateRole.name}}
{{res.key}} +
+ +
+
diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-roles/manage-users-roles.component.scss b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-roles/manage-users-roles.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-roles/manage-users-roles.component.spec.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-roles/manage-users-roles.component.spec.ts new file mode 100644 index 000000000..b53258463 --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-roles/manage-users-roles.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ManageUsersRolesComponent } from './manage-users-roles.component'; + +describe('ManageUsersRolesComponent', () => { + let component: ManageUsersRolesComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ ManageUsersRolesComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(ManageUsersRolesComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-roles/manage-users-roles.component.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-roles/manage-users-roles.component.ts new file mode 100644 index 000000000..26de0d8e9 --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users-roles/manage-users-roles.component.ts @@ -0,0 +1,155 @@ +import { Component, OnInit } from '@angular/core'; +import { Role } from '@app/model/role'; +import {UserService} from "@app/services/user.service"; +import {ActivatedRoute} from "@angular/router"; +import {filter, map, switchMap} from "rxjs/operators"; +import {RoleTree} from "@app/model/role-tree"; +import {RoleService} from "@app/services/role.service"; +import {RoleTemplate} from "@app/model/role-template"; +import {Observable} from "rxjs"; +import {Util} from "@app/modules/shared/shared.module"; + +@Component({ + selector: 'app-manage-users-roles', + templateUrl: './manage-users-roles.component.html', + styleUrls: ['./manage-users-roles.component.scss'] +}) +export class ManageUsersRolesComponent implements OnInit { + + baseRoles : Array + guest: Role + registered: Role + // Map of (resource, [roles]) + templateRoleInstances: Map> + templateRoles$: Observable; + + constructor(private route : ActivatedRoute, private userService : UserService, private roleService : RoleService) { + this.route.params.pipe( + map(params => params.userid), filter(userid => userid!=null), switchMap(userid => userService.userRoleTree(userid))).subscribe(roleTree => { + this.parseRoleTree(roleTree); + }); + + } + + ngOnInit(): void { + this.templateRoles$ = this.roleService.getTemplates(); + } + + private parseRoleTree(roleTree:RoleTree): void { + let roleTable = []; + for(let rootRole of roleTree.root_roles) { + roleTable = this.recurseRoleTree(rootRole, roleTable, 0); + } + this.baseRoles = roleTable; + let templateMap : Map> = new Map>(); + for (let rootRole of roleTree.root_roles) { + templateMap = this.recurseTemplates(rootRole, templateMap, 0); + } + this.templateRoleInstances = templateMap; + } + + private recurseRoleTree(role:Role, roles : Array, level:number) : Array { + if (role.id=='guest') { + this.guest = role; + } else if (role.id=='registered-user') { + this.registered = role; + } + role.enabled=true; + let newLevel; + if (!role.template_instance && role.assignable) { + role.level=level + roles.push(role); + newLevel = level+1; + } else { + newLevel = level; + } + for(let childRole of role.children) { + roles = this.recurseRoleTree(childRole, roles, newLevel); + } + return roles; + } + + private recurseTemplates(role:Role, roles : Map>, level:number) : Map> { + role.enabled=true; + if (role.template_instance && role.assignable) { + role.level=level + let roleList = roles.get(role.resource) + if (roleList==null) { + roleList = [] + } + roleList.push(role); + roles.set(role.resource, roleList); + } + for(let childRole of role.children) { + roles = this.recurseTemplates(childRole, roles, level+1); + } + return roles; + } + + getRoleContent(role:Role) : string { + let level = role.level + let result = ""; + for(let _i=0; _i "; + } + if (role.child) { + return result + role.name; + } else { + return ""+result+role.name+"" + } + } + + changeBaseAssignment(role : Role, event) { + let cLevel=-1 + let assignStatus; + if (role.id==this.guest.id) { + if (role.assigned) { + for (let cRole of this.baseRoles) { + if (cRole.id != this.guest.id) { + cRole.assigned = false; + cRole.enabled=true; + } + } + role.enabled = false; + } + } else { + this.guest.enabled = true; + for (let cRole of this.baseRoles) { + if (cRole.id == role.id) { + console.log("Value: " + cRole.assigned); + cLevel = cRole.level; + assignStatus = cRole.assigned; + if (assignStatus) { + this.guest.assigned = false; + } else { + if (!this.baseRoles.find(role=>role.assigned)) { + this.guest.assigned=true; + } + } + } else { + console.log("Level " + cLevel); + if (cLevel >= 0 && cLevel < cRole.level) { + if (assignStatus) { + cRole.assigned = true; + cRole.enabled = false; + } else { + cRole.enabled = true; + } + } else if (cLevel >= 0) { + break; + } + } + } + } + } + + changeInstAssignment(role : Role, event) { + console.log("Change " + role.id); + console.log("Assignment changed "+JSON.stringify(event)); + console.log("Event target "+event.target); + } + + getInstanceContent(template:RoleTemplate, roles:Array) : Role { + return roles.find(role=>role.model_id==template.id) + } +} diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users/manage-users.component.html b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users/manage-users.component.html similarity index 61% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users/manage-users.component.html rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users/manage-users.component.html index 5eb66fd27..d5c5b420c 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users/manage-users.component.html +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users/manage-users.component.html @@ -19,13 +19,16 @@ diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users/manage-users.component.scss b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users/manage-users.component.scss similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users/manage-users.component.scss rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users/manage-users.component.scss diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users/manage-users.component.spec.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users/manage-users.component.spec.ts similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users/manage-users.component.spec.ts rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users/manage-users.component.spec.ts diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users/manage-users.component.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users/manage-users.component.ts similarity index 100% rename from archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/user/users/manage-users/manage-users.component.ts rename to archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/security/users/manage-users/manage-users.component.ts diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/shared/shared.module.ts b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/shared/shared.module.ts index cf7ef71f7..0ff9025b3 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/shared/shared.module.ts +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/shared/shared.module.ts @@ -16,8 +16,8 @@ * under the License. */ -import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; +import {NgModule} from '@angular/core'; +import {CommonModule} from '@angular/common'; import {PaginatedEntitiesComponent} from "./paginated-entities/paginated-entities.component"; import {SortedTableHeaderComponent} from "./sorted-table-header/sorted-table-header.component"; import {SortedTableHeaderRowComponent} from "./sorted-table-header-row/sorted-table-header-row.component"; @@ -29,42 +29,62 @@ import {TranslateHttpLoader} from "@ngx-translate/http-loader"; import {RouterModule} from "@angular/router"; - @NgModule({ - declarations: [ - PaginatedEntitiesComponent, - SortedTableHeaderComponent, - SortedTableHeaderRowComponent - ], - exports: [ - CommonModule, - RouterModule, - TranslateModule, - NgbPaginationModule, - NgbTooltipModule, - PaginatedEntitiesComponent, - SortedTableHeaderComponent, - SortedTableHeaderRowComponent - ], - imports: [ - CommonModule, - RouterModule, - NgbPaginationModule, - NgbTooltipModule, - TranslateModule.forChild({ - compiler: { - provide: TranslateCompiler, - useClass: TranslateMessageFormatCompiler - }, - loader: { - provide: TranslateLoader, - useFactory: httpTranslateLoader, - deps: [HttpClient] - } - }), - ] + declarations: [ + PaginatedEntitiesComponent, + SortedTableHeaderComponent, + SortedTableHeaderRowComponent + ], + exports: [ + CommonModule, + RouterModule, + TranslateModule, + NgbPaginationModule, + NgbTooltipModule, + PaginatedEntitiesComponent, + SortedTableHeaderComponent, + SortedTableHeaderRowComponent + ], + imports: [ + CommonModule, + RouterModule, + NgbPaginationModule, + NgbTooltipModule, + TranslateModule.forChild({ + compiler: { + provide: TranslateCompiler, + useClass: TranslateMessageFormatCompiler + }, + loader: { + provide: TranslateLoader, + useFactory: httpTranslateLoader, + deps: [HttpClient] + } + }), + ] }) -export class SharedModule { } +export class SharedModule { +} + export function httpTranslateLoader(http: HttpClient) { - return new TranslateHttpLoader(http); + return new TranslateHttpLoader(http); +} + +export const Util = { + deepCopy(src: Object, dst: Object) { + Object.keys(src).forEach((key, idx) => { + let srcEl = src[key]; + if (typeof (srcEl) == 'object') { + let dstEl; + if (!dst.hasOwnProperty(key)) { + dst[key] = {} + } + dstEl = dst[key]; + this.deepCopy(srcEl, dstEl); + } else { + // console.debug("setting " + key + " = " + srcEl); + dst[key] = srcEl; + } + }); + } } \ No newline at end of file diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/shared/sidemenu/sidemenu.component.html b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/shared/sidemenu/sidemenu.component.html index c312cfc38..e147479c5 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/shared/sidemenu/sidemenu.component.html +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/shared/sidemenu/sidemenu.component.html @@ -56,11 +56,11 @@