From 2e34c6b2c769791d4e51f3b5da89df2051679de2 Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Thu, 28 Jul 2022 02:08:22 +0300 Subject: [PATCH] RED-4718: use initials avatar & user button from common-ui --- .eslintrc.json | 1 + apps/red-ui/src/app/app-routing.module.ts | 16 ++-- apps/red-ui/src/app/app.component.ts | 10 +-- apps/red-ui/src/app/app.module.ts | 13 ++- .../auth-error/auth-error.component.ts | 2 +- .../base-screen/base-screen.component.html | 2 +- .../base-screen/base-screen.component.ts | 4 +- .../notifications.component.html | 3 +- .../modules/account/account-routing.module.ts | 8 +- .../account-side-nav.component.ts | 2 +- .../user-profile-screen.component.ts | 4 +- .../app/modules/admin/admin-routing.module.ts | 36 ++++----- .../admin-side-nav.component.ts | 4 +- .../src/app/modules/admin/admin.module.ts | 3 +- .../reset-password.component.ts | 2 +- .../user-details/user-details.component.ts | 2 +- .../smtp-auth-dialog.component.ts | 2 +- .../screens/audit/audit-screen.component.html | 15 ++-- .../screens/audit/audit-screen.component.ts | 2 +- .../default-colors-screen.component.ts | 2 +- .../digital-signature-screen.component.ts | 2 +- ...ier-attributes-listing-screen.component.ts | 2 +- ...sier-templates-listing-screen.component.ts | 4 +- .../dossier-templates-listing.module.ts | 3 +- .../table-item/table-item.component.html | 4 +- .../dictionary/dictionary-screen.component.ts | 2 +- .../entity-info/entity-info.component.ts | 2 +- ...ile-attributes-listing-screen.component.ts | 2 +- .../general-config-screen.component.ts | 2 +- .../info/dossier-template-info.module.ts | 3 +- ...ossier-template-info-screen.component.html | 6 +- .../justifications-screen.component.ts | 4 +- .../table-item/table-item.component.ts | 4 +- .../license-screen.component.ts | 6 +- .../permissions-screen.component.ts | 2 +- .../user-listing-screen.component.html | 2 +- .../user-listing-screen.component.ts | 2 +- .../watermark-screen.component.ts | 2 +- .../screens/watermark/watermark.module.ts | 12 +-- .../watermarks-listing-screen.component.html | 5 +- .../watermarks-listing-screen.component.ts | 2 +- .../admin/services/admin-dialog.service.ts | 2 +- .../dossier-template-actions.component.ts | 2 +- .../src/app/modules/archive/archive.module.ts | 4 +- .../table-item/table-item.component.html | 2 +- .../table-item/table-item.component.ts | 2 +- .../archive/services/config.service.ts | 2 +- .../dashboard-screen.component.ts | 4 +- ...dossier-overview-bulk-actions.component.ts | 2 +- .../dossier-details.component.html | 2 +- .../dossier-details.component.ts | 2 +- ...ossier-overview-screen-header.component.ts | 2 +- .../file-workload/file-workload.component.ts | 2 +- .../table-item/table-item.component.html | 2 +- .../workflow-item.component.html | 2 +- .../dossier-overview/config.service.ts | 4 +- .../dossier-overview.module.ts | 3 +- .../dossier-overview-screen.component.ts | 2 +- .../dossiers-listing-actions.component.ts | 4 +- .../table-item/table-item.component.html | 2 +- .../dossiers-listing/config.service.ts | 4 +- .../dossiers-listing.module.ts | 3 +- .../dossiers-listing-screen.component.ts | 2 +- .../annotations-list.component.ts | 2 +- .../components/comments/comments.component.ts | 2 +- .../user-management.component.html | 4 +- .../user-management.component.ts | 2 +- .../file-preview-screen.component.html | 6 +- .../file-preview-screen.component.ts | 2 +- .../file-preview/file-preview.module.ts | 3 +- .../services/file-data.service.ts | 2 +- .../services/pdf-proxy.service.ts | 2 +- .../services/annotation-draw.service.ts | 2 +- .../services/document-viewer.service.ts | 2 +- .../pdf-viewer/services/pdf-viewer.service.ts | 2 +- .../pdf-viewer/services/tooltips.service.ts | 2 +- .../search-screen.component.html | 2 +- .../search-screen/search-screen.component.ts | 2 +- .../src/app/modules/search/search.module.ts | 4 +- .../file-actions/file-actions.component.ts | 4 +- ...sign-reviewer-approver-dialog.component.ts | 2 +- .../edit-dossier-dialog.component.ts | 2 +- .../edit-dossier-team.component.html | 13 +-- .../edit-dossier-team.component.ts | 2 +- .../services/file-assign.service.ts | 2 +- .../shared-dossiers/shared-dossiers.module.ts | 4 +- .../assign-user-dropdown.component.html | 2 +- .../assign-user-dropdown.component.ts | 2 +- .../user-button/user-button.component.html | 5 -- .../user-button/user-button.component.scss | 25 ------ .../user-button/user-button.component.ts | 15 ---- .../components/editor/editor.component.ts | 2 +- .../initials-avatar.component.html | 12 --- .../initials-avatar.component.scss | 17 ---- .../initials-avatar.component.ts | 81 ------------------- .../team-members/team-members.component.html | 2 +- .../team-members/team-members.component.ts | 2 +- .../src/app/modules/shared/pipes/name.pipe.ts | 59 -------------- .../src/app/modules/shared/shared.module.ts | 21 +++-- .../trash-table-item.component.html | 2 +- .../src/app/modules/trash/trash.module.ts | 4 +- .../services/file-download.service.ts | 2 +- .../red-ui/src/app/services/config.service.ts | 4 +- .../dossiers/dossier-stats.service.ts | 2 +- .../src/app/services/editor-theme.service.ts | 2 +- .../services/entity-services/trash.service.ts | 2 +- .../src/app/services/files/files.service.ts | 2 +- .../src/app/services/notifications.service.ts | 2 +- .../src/app/services/permissions.service.ts | 2 +- .../{modules/auth => users}/red-role.guard.ts | 6 +- .../user-preference.service.ts | 4 +- .../app/{services => users}/user.service.ts | 4 +- .../app/utils/configuration.initializer.ts | 11 +-- libs/common-ui | 2 +- libs/red-domain/src/lib/users/user.model.ts | 1 + tsconfig.json | 1 + 116 files changed, 211 insertions(+), 419 deletions(-) delete mode 100644 apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.html delete mode 100644 apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.scss delete mode 100644 apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.ts delete mode 100644 apps/red-ui/src/app/modules/shared/components/initials-avatar/initials-avatar.component.html delete mode 100644 apps/red-ui/src/app/modules/shared/components/initials-avatar/initials-avatar.component.scss delete mode 100644 apps/red-ui/src/app/modules/shared/components/initials-avatar/initials-avatar.component.ts delete mode 100644 apps/red-ui/src/app/modules/shared/pipes/name.pipe.ts rename apps/red-ui/src/app/{modules/auth => users}/red-role.guard.ts (91%) rename apps/red-ui/src/app/{services => users}/user-preference.service.ts (91%) rename apps/red-ui/src/app/{services => users}/user.service.ts (87%) diff --git a/.eslintrc.json b/.eslintrc.json index 521df9727..a305aede8 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -14,6 +14,7 @@ "@services/**", "@components/**", "@guards/**", + "@users/**", "@i18n/**", "@utils/**", "@models/**", diff --git a/apps/red-ui/src/app/app-routing.module.ts b/apps/red-ui/src/app/app-routing.module.ts index 616f51777..59705db57 100644 --- a/apps/red-ui/src/app/app-routing.module.ts +++ b/apps/red-ui/src/app/app-routing.module.ts @@ -1,6 +1,6 @@ import { AuthErrorComponent } from '@components/auth-error/auth-error.component'; -import { AuthGuard, CompositeRouteGuard, CustomRouteReuseStrategy } from '@iqser/common-ui'; -import { RedRoleGuard } from './modules/auth/red-role.guard'; +import { CompositeRouteGuard, CustomRouteReuseStrategy, IqserAuthGuard } from '@iqser/common-ui'; +import { RedRoleGuard } from '@users/red-role.guard'; import { BaseScreenComponent } from '@components/base-screen/base-screen.component'; import { RouteReuseStrategy, RouterModule, Routes } from '@angular/router'; import { NgModule } from '@angular/core'; @@ -44,7 +44,7 @@ const routes: Routes = [ loadChildren: () => import('./modules/dashboard/dashboard.module').then(m => m.DashboardModule), canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard, DossierTemplatesGuard, DashboardGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard, DossierTemplatesGuard, DashboardGuard], requiredRoles: ['RED_USER'], }, }, @@ -53,7 +53,7 @@ const routes: Routes = [ component: DownloadsListScreenComponent, canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard], }, }, { @@ -61,7 +61,7 @@ const routes: Routes = [ loadChildren: () => import('./modules/search/search.module').then(m => m.SearchModule), canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard], requiredRoles: ['RED_USER'], }, }, @@ -70,7 +70,7 @@ const routes: Routes = [ loadChildren: () => import('./modules/trash/trash.module').then(m => m.TrashModule), canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard, DossiersGuard, TrashGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard, DossiersGuard, TrashGuard], requiredRoles: ['RED_USER'], dossiersService: ACTIVE_DOSSIERS_SERVICE, }, @@ -134,7 +134,7 @@ const routes: Routes = [ ], canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard, DossierTemplatesGuard, DashboardGuard, DossierTemplateExistsGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard, DossierTemplatesGuard, DashboardGuard, DossierTemplateExistsGuard], requiredRoles: ['RED_USER'], }, }, @@ -143,7 +143,7 @@ const routes: Routes = [ { path: 'auth-error', component: AuthErrorComponent, - canActivate: [AuthGuard], + canActivate: [IqserAuthGuard], }, { path: '**', diff --git a/apps/red-ui/src/app/app.component.ts b/apps/red-ui/src/app/app.component.ts index de4e51a07..76629a582 100644 --- a/apps/red-ui/src/app/app.component.ts +++ b/apps/red-ui/src/app/app.component.ts @@ -1,10 +1,10 @@ import { Component, Inject, Renderer2, ViewContainerRef } from '@angular/core'; import { RouterHistoryService } from '@services/router-history.service'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { REDDocumentViewer } from './modules/pdf-viewer/services/document-viewer.service'; import { DossiersChangesService } from '@services/dossiers/dossier-changes.service'; import { DOCUMENT } from '@angular/common'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { UserPreferenceService } from '@users/user-preference.service'; @Component({ selector: 'redaction-root', @@ -20,10 +20,10 @@ export class AppComponent { private readonly _userPreferenceService: UserPreferenceService, readonly documentViewer: REDDocumentViewer, private readonly _dossierChangesService: DossiersChangesService, - @Inject(DOCUMENT) private document: Document, - private renderer: Renderer2, + @Inject(DOCUMENT) private readonly _document: Document, + private readonly _renderer: Renderer2, ) { - this.renderer.addClass(this.document.body, _userPreferenceService.getTheme()); + this._renderer.addClass(this._document.body, _userPreferenceService.getTheme()); // TODO: Find a better place to initialize dossiers refresh if (_userService.currentUser?.isUser) { _dossierChangesService.initializeRefresh(); diff --git a/apps/red-ui/src/app/app.module.ts b/apps/red-ui/src/app/app.module.ts index 3ea843510..c7ead3172 100644 --- a/apps/red-ui/src/app/app.module.ts +++ b/apps/red-ui/src/app/app.module.ts @@ -1,4 +1,4 @@ -import { BrowserModule, Title } from '@angular/platform-browser'; +import { BrowserModule } from '@angular/platform-browser'; import { APP_INITIALIZER, ErrorHandler, NgModule } from '@angular/core'; import { AppComponent } from './app.component'; import { ActivatedRoute, Router } from '@angular/router'; @@ -7,11 +7,11 @@ import { HTTP_INTERCEPTORS, HttpClient, HttpClientModule } from '@angular/common import { BaseScreenComponent } from '@components/base-screen/base-screen.component'; import { MissingTranslationHandler, TranslateCompiler, TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { - AuthModule as IqserAuthModule, BASE_HREF, CachingModule, CommonUiModule, IqserHelpModeModule, + IqserUsersModule, LanguageService, MAX_RETRIES_ON_SERVER_ERROR, SERVER_ERROR_SKIP_PATHS, @@ -42,8 +42,8 @@ import * as links from '../assets/help-mode/links.json'; import { KeycloakService } from 'keycloak-angular'; import { GeneralSettingsService } from '@services/general-settings.service'; import { BreadcrumbsComponent } from '@components/breadcrumbs/breadcrumbs.component'; -import { UserPreferenceService } from '@services/user-preference.service'; -import { UserService } from '@services/user.service'; +import { UserPreferenceService } from '@users/user-preference.service'; +import { UserService } from '@users/user.service'; import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service'; import { ArchivedDossiersService } from '@services/dossiers/archived-dossiers.service'; import { FeaturesService } from '@services/features.service'; @@ -56,7 +56,7 @@ import { PdfViewerModule } from './modules/pdf-viewer/pdf-viewer.module'; import { LicenseService } from '@services/license.service'; import { TenantIdInterceptor } from '@utils/tenant-id-interceptor'; import { UI_CACHES } from '@utils/constants'; -import { RedRoleGuard } from './modules/auth/red-role.guard'; +import { RedRoleGuard } from '@users/red-role.guard'; export function httpLoaderFactory(httpClient: HttpClient, configService: ConfigService): PruningTranslationLoader { return new PruningTranslationLoader(httpClient, '/assets/i18n/', `.json?version=${configService.values.FRONTEND_APP_VERSION}`); @@ -82,7 +82,7 @@ export const appModuleFactory = (config: AppConfig) => { configService: ConfigService, configServiceFactory: () => new ConfigService(config), }), - IqserAuthModule.forRoot({ + IqserUsersModule.forRoot({ existingUserService: UserService, existingRoleGuard: RedRoleGuard, }), @@ -168,7 +168,6 @@ export const appModuleFactory = (config: AppConfig) => { deps: [ BASE_HREF, KeycloakService, - Title, ConfigService, SystemPreferencesService, FeaturesService, diff --git a/apps/red-ui/src/app/components/auth-error/auth-error.component.ts b/apps/red-ui/src/app/components/auth-error/auth-error.component.ts index 1bf1d0a7e..358f36a2f 100644 --- a/apps/red-ui/src/app/components/auth-error/auth-error.component.ts +++ b/apps/red-ui/src/app/components/auth-error/auth-error.component.ts @@ -1,5 +1,5 @@ import { Component } from '@angular/core'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { ConfigService } from '@services/config.service'; @Component({ diff --git a/apps/red-ui/src/app/components/base-screen/base-screen.component.html b/apps/red-ui/src/app/components/base-screen/base-screen.component.html index 0acbea573..b206c9198 100644 --- a/apps/red-ui/src/app/components/base-screen/base-screen.component.html +++ b/apps/red-ui/src/app/components/base-screen/base-screen.component.html @@ -28,7 +28,7 @@ - + diff --git a/apps/red-ui/src/app/components/base-screen/base-screen.component.ts b/apps/red-ui/src/app/components/base-screen/base-screen.component.ts index bccbbb1eb..5ac61bdd1 100644 --- a/apps/red-ui/src/app/components/base-screen/base-screen.component.ts +++ b/apps/red-ui/src/app/components/base-screen/base-screen.component.ts @@ -1,6 +1,6 @@ import { Component } from '@angular/core'; -import { UserService } from '@services/user.service'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { UserService } from '@users/user.service'; +import { UserPreferenceService } from '@users/user-preference.service'; import { NavigationStart, Router } from '@angular/router'; import { Title } from '@angular/platform-browser'; import { TranslateService } from '@ngx-translate/core'; diff --git a/apps/red-ui/src/app/components/notifications/notifications.component.html b/apps/red-ui/src/app/components/notifications/notifications.component.html index a744fdf0d..ad7259a20 100644 --- a/apps/red-ui/src/app/components/notifications/notifications.component.html +++ b/apps/red-ui/src/app/components/notifications/notifications.component.html @@ -23,7 +23,8 @@ class="notification" mat-menu-item > - + +
{{ notification.time }}
diff --git a/apps/red-ui/src/app/modules/account/account-routing.module.ts b/apps/red-ui/src/app/modules/account/account-routing.module.ts index 447f6ad99..3afb6b6e4 100644 --- a/apps/red-ui/src/app/modules/account/account-routing.module.ts +++ b/apps/red-ui/src/app/modules/account/account-routing.module.ts @@ -1,7 +1,7 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { AuthGuard, CompositeRouteGuard } from '@iqser/common-ui'; -import { RedRoleGuard } from '../auth/red-role.guard'; +import { CompositeRouteGuard, IqserAuthGuard } from '@iqser/common-ui'; +import { RedRoleGuard } from '@users/red-role.guard'; import { BaseAccountScreenComponent } from './base-account-screen/base-account-screen-component'; const routes: Routes = [ @@ -11,7 +11,7 @@ const routes: Routes = [ component: BaseAccountScreenComponent, canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard], }, loadChildren: () => import('./screens/user-profile/user-profile.module').then(m => m.UserProfileModule), }, @@ -20,7 +20,7 @@ const routes: Routes = [ component: BaseAccountScreenComponent, canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard], requiredRoles: ['RED_USER'], }, loadChildren: () => import('./screens/notifications/notifications.module').then(m => m.NotificationsModule), diff --git a/apps/red-ui/src/app/modules/account/account-side-nav/account-side-nav.component.ts b/apps/red-ui/src/app/modules/account/account-side-nav/account-side-nav.component.ts index a3405ac88..ffbd2978f 100644 --- a/apps/red-ui/src/app/modules/account/account-side-nav/account-side-nav.component.ts +++ b/apps/red-ui/src/app/modules/account/account-side-nav/account-side-nav.component.ts @@ -1,6 +1,6 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; interface NavItem { readonly label: string; diff --git a/apps/red-ui/src/app/modules/account/screens/user-profile/user-profile-screen/user-profile-screen.component.ts b/apps/red-ui/src/app/modules/account/screens/user-profile/user-profile-screen/user-profile-screen.component.ts index bd65107f8..7e20a3d37 100644 --- a/apps/red-ui/src/app/modules/account/screens/user-profile/user-profile-screen/user-profile-screen.component.ts +++ b/apps/red-ui/src/app/modules/account/screens/user-profile/user-profile-screen/user-profile-screen.component.ts @@ -6,10 +6,10 @@ import { BaseFormComponent, LanguageService, LoadingService } from '@iqser/commo import { IProfile } from '@red/domain'; import { languagesTranslations } from '@translations/languages-translations'; import { PermissionsService } from '@services/permissions.service'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { ConfigService } from '@services/config.service'; import { firstValueFrom } from 'rxjs'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { UserPreferenceService } from '@users/user-preference.service'; @Component({ selector: 'redaction-user-profile-screen', diff --git a/apps/red-ui/src/app/modules/admin/admin-routing.module.ts b/apps/red-ui/src/app/modules/admin/admin-routing.module.ts index cf74be383..81597e8d8 100644 --- a/apps/red-ui/src/app/modules/admin/admin-routing.module.ts +++ b/apps/red-ui/src/app/modules/admin/admin-routing.module.ts @@ -1,6 +1,6 @@ import { NgModule } from '@angular/core'; -import { AuthGuard, CompositeRouteGuard } from '@iqser/common-ui'; -import { RedRoleGuard } from '../auth/red-role.guard'; +import { CompositeRouteGuard, IqserAuthGuard } from '@iqser/common-ui'; +import { RedRoleGuard } from '@users/red-role.guard'; import { EntitiesListingScreenComponent } from './screens/entities-listing/entities-listing-screen.component'; import { PendingChangesGuard } from '@guards/can-deactivate.guard'; import { FileAttributesListingScreenComponent } from './screens/file-attributes-listing/file-attributes-listing-screen.component'; @@ -36,7 +36,7 @@ const dossierTemplateIdRoutes: Routes = [ component: EntitiesListingScreenComponent, canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard], }, }, { @@ -45,7 +45,7 @@ const dossierTemplateIdRoutes: Routes = [ canActivate: [CompositeRouteGuard], loadChildren: () => import('./screens/entities/entities.module').then(m => m.EntitiesModule), data: { - routeGuards: [AuthGuard, RedRoleGuard, EntityExistsGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard, EntityExistsGuard], }, }, ], @@ -55,7 +55,7 @@ const dossierTemplateIdRoutes: Routes = [ component: BaseDossierTemplateScreenComponent, canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard], }, loadChildren: () => import('./screens/rules/rules.module').then(m => m.RulesModule), }, @@ -64,7 +64,7 @@ const dossierTemplateIdRoutes: Routes = [ component: FileAttributesListingScreenComponent, canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard], }, }, { @@ -77,7 +77,7 @@ const dossierTemplateIdRoutes: Routes = [ component: BaseDossierTemplateScreenComponent, canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard], }, loadChildren: () => import('./screens/reports/reports.module').then(m => m.ReportsModule), }, @@ -86,7 +86,7 @@ const dossierTemplateIdRoutes: Routes = [ component: DossierAttributesListingScreenComponent, canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard], }, }, { @@ -94,7 +94,7 @@ const dossierTemplateIdRoutes: Routes = [ component: DossierStatesListingScreenComponent, canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard], }, }, { @@ -102,7 +102,7 @@ const dossierTemplateIdRoutes: Routes = [ component: DefaultColorsScreenComponent, canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard], }, }, { @@ -120,7 +120,7 @@ const dossierTemplatesRoutes: Routes = [ component: BaseAdminScreenComponent, canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard], }, loadChildren: () => import('./screens/dossier-templates-listing/dossier-templates-listing.module').then(m => m.DossierTemplatesListingModule), @@ -140,7 +140,7 @@ const routes: Routes = [ children: dossierTemplatesRoutes, canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard, DossierTemplatesGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard, DossierTemplatesGuard], requiredRoles: ['RED_MANAGER', 'RED_ADMIN'], }, }, @@ -155,7 +155,7 @@ const routes: Routes = [ ], canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard], requiredRoles: ['RED_USER_ADMIN'], }, }, @@ -164,7 +164,7 @@ const routes: Routes = [ component: BaseAdminScreenComponent, canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard, PermissionsGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard, PermissionsGuard], requiredRoles: ['RED_ADMIN'], permissionsObject: 'Dossier', }, @@ -175,7 +175,7 @@ const routes: Routes = [ component: BaseAdminScreenComponent, canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard], requiredRoles: ['RED_ADMIN'], }, loadChildren: () => import('./screens/license/license.module').then(m => m.LicenseModule), @@ -191,7 +191,7 @@ const routes: Routes = [ ], canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard], requiredRoles: ['RED_ADMIN'], }, }, @@ -206,7 +206,7 @@ const routes: Routes = [ ], canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard], requiredRoles: ['RED_ADMIN'], }, }, @@ -222,7 +222,7 @@ const routes: Routes = [ canActivate: [CompositeRouteGuard], canDeactivate: [PendingChangesGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard], requiredRoles: ['RED_ADMIN'], }, }, diff --git a/apps/red-ui/src/app/modules/admin/admin-side-nav/admin-side-nav.component.ts b/apps/red-ui/src/app/modules/admin/admin-side-nav/admin-side-nav.component.ts index 47b8f12ab..9290bd348 100644 --- a/apps/red-ui/src/app/modules/admin/admin-side-nav/admin-side-nav.component.ts +++ b/apps/red-ui/src/app/modules/admin/admin-side-nav/admin-side-nav.component.ts @@ -1,8 +1,8 @@ import { Component, HostBinding, Input, OnInit } from '@angular/core'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { UserPreferenceService } from '@users/user-preference.service'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { adminSideNavTranslations } from '@translations/admin-side-nav-translations'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { ActivatedRoute } from '@angular/router'; import { AdminSideNavType, AdminSideNavTypes, ENTITY_TYPE } from '@red/domain'; diff --git a/apps/red-ui/src/app/modules/admin/admin.module.ts b/apps/red-ui/src/app/modules/admin/admin.module.ts index ec6c82e40..429a6c558 100644 --- a/apps/red-ui/src/app/modules/admin/admin.module.ts +++ b/apps/red-ui/src/app/modules/admin/admin.module.ts @@ -45,6 +45,7 @@ import { SystemPreferencesFormComponent } from './screens/general-config/system- import { ConfigureCertificateDialogComponent } from './dialogs/configure-digital-signature-dialog/configure-certificate-dialog.component'; import { PkcsSignatureConfigurationComponent } from './dialogs/configure-digital-signature-dialog/form/pkcs-signature-configuration/pkcs-signature-configuration.component'; import { KmsSignatureConfigurationComponent } from './dialogs/configure-digital-signature-dialog/form/kms-signature-configuration/kms-signature-configuration.component'; +import { IqserUsersModule } from '@iqser/common-ui'; const dialogs = [ AddEditCloneDossierTemplateDialogComponent, @@ -97,6 +98,6 @@ const components = [ @NgModule({ declarations: [...components], providers: [AdminDialogService, AuditService, DigitalSignatureService, RulesService, SmtpConfigService], - imports: [CommonModule, SharedModule, AdminRoutingModule, SharedAdminModule, A11yModule], + imports: [CommonModule, SharedModule, AdminRoutingModule, SharedAdminModule, A11yModule, IqserUsersModule], }) export class AdminModule {} diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/reset-password/reset-password.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/reset-password/reset-password.component.ts index 76f730234..72283a849 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/reset-password/reset-password.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/reset-password/reset-password.component.ts @@ -1,6 +1,6 @@ import { Component, EventEmitter, Input, Output } from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { LoadingService, Toaster } from '@iqser/common-ui'; import { User } from '@red/domain'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts index 3b329464a..7a0bd35f8 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts @@ -5,7 +5,7 @@ import { BaseFormComponent, IconButtonTypes, IProfileUpdateRequest, LoadingServi import { rolesTranslations } from '@translations/roles-translations'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { User } from '@red/domain'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { HttpStatusCode } from '@angular/common/http'; import { firstValueFrom } from 'rxjs'; diff --git a/apps/red-ui/src/app/modules/admin/dialogs/smtp-auth-dialog/smtp-auth-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/smtp-auth-dialog/smtp-auth-dialog.component.ts index 759f5759e..0919ebbee 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/smtp-auth-dialog/smtp-auth-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/smtp-auth-dialog/smtp-auth-dialog.component.ts @@ -1,7 +1,7 @@ import { Component, Inject } from '@angular/core'; import { UntypedFormGroup, Validators } from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; -import { getCurrentUser } from '@services/user.service'; +import { getCurrentUser } from '@users/user.service'; import { ISmtpConfiguration } from '@red/domain'; import { BaseDialogComponent } from '@iqser/common-ui'; diff --git a/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.html index 70408fd7e..6ea98fdf8 100644 --- a/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.html @@ -38,19 +38,18 @@ - + > +
+ - + +
@@ -91,7 +90,7 @@
- +
{{ (translations[log.category] | translate) || log.category | humanize }}
diff --git a/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.ts index 8c96f4c3f..739d3a0ab 100644 --- a/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.ts @@ -4,7 +4,7 @@ import { applyIntervalConstraints } from '@utils/date-inputs-utils'; import { ListingComponent, listingProvidersFactory, LoadingService, TableColumnConfig } from '@iqser/common-ui'; import { auditCategoriesTranslations } from '@translations/audit-categories-translations'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { Audit, IAudit, IAuditResponse, IAuditSearchRequest } from '@red/domain'; import { AuditService } from '../../services/audit.service'; import { firstValueFrom } from 'rxjs'; diff --git a/apps/red-ui/src/app/modules/admin/screens/default-colors/default-colors-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/default-colors/default-colors-screen.component.ts index ecade4b2f..a7a3fce5d 100644 --- a/apps/red-ui/src/app/modules/admin/screens/default-colors/default-colors-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/default-colors/default-colors-screen.component.ts @@ -4,7 +4,7 @@ import { AdminDialogService } from '../../services/admin-dialog.service'; import { CircleButtonTypes, getParam, IListable, ListingComponent, listingProvidersFactory, TableColumnConfig } from '@iqser/common-ui'; import { defaultColorsTranslations } from '@translations/default-colors-translations'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -import { getCurrentUser } from '@services/user.service'; +import { getCurrentUser } from '@users/user.service'; import { combineLatest } from 'rxjs'; import { map, tap } from 'rxjs/operators'; import { DefaultColorsService } from '@services/entity-services/default-colors.service'; diff --git a/apps/red-ui/src/app/modules/admin/screens/digital-signature/digital-signature-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/digital-signature/digital-signature-screen.component.ts index c1edad42e..18d0d6ac0 100644 --- a/apps/red-ui/src/app/modules/admin/screens/digital-signature/digital-signature-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/digital-signature/digital-signature-screen.component.ts @@ -1,7 +1,7 @@ import { ChangeDetectorRef, Component, OnInit, ViewChild } from '@angular/core'; import { IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { RouterHistoryService } from '@services/router-history.service'; import { DigitalSignatureService } from '../../services/digital-signature.service'; import { firstValueFrom } from 'rxjs'; diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts index 06e3d5524..878365d8c 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts @@ -12,7 +12,7 @@ import { AdminDialogService } from '../../services/admin-dialog.service'; import { DossierAttributesService } from '@services/entity-services/dossier-attributes.service'; import { dossierAttributeTypesTranslations } from '@translations/dossier-attribute-types-translations'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -import { getCurrentUser } from '@services/user.service'; +import { getCurrentUser } from '@users/user.service'; import { DOSSIER_TEMPLATE_ID, DossierAttributeConfig, IDossierAttributeConfig } from '@red/domain'; import { firstValueFrom } from 'rxjs'; diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/dossier-templates-listing-screen/dossier-templates-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/dossier-templates-listing-screen/dossier-templates-listing-screen.component.ts index 590c56ad4..2fcd1cd0e 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/dossier-templates-listing-screen/dossier-templates-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/dossier-templates-listing-screen/dossier-templates-listing-screen.component.ts @@ -1,5 +1,5 @@ import { ChangeDetectionStrategy, Component, inject } from '@angular/core'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { UserPreferenceService } from '@users/user-preference.service'; import { AdminDialogService } from '../../../services/admin-dialog.service'; import { DossierTemplate } from '@red/domain'; import { @@ -10,7 +10,7 @@ import { LoadingService, TableColumnConfig, } from '@iqser/common-ui'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { RouterHistoryService } from '@services/router-history.service'; import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service'; diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/dossier-templates-listing.module.ts b/apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/dossier-templates-listing.module.ts index 2052576de..4a4f2cebc 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/dossier-templates-listing.module.ts +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/dossier-templates-listing.module.ts @@ -5,11 +5,12 @@ import { SharedModule } from '@shared/shared.module'; import { TableItemComponent } from './table-item/table-item.component'; import { DossierTemplatesListingScreenComponent } from './dossier-templates-listing-screen/dossier-templates-listing-screen.component'; import { SharedAdminModule } from '../../shared/shared-admin.module'; +import { IqserUsersModule } from '@iqser/common-ui'; const routes = [{ path: '', component: DossierTemplatesListingScreenComponent }]; @NgModule({ declarations: [TableItemComponent, DossierTemplatesListingScreenComponent], - imports: [RouterModule.forChild(routes), CommonModule, SharedModule, SharedAdminModule], + imports: [RouterModule.forChild(routes), CommonModule, SharedModule, SharedAdminModule, IqserUsersModule], }) export class DossierTemplatesListingModule {} diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/table-item/table-item.component.html b/apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/table-item/table-item.component.html index 5d380deba..34b4d2940 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/table-item/table-item.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/table-item/table-item.component.html @@ -11,11 +11,11 @@
- + >
diff --git a/apps/red-ui/src/app/modules/admin/screens/entities/screens/dictionary/dictionary-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/entities/screens/dictionary/dictionary-screen.component.ts index 9d0144a3e..3a7ac6d6e 100644 --- a/apps/red-ui/src/app/modules/admin/screens/entities/screens/dictionary/dictionary-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/entities/screens/dictionary/dictionary-screen.component.ts @@ -3,7 +3,7 @@ import { ActivatedRoute } from '@angular/router'; import { DictionaryManagerComponent } from '@shared/components/dictionary-manager/dictionary-manager.component'; import { DictionaryService } from '@services/entity-services/dictionary.service'; import { List, LoadingService } from '@iqser/common-ui'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { BehaviorSubject, firstValueFrom } from 'rxjs'; import { DICTIONARY_TO_ENTRY_TYPE_MAP, DICTIONARY_TYPE_KEY_MAP, DictionaryType, DOSSIER_TEMPLATE_ID, ENTITY_TYPE, User } from '@red/domain'; import { PermissionsService } from '@services/permissions.service'; diff --git a/apps/red-ui/src/app/modules/admin/screens/entities/screens/entity-info/entity-info.component.ts b/apps/red-ui/src/app/modules/admin/screens/entities/screens/entity-info/entity-info.component.ts index ae591dfb3..f4cc6c19d 100644 --- a/apps/red-ui/src/app/modules/admin/screens/entities/screens/entity-info/entity-info.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/entities/screens/entity-info/entity-info.component.ts @@ -2,7 +2,7 @@ import { ChangeDetectionStrategy, Component, HostListener, ViewChild } from '@an import { Dictionary, DOSSIER_TEMPLATE_ID, ENTITY_TYPE } from '@red/domain'; import { DictionariesMapService } from '@services/entity-services/dictionaries-map.service'; import { ActivatedRoute } from '@angular/router'; -import { getCurrentUser } from '@services/user.service'; +import { getCurrentUser } from '@users/user.service'; import { PermissionsService } from '@services/permissions.service'; import { AddEditEntityComponent } from '@shared/components/add-edit-entity/add-edit-entity.component'; import { IqserEventTarget } from '@iqser/common-ui'; diff --git a/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts index 6ccfd1e3b..9fb79a39b 100644 --- a/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts @@ -11,7 +11,7 @@ import { Toaster, } from '@iqser/common-ui'; import { fileAttributeTypesTranslations } from '@translations/file-attribute-types-translations'; -import { getCurrentUser } from '@services/user.service'; +import { getCurrentUser } from '@users/user.service'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { DOSSIER_TEMPLATE_ID, FileAttributeConfig, IFileAttributeConfig, IFileAttributesConfig } from '@red/domain'; import { FileAttributesService } from '@services/entity-services/file-attributes.service'; diff --git a/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-screen.component.ts index fb6bf360b..c5c2c7f03 100644 --- a/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-screen.component.ts @@ -1,5 +1,5 @@ import { AfterViewInit, Component, inject, ViewChild } from '@angular/core'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { GeneralConfigFormComponent } from './general-config-form/general-config-form.component'; import { SmtpFormComponent } from './smtp-form/smtp-form.component'; import { BaseFormComponent } from '@iqser/common-ui'; diff --git a/apps/red-ui/src/app/modules/admin/screens/info/dossier-template-info.module.ts b/apps/red-ui/src/app/modules/admin/screens/info/dossier-template-info.module.ts index 01a475122..1e9635623 100644 --- a/apps/red-ui/src/app/modules/admin/screens/info/dossier-template-info.module.ts +++ b/apps/red-ui/src/app/modules/admin/screens/info/dossier-template-info.module.ts @@ -3,11 +3,12 @@ import { CommonModule } from '@angular/common'; import { DossierTemplateInfoScreenComponent } from './info-screen/dossier-template-info-screen.component'; import { RouterModule } from '@angular/router'; import { SharedModule } from '@shared/shared.module'; +import { IqserUsersModule } from '@iqser/common-ui'; const routes = [{ path: '', component: DossierTemplateInfoScreenComponent }]; @NgModule({ declarations: [DossierTemplateInfoScreenComponent], - imports: [RouterModule.forChild(routes), CommonModule, SharedModule], + imports: [RouterModule.forChild(routes), CommonModule, SharedModule, IqserUsersModule], }) export class DossierTemplateInfoModule {} diff --git a/apps/red-ui/src/app/modules/admin/screens/info/info-screen/dossier-template-info-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/info/info-screen/dossier-template-info-screen.component.html index bd356f4a6..cc70032c2 100644 --- a/apps/red-ui/src/app/modules/admin/screens/info/info-screen/dossier-template-info-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/info/info-screen/dossier-template-info-screen.component.html @@ -4,11 +4,7 @@
- +
diff --git a/apps/red-ui/src/app/modules/admin/screens/justifications/justifications-screen/justifications-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/justifications/justifications-screen/justifications-screen.component.ts index 731ccc8eb..04331bea8 100644 --- a/apps/red-ui/src/app/modules/admin/screens/justifications/justifications-screen/justifications-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/justifications/justifications-screen/justifications-screen.component.ts @@ -12,8 +12,8 @@ import { import { DOSSIER_TEMPLATE_ID, Justification } from '@red/domain'; import { JustificationsService } from '@services/entity-services/justifications.service'; import { JustificationsDialogService } from '../justifications-dialog.service'; -import { getCurrentUser } from '@services/user.service'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { getCurrentUser } from '@users/user.service'; +import { UserPreferenceService } from '@users/user-preference.service'; import { firstValueFrom } from 'rxjs'; @Component({ diff --git a/apps/red-ui/src/app/modules/admin/screens/justifications/table-item/table-item.component.ts b/apps/red-ui/src/app/modules/admin/screens/justifications/table-item/table-item.component.ts index 0b9d52a4f..0d22e7ef1 100644 --- a/apps/red-ui/src/app/modules/admin/screens/justifications/table-item/table-item.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/justifications/table-item/table-item.component.ts @@ -2,8 +2,8 @@ import { ChangeDetectionStrategy, Component, inject, Input } from '@angular/core import { DOSSIER_TEMPLATE_ID, Justification } from '@red/domain'; import { CircleButtonTypes, getParam } from '@iqser/common-ui'; import { JustificationsDialogService } from '../justifications-dialog.service'; -import { UserService } from '@services/user.service'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { UserService } from '@users/user.service'; +import { UserPreferenceService } from '@users/user-preference.service'; @Component({ selector: 'redaction-table-item', diff --git a/apps/red-ui/src/app/modules/admin/screens/license/license-screen/license-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/license/license-screen/license-screen.component.ts index 899ea30c1..4ed148bf5 100644 --- a/apps/red-ui/src/app/modules/admin/screens/license/license-screen/license-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/license/license-screen/license-screen.component.ts @@ -3,10 +3,10 @@ import { ConfigService } from '@services/config.service'; import { TranslateService } from '@ngx-translate/core'; import { ButtonConfig, IconButtonTypes, LoadingService } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { RouterHistoryService } from '@services/router-history.service'; -import { LicenseService } from '../../../../../services/license.service'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { LicenseService } from '@services/license.service'; +import { UserPreferenceService } from '@users/user-preference.service'; import { map } from 'rxjs/operators'; @Component({ diff --git a/apps/red-ui/src/app/modules/admin/screens/permissions/permissions-screen/permissions-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/permissions/permissions-screen/permissions-screen.component.ts index 72a8bf515..823f78581 100644 --- a/apps/red-ui/src/app/modules/admin/screens/permissions/permissions-screen/permissions-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/permissions/permissions-screen/permissions-screen.component.ts @@ -11,7 +11,7 @@ import { firstValueFrom } from 'rxjs'; import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy'; import { tap } from 'rxjs/operators'; import { permissionsTranslations } from '@translations/permissions-translations'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { RouterHistoryService } from '@services/router-history.service'; @UntilDestroy() diff --git a/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.html index ae0c959fd..cf24c64f5 100644 --- a/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.html @@ -42,7 +42,7 @@
- +
diff --git a/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.ts index 4a83f45f0..68dc5f7b2 100644 --- a/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.ts @@ -1,5 +1,5 @@ import { Component, inject, OnInit } from '@angular/core'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { AdminDialogService } from '../../services/admin-dialog.service'; import { TranslateService } from '@ngx-translate/core'; import { DonutChartConfig, User, UserTypes } from '@red/domain'; diff --git a/apps/red-ui/src/app/modules/admin/screens/watermark/watermark-screen/watermark-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/watermark/watermark-screen/watermark-screen.component.ts index 45f66c581..6675051bc 100644 --- a/apps/red-ui/src/app/modules/admin/screens/watermark/watermark-screen/watermark-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/watermark/watermark-screen/watermark-screen.component.ts @@ -11,7 +11,7 @@ import { WatermarkService } from '@services/entity-services/watermark.service'; import { firstValueFrom, Observable, of } from 'rxjs'; import { tap } from 'rxjs/operators'; import { LicenseService } from '@services/license.service'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { UserPreferenceService } from '@users/user-preference.service'; import { Router } from '@angular/router'; import { WatermarksMapService } from '@services/entity-services/watermarks-map.service'; diff --git a/apps/red-ui/src/app/modules/admin/screens/watermark/watermark.module.ts b/apps/red-ui/src/app/modules/admin/screens/watermark/watermark.module.ts index b4cf97787..8c91aba84 100644 --- a/apps/red-ui/src/app/modules/admin/screens/watermark/watermark.module.ts +++ b/apps/red-ui/src/app/modules/admin/screens/watermark/watermark.module.ts @@ -4,8 +4,8 @@ import { RouterModule } from '@angular/router'; import { SharedModule } from '@shared/shared.module'; import { WatermarkScreenComponent } from './watermark-screen/watermark-screen.component'; import { WatermarksListingScreenComponent } from './watermarks-listing/watermarks-listing-screen.component'; -import { AuthGuard, CompositeRouteGuard } from '@iqser/common-ui'; -import { RedRoleGuard } from '../../../auth/red-role.guard'; +import { CompositeRouteGuard, IqserAuthGuard, IqserUsersModule } from '@iqser/common-ui'; +import { RedRoleGuard } from '@users/red-role.guard'; import { WATERMARK_ID } from '@red/domain'; import { WatermarkExistsGuard } from '@guards/watermark-exists.guard'; @@ -15,7 +15,7 @@ const routes = [ component: WatermarksListingScreenComponent, canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard], }, }, { @@ -23,7 +23,7 @@ const routes = [ component: WatermarkScreenComponent, canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard], }, }, { @@ -31,13 +31,13 @@ const routes = [ component: WatermarkScreenComponent, canActivate: [CompositeRouteGuard], data: { - routeGuards: [AuthGuard, RedRoleGuard, WatermarkExistsGuard], + routeGuards: [IqserAuthGuard, RedRoleGuard, WatermarkExistsGuard], }, }, ]; @NgModule({ declarations: [WatermarkScreenComponent, WatermarksListingScreenComponent], - imports: [RouterModule.forChild(routes), CommonModule, SharedModule], + imports: [RouterModule.forChild(routes), CommonModule, SharedModule, IqserUsersModule], }) export class WatermarkModule {} diff --git a/apps/red-ui/src/app/modules/admin/screens/watermark/watermarks-listing/watermarks-listing-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/watermark/watermarks-listing/watermarks-listing-screen.component.html index ecea54f7e..e577f1b43 100644 --- a/apps/red-ui/src/app/modules/admin/screens/watermark/watermarks-listing/watermarks-listing-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/watermark/watermarks-listing/watermarks-listing-screen.component.html @@ -32,10 +32,7 @@
- +
diff --git a/apps/red-ui/src/app/modules/admin/screens/watermark/watermarks-listing/watermarks-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/watermark/watermarks-listing/watermarks-listing-screen.component.ts index 1e72485cd..fae9ae295 100644 --- a/apps/red-ui/src/app/modules/admin/screens/watermark/watermarks-listing/watermarks-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/watermark/watermarks-listing/watermarks-listing-screen.component.ts @@ -11,7 +11,7 @@ import { Toaster, } from '@iqser/common-ui'; import { DOSSIER_TEMPLATE_ID, Watermark } from '@red/domain'; -import { getCurrentUser } from '@services/user.service'; +import { getCurrentUser } from '@users/user.service'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { firstValueFrom } from 'rxjs'; import { WatermarkService } from '@services/entity-services/watermark.service'; diff --git a/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts b/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts index 675b2f604..f766a0b10 100644 --- a/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts +++ b/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts @@ -25,7 +25,7 @@ import { ConfirmDeleteDossierStateDialogComponent } from '../dialogs/confirm-del import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { firstValueFrom, forkJoin } from 'rxjs'; import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { IDossierAttributeConfig, IFileAttributeConfig, IReportTemplate } from '@red/domain'; import { ReportTemplateService } from '@services/report-template.service'; import { ConfigureCertificateDialogComponent } from '../dialogs/configure-digital-signature-dialog/configure-certificate-dialog.component'; diff --git a/apps/red-ui/src/app/modules/admin/shared/components/dossier-template-actions/dossier-template-actions.component.ts b/apps/red-ui/src/app/modules/admin/shared/components/dossier-template-actions/dossier-template-actions.component.ts index 2bb96e463..37ab5ac25 100644 --- a/apps/red-ui/src/app/modules/admin/shared/components/dossier-template-actions/dossier-template-actions.component.ts +++ b/apps/red-ui/src/app/modules/admin/shared/components/dossier-template-actions/dossier-template-actions.component.ts @@ -2,7 +2,7 @@ import { Component, Input, OnInit } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; import { AdminDialogService } from '../../../services/admin-dialog.service'; import { CircleButtonTypes, LoadingService } from '@iqser/common-ui'; -import { getCurrentUser } from '@services/user.service'; +import { getCurrentUser } from '@users/user.service'; import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service'; import { firstValueFrom } from 'rxjs'; import { DOSSIER_TEMPLATE_ID } from '@red/domain'; diff --git a/apps/red-ui/src/app/modules/archive/archive.module.ts b/apps/red-ui/src/app/modules/archive/archive.module.ts index 90f106311..03657de91 100644 --- a/apps/red-ui/src/app/modules/archive/archive.module.ts +++ b/apps/red-ui/src/app/modules/archive/archive.module.ts @@ -6,14 +6,14 @@ import { TableItemComponent } from './components/table-item/table-item.component import { SharedModule } from '@shared/shared.module'; import { ConfigService } from './services/config.service'; import { SharedDossiersModule } from '../shared-dossiers/shared-dossiers.module'; -import { IqserHelpModeModule } from '@iqser/common-ui'; +import { IqserHelpModeModule, IqserUsersModule } from '@iqser/common-ui'; const components = [TableItemComponent]; const screens = [ArchivedDossiersScreenComponent]; @NgModule({ declarations: [...components, ...screens], - imports: [CommonModule, ArchiveRoutingModule, SharedModule, SharedDossiersModule, IqserHelpModeModule], + imports: [CommonModule, ArchiveRoutingModule, SharedModule, SharedDossiersModule, IqserHelpModeModule, IqserUsersModule], providers: [ConfigService], }) export class ArchiveModule {} diff --git a/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.html b/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.html index 8ca82435b..18baf8cc0 100644 --- a/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.html +++ b/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.html @@ -7,7 +7,7 @@
- +
diff --git a/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.ts b/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.ts index c9cb45a35..dc2b545ca 100644 --- a/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.ts +++ b/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.ts @@ -4,7 +4,7 @@ import { BehaviorSubject, Observable } from 'rxjs'; import { DossierStatsService } from '@services/dossiers/dossier-stats.service'; import { switchMap } from 'rxjs/operators'; import { CircleButtonTypes, ScrollableParentView, ScrollableParentViews } from '@iqser/common-ui'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { DossiersDialogService } from '../../../shared-dossiers/services/dossiers-dialog.service'; @Component({ diff --git a/apps/red-ui/src/app/modules/archive/services/config.service.ts b/apps/red-ui/src/app/modules/archive/services/config.service.ts index 7d6c3bf93..30ff32fa3 100644 --- a/apps/red-ui/src/app/modules/archive/services/config.service.ts +++ b/apps/red-ui/src/app/modules/archive/services/config.service.ts @@ -3,7 +3,7 @@ import { IFilterGroup, keyChecker, NestedFilter, TableColumnConfig } from '@iqse import { Dossier, User } from '@red/domain'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { dossierMemberChecker, dossierTemplateChecker } from '@utils/index'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { TranslateService } from '@ngx-translate/core'; import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service'; diff --git a/apps/red-ui/src/app/modules/dashboard/dashboard-screen/dashboard-screen.component.ts b/apps/red-ui/src/app/modules/dashboard/dashboard-screen/dashboard-screen.component.ts index 94c2046d1..88e1d40f1 100644 --- a/apps/red-ui/src/app/modules/dashboard/dashboard-screen/dashboard-screen.component.ts +++ b/apps/red-ui/src/app/modules/dashboard/dashboard-screen/dashboard-screen.component.ts @@ -1,7 +1,7 @@ import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { DashboardStatsService } from '@services/dossier-templates/dashboard-stats.service'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { UserPreferenceService } from '@users/user-preference.service'; @Component({ selector: 'redaction-dashboard-screen', diff --git a/apps/red-ui/src/app/modules/dossier-overview/components/bulk-actions/dossier-overview-bulk-actions.component.ts b/apps/red-ui/src/app/modules/dossier-overview/components/bulk-actions/dossier-overview-bulk-actions.component.ts index 54a03d3d6..e8033a107 100644 --- a/apps/red-ui/src/app/modules/dossier-overview/components/bulk-actions/dossier-overview-bulk-actions.component.ts +++ b/apps/red-ui/src/app/modules/dossier-overview/components/bulk-actions/dossier-overview-bulk-actions.component.ts @@ -4,7 +4,7 @@ import { Action, ActionTypes, Dossier, File } from '@red/domain'; import { CircleButtonType, CircleButtonTypes, ListingModes, Required } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { LongPressEvent } from '@shared/directives/long-press.directive'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { UserPreferenceService } from '@users/user-preference.service'; import { BulkActionsService } from '../../services/bulk-actions.service'; import { ConfigService } from '../../config.service'; diff --git a/apps/red-ui/src/app/modules/dossier-overview/components/dossier-details/dossier-details.component.html b/apps/red-ui/src/app/modules/dossier-overview/components/dossier-details/dossier-details.component.html index c4a36664b..8fd62d3f8 100644 --- a/apps/red-ui/src/app/modules/dossier-overview/components/dossier-details/dossier-details.component.html +++ b/apps/red-ui/src/app/modules/dossier-overview/components/dossier-details/dossier-details.component.html @@ -15,7 +15,7 @@
- +
- +
diff --git a/apps/red-ui/src/app/modules/dossier-overview/components/workflow-item/workflow-item.component.html b/apps/red-ui/src/app/modules/dossier-overview/components/workflow-item/workflow-item.component.html index 1d1b2c4fa..6a4ae7ed6 100644 --- a/apps/red-ui/src/app/modules/dossier-overview/components/workflow-item/workflow-item.component.html +++ b/apps/red-ui/src/app/modules/dossier-overview/components/workflow-item/workflow-item.component.html @@ -9,7 +9,7 @@
- +
diff --git a/apps/red-ui/src/app/modules/dossier-overview/config.service.ts b/apps/red-ui/src/app/modules/dossier-overview/config.service.ts index 43f801bc3..ea01a502d 100644 --- a/apps/red-ui/src/app/modules/dossier-overview/config.service.ts +++ b/apps/red-ui/src/app/modules/dossier-overview/config.service.ts @@ -27,7 +27,7 @@ import { workflowFileStatusTranslations } from '@translations/file-status-transl import { PermissionsService } from '@services/permissions.service'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { TranslateService } from '@ngx-translate/core'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { DossiersDialogService } from '../shared-dossiers/services/dossiers-dialog.service'; import { annotationFilterChecker, RedactionFilterSorter } from '../../utils'; import { workloadTranslations } from '@translations/workload-translations'; @@ -38,7 +38,7 @@ import dayjs from 'dayjs'; import { DefaultColorsService } from '@services/entity-services/default-colors.service'; import { map } from 'rxjs/operators'; import { DictionariesMapService } from '@services/entity-services/dictionaries-map.service'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { UserPreferenceService } from '@users/user-preference.service'; @Injectable() export class ConfigService { diff --git a/apps/red-ui/src/app/modules/dossier-overview/dossier-overview.module.ts b/apps/red-ui/src/app/modules/dossier-overview/dossier-overview.module.ts index 80ff560ea..ae4c0ca95 100644 --- a/apps/red-ui/src/app/modules/dossier-overview/dossier-overview.module.ts +++ b/apps/red-ui/src/app/modules/dossier-overview/dossier-overview.module.ts @@ -2,7 +2,7 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { RouterModule, Routes } from '@angular/router'; import { SharedModule } from '@shared/shared.module'; -import { IqserHelpModeModule, IqserIconsModule } from '@iqser/common-ui'; +import { IqserHelpModeModule, IqserIconsModule, IqserUsersModule } from '@iqser/common-ui'; import { TranslateModule } from '@ngx-translate/core'; import { DossierOverviewScreenComponent } from './screen/dossier-overview-screen.component'; import { DossierOverviewBulkActionsComponent } from './components/bulk-actions/dossier-overview-bulk-actions.component'; @@ -46,6 +46,7 @@ const routes: Routes = [ IqserIconsModule, TranslateModule, IqserHelpModeModule, + IqserUsersModule, ], }) export class DossierOverviewModule {} diff --git a/apps/red-ui/src/app/modules/dossier-overview/screen/dossier-overview-screen.component.ts b/apps/red-ui/src/app/modules/dossier-overview/screen/dossier-overview-screen.component.ts index 8b0fbff7c..a85f7b0d0 100644 --- a/apps/red-ui/src/app/modules/dossier-overview/screen/dossier-overview-screen.component.ts +++ b/apps/red-ui/src/app/modules/dossier-overview/screen/dossier-overview-screen.component.ts @@ -31,7 +31,7 @@ import { NavigationEnd, Router } from '@angular/router'; import { FileAttributesService } from '@services/entity-services/file-attributes.service'; import { ConfigService } from '../config.service'; import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { UserPreferenceService } from '@users/user-preference.service'; import { FilesMapService } from '@services/files/files-map.service'; import { FilesService } from '@services/files/files.service'; import { BulkActionsService } from '../services/bulk-actions.service'; diff --git a/apps/red-ui/src/app/modules/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.ts b/apps/red-ui/src/app/modules/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.ts index 6a339460b..2b93bbd1e 100644 --- a/apps/red-ui/src/app/modules/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.ts +++ b/apps/red-ui/src/app/modules/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.ts @@ -1,11 +1,11 @@ import { ChangeDetectionStrategy, Component, Input, OnChanges } from '@angular/core'; import { PermissionsService } from '@services/permissions.service'; import { CircleButtonTypes, List, ScrollableParentView, ScrollableParentViews, StatusBarConfig } from '@iqser/common-ui'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { Dossier, DossierStats, File } from '@red/domain'; import { DossiersDialogService } from '../../../shared-dossiers/services/dossiers-dialog.service'; import { LongPressEvent } from '@shared/directives/long-press.directive'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { UserPreferenceService } from '@users/user-preference.service'; import { FilesMapService } from '@services/files/files-map.service'; import { ReanalysisService } from '@services/reanalysis.service'; import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service'; diff --git a/apps/red-ui/src/app/modules/dossiers-listing/components/table-item/table-item.component.html b/apps/red-ui/src/app/modules/dossiers-listing/components/table-item/table-item.component.html index 0ed998e63..b8dd19023 100644 --- a/apps/red-ui/src/app/modules/dossiers-listing/components/table-item/table-item.component.html +++ b/apps/red-ui/src/app/modules/dossiers-listing/components/table-item/table-item.component.html @@ -12,7 +12,7 @@
- +
diff --git a/apps/red-ui/src/app/modules/dossiers-listing/config.service.ts b/apps/red-ui/src/app/modules/dossiers-listing/config.service.ts index 71d9024ef..08dd486eb 100644 --- a/apps/red-ui/src/app/modules/dossiers-listing/config.service.ts +++ b/apps/red-ui/src/app/modules/dossiers-listing/config.service.ts @@ -11,8 +11,8 @@ import { } from '@red/domain'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { TranslateService } from '@ngx-translate/core'; -import { UserPreferenceService } from '@services/user-preference.service'; -import { UserService } from '@services/user.service'; +import { UserPreferenceService } from '@users/user-preference.service'; +import { UserService } from '@users/user.service'; import { workflowFileStatusTranslations } from '@translations/file-status-translations'; import { dossierMemberChecker, dossierStateChecker, RedactionFilterSorter } from '../../utils'; import { workloadTranslations } from '@translations/workload-translations'; diff --git a/apps/red-ui/src/app/modules/dossiers-listing/dossiers-listing.module.ts b/apps/red-ui/src/app/modules/dossiers-listing/dossiers-listing.module.ts index 8d7a20cfe..960b09675 100644 --- a/apps/red-ui/src/app/modules/dossiers-listing/dossiers-listing.module.ts +++ b/apps/red-ui/src/app/modules/dossiers-listing/dossiers-listing.module.ts @@ -1,6 +1,6 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { IqserHelpModeModule, IqserIconsModule } from '@iqser/common-ui'; +import { IqserHelpModeModule, IqserIconsModule, IqserUsersModule } from '@iqser/common-ui'; import { TranslateModule } from '@ngx-translate/core'; import { DossiersListingScreenComponent } from './screen/dossiers-listing-screen.component'; import { RouterModule, Routes } from '@angular/router'; @@ -40,6 +40,7 @@ const routes: Routes = [ IqserIconsModule, TranslateModule, IqserHelpModeModule, + IqserUsersModule, ], }) export class DossiersListingModule {} diff --git a/apps/red-ui/src/app/modules/dossiers-listing/screen/dossiers-listing-screen.component.ts b/apps/red-ui/src/app/modules/dossiers-listing/screen/dossiers-listing-screen.component.ts index 65868968a..9ab4b00e5 100644 --- a/apps/red-ui/src/app/modules/dossiers-listing/screen/dossiers-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/dossiers-listing/screen/dossiers-listing-screen.component.ts @@ -7,7 +7,7 @@ import { ConfigService } from '../config.service'; import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service'; import { tap } from 'rxjs/operators'; import { Router } from '@angular/router'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { UserPreferenceService } from '@users/user-preference.service'; import { SharedDialogService } from '@shared/services/dialog.service'; import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service'; diff --git a/apps/red-ui/src/app/modules/file-preview/components/annotations-list/annotations-list.component.ts b/apps/red-ui/src/app/modules/file-preview/components/annotations-list/annotations-list.component.ts index 974904441..006c4fe0e 100644 --- a/apps/red-ui/src/app/modules/file-preview/components/annotations-list/annotations-list.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/components/annotations-list/annotations-list.component.ts @@ -13,7 +13,7 @@ import { AnnotationWrapper } from '@models/file/annotation.wrapper'; import { FilterService, HasScrollbarDirective, IqserEventTarget } from '@iqser/common-ui'; import { MultiSelectService } from '../../services/multi-select.service'; import { AnnotationReferencesService } from '../../services/annotation-references.service'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { UserPreferenceService } from '@users/user-preference.service'; import { ViewModeService } from '../../services/view-mode.service'; import { BehaviorSubject } from 'rxjs'; import { TextHighlightsGroup } from '@red/domain'; diff --git a/apps/red-ui/src/app/modules/file-preview/components/comments/comments.component.ts b/apps/red-ui/src/app/modules/file-preview/components/comments/comments.component.ts index 0e05e8124..edbeb31c1 100644 --- a/apps/red-ui/src/app/modules/file-preview/components/comments/comments.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/components/comments/comments.component.ts @@ -1,7 +1,7 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Input, OnInit, ViewChild } from '@angular/core'; import { Dossier, File, IComment } from '@red/domain'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { PermissionsService } from '@services/permissions.service'; import { InputWithActionComponent, LoadingService, trackByFactory, ContextComponent } from '@iqser/common-ui'; import { firstValueFrom, Observable } from 'rxjs'; diff --git a/apps/red-ui/src/app/modules/file-preview/components/user-management/user-management.component.html b/apps/red-ui/src/app/modules/file-preview/components/user-management/user-management.component.html index 11f62950e..04ed8d584 100644 --- a/apps/red-ui/src/app/modules/file-preview/components/user-management/user-management.component.html +++ b/apps/red-ui/src/app/modules/file-preview/components/user-management/user-management.component.html @@ -6,13 +6,13 @@ {{ 'by' | translate }}:
- + >
+
{{ 'file-preview.last-assignee' | translate: { status: file.workflowStatus } }}
- + >
diff --git a/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts b/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts index 430085a43..bae9a73e7 100644 --- a/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts @@ -23,7 +23,7 @@ import { AnnotationProcessingService } from './services/annotation-processing.se import { Dictionary, File, ViewMode, ViewModes } from '@red/domain'; import { PermissionsService } from '@services/permissions.service'; import { combineLatest, firstValueFrom, from, of, pairwise } from 'rxjs'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { UserPreferenceService } from '@users/user-preference.service'; import { byId, byPage, download, handleFilterDelta, hasChanges } from '../../utils'; import { FilesService } from '@services/files/files.service'; import { FileManagementService } from '@services/files/file-management.service'; diff --git a/apps/red-ui/src/app/modules/file-preview/file-preview.module.ts b/apps/red-ui/src/app/modules/file-preview/file-preview.module.ts index 30c622555..b12a1a7ac 100644 --- a/apps/red-ui/src/app/modules/file-preview/file-preview.module.ts +++ b/apps/red-ui/src/app/modules/file-preview/file-preview.module.ts @@ -1,6 +1,6 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { IqserHelpModeModule, IqserIconsModule } from '@iqser/common-ui'; +import { IqserHelpModeModule, IqserIconsModule, IqserUsersModule } from '@iqser/common-ui'; import { TranslateModule } from '@ngx-translate/core'; import { RouterModule, Routes } from '@angular/router'; import { SharedModule } from '@shared/shared.module'; @@ -94,6 +94,7 @@ const components = [ TranslateModule, OverlayModule, IqserHelpModeModule, + IqserUsersModule, ], providers: [FilePreviewDialogService, ManualRedactionService, DocumentUnloadedGuard], }) diff --git a/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts b/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts index dde63d21a..9bf186e41 100644 --- a/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts +++ b/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts @@ -5,7 +5,7 @@ import { RedactionLogEntry } from '@models/file/redaction-log.entry'; import { Injectable } from '@angular/core'; import { FilePreviewStateService } from './file-preview-state.service'; import { ViewedPagesService } from '@services/files/viewed-pages.service'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { UserPreferenceService } from '@users/user-preference.service'; import { DictionariesMapService } from '@services/entity-services/dictionaries-map.service'; import { map, switchMap, tap, withLatestFrom } from 'rxjs/operators'; import { PermissionsService } from '@services/permissions.service'; diff --git a/apps/red-ui/src/app/modules/file-preview/services/pdf-proxy.service.ts b/apps/red-ui/src/app/modules/file-preview/services/pdf-proxy.service.ts index ed84fb29a..12477a62c 100644 --- a/apps/red-ui/src/app/modules/file-preview/services/pdf-proxy.service.ts +++ b/apps/red-ui/src/app/modules/file-preview/services/pdf-proxy.service.ts @@ -8,7 +8,7 @@ import { ManualRedactionEntryWrapper, } from '@models/file/manual-redaction-entry.wrapper'; import { AnnotationDrawService } from '../../pdf-viewer/services/annotation-draw.service'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { UserPreferenceService } from '@users/user-preference.service'; import { BASE_HREF_FN, BaseHrefFn, shareDistinctLast } from '@iqser/common-ui'; import { toPosition } from '../utils/pdf-calculation.utils'; import { MultiSelectService } from './multi-select.service'; diff --git a/apps/red-ui/src/app/modules/pdf-viewer/services/annotation-draw.service.ts b/apps/red-ui/src/app/modules/pdf-viewer/services/annotation-draw.service.ts index b406c63f7..b3c3c26af 100644 --- a/apps/red-ui/src/app/modules/pdf-viewer/services/annotation-draw.service.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/services/annotation-draw.service.ts @@ -2,7 +2,7 @@ import { Injectable } from '@angular/core'; import { Core } from '@pdftron/webviewer'; import { hexToRgb } from '@utils/functions'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { UserPreferenceService } from '@users/user-preference.service'; import { RedactionLogService } from '@services/files/redaction-log.service'; import { IRectangle, ISectionGrid, ISectionRectangle } from '@red/domain'; diff --git a/apps/red-ui/src/app/modules/pdf-viewer/services/document-viewer.service.ts b/apps/red-ui/src/app/modules/pdf-viewer/services/document-viewer.service.ts index 22042bfe0..487fb69bd 100644 --- a/apps/red-ui/src/app/modules/pdf-viewer/services/document-viewer.service.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/services/document-viewer.service.ts @@ -5,7 +5,7 @@ import { fromEvent, merge, Observable } from 'rxjs'; import { debounceTime, filter, map, tap } from 'rxjs/operators'; import { ActivatedRoute } from '@angular/router'; import { PdfViewer } from './pdf-viewer.service'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { UserPreferenceService } from '@users/user-preference.service'; import { log, shareLast } from '@iqser/common-ui'; import { stopAndPrevent, stopAndPreventIfNotAllowed } from '../utils/functions'; import { RotationType, RotationTypes } from '@red/domain'; diff --git a/apps/red-ui/src/app/modules/pdf-viewer/services/pdf-viewer.service.ts b/apps/red-ui/src/app/modules/pdf-viewer/services/pdf-viewer.service.ts index 3402bffc5..0d4707d9b 100644 --- a/apps/red-ui/src/app/modules/pdf-viewer/services/pdf-viewer.service.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/services/pdf-viewer.service.ts @@ -12,7 +12,7 @@ import { Rgb } from '../utils/types'; import { asList } from '../utils/functions'; import { TranslateService } from '@ngx-translate/core'; import { LicenseService } from '@services/license.service'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { UserPreferenceService } from '@users/user-preference.service'; import TextTool = Core.Tools.TextTool; import Annotation = Core.Annotations.Annotation; import TextHighlightAnnotation = Core.Annotations.TextHighlightAnnotation; diff --git a/apps/red-ui/src/app/modules/pdf-viewer/services/tooltips.service.ts b/apps/red-ui/src/app/modules/pdf-viewer/services/tooltips.service.ts index cc0f7552d..c51474c6c 100644 --- a/apps/red-ui/src/app/modules/pdf-viewer/services/tooltips.service.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/services/tooltips.service.ts @@ -1,5 +1,5 @@ import { Inject, Injectable } from '@angular/core'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { UserPreferenceService } from '@users/user-preference.service'; import { HeaderElements } from '../../file-preview/utils/constants'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { TranslateService } from '@ngx-translate/core'; diff --git a/apps/red-ui/src/app/modules/search/search-screen/search-screen.component.html b/apps/red-ui/src/app/modules/search/search-screen/search-screen.component.html index 3d80ba881..28057cb6c 100644 --- a/apps/red-ui/src/app/modules/search/search-screen/search-screen.component.html +++ b/apps/red-ui/src/app/modules/search/search-screen/search-screen.component.html @@ -57,7 +57,7 @@
- +
diff --git a/apps/red-ui/src/app/modules/search/search-screen/search-screen.component.ts b/apps/red-ui/src/app/modules/search/search-screen/search-screen.component.ts index 42e6c84a0..a736498eb 100644 --- a/apps/red-ui/src/app/modules/search/search-screen/search-screen.component.ts +++ b/apps/red-ui/src/app/modules/search/search-screen/search-screen.component.ts @@ -32,7 +32,7 @@ import { PlatformSearchService } from '@services/entity-services/platform-search import { FeaturesService } from '@services/features.service'; import { DossiersCacheService } from '@services/dossiers/dossiers-cache.service'; import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; @Component({ templateUrl: './search-screen.component.html', diff --git a/apps/red-ui/src/app/modules/search/search.module.ts b/apps/red-ui/src/app/modules/search/search.module.ts index 0ca0c25b8..b08be2c80 100644 --- a/apps/red-ui/src/app/modules/search/search.module.ts +++ b/apps/red-ui/src/app/modules/search/search.module.ts @@ -2,13 +2,13 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { SearchScreenComponent } from './search-screen/search-screen.component'; import { RouterModule } from '@angular/router'; -import { CommonUiModule } from '@iqser/common-ui'; +import { CommonUiModule, IqserUsersModule } from '@iqser/common-ui'; import { SharedModule } from '@shared/shared.module'; const routes = [{ path: '', component: SearchScreenComponent }]; @NgModule({ declarations: [SearchScreenComponent], - imports: [CommonModule, RouterModule.forChild(routes), CommonUiModule, SharedModule], + imports: [CommonModule, RouterModule.forChild(routes), CommonUiModule, SharedModule, IqserUsersModule], }) export class SearchModule {} diff --git a/apps/red-ui/src/app/modules/shared-dossiers/components/file-actions/file-actions.component.ts b/apps/red-ui/src/app/modules/shared-dossiers/components/file-actions/file-actions.component.ts index de12143e1..ebe9fbe13 100644 --- a/apps/red-ui/src/app/modules/shared-dossiers/components/file-actions/file-actions.component.ts +++ b/apps/red-ui/src/app/modules/shared-dossiers/components/file-actions/file-actions.component.ts @@ -21,8 +21,8 @@ import { Toaster, } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -import { UserService } from '@services/user.service'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { UserService } from '@users/user.service'; +import { UserPreferenceService } from '@users/user-preference.service'; import { LongPressEvent } from '@shared/directives/long-press.directive'; import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service'; import { FileManagementService } from '@services/files/file-management.service'; diff --git a/apps/red-ui/src/app/modules/shared-dossiers/dialogs/assign-reviewer-approver-dialog/assign-reviewer-approver-dialog.component.ts b/apps/red-ui/src/app/modules/shared-dossiers/dialogs/assign-reviewer-approver-dialog/assign-reviewer-approver-dialog.component.ts index 98f91a0f0..ce298475b 100644 --- a/apps/red-ui/src/app/modules/shared-dossiers/dialogs/assign-reviewer-approver-dialog/assign-reviewer-approver-dialog.component.ts +++ b/apps/red-ui/src/app/modules/shared-dossiers/dialogs/assign-reviewer-approver-dialog/assign-reviewer-approver-dialog.component.ts @@ -1,6 +1,6 @@ import { Component, Inject } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { LoadingService, Toaster } from '@iqser/common-ui'; import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { Dossier, File, WorkflowFileStatus, WorkflowFileStatuses } from '@red/domain'; diff --git a/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts b/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts index fd6ec867d..4e514741b 100644 --- a/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts +++ b/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts @@ -13,7 +13,7 @@ import { Observable } from 'rxjs'; import { tap } from 'rxjs/operators'; import { EditDossierTeamComponent } from './edit-dossier-team/edit-dossier-team.component'; import { PermissionsService } from '@services/permissions.service'; -import { getCurrentUser } from '@services/user.service'; +import { getCurrentUser } from '@users/user.service'; import { DossiersService } from '@services/dossiers/dossiers.service'; import { dossiersServiceProvider } from '@services/entity-services/dossiers.service.provider'; diff --git a/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.html b/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.html index 394ee1aa1..ed4f62201 100644 --- a/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.html +++ b/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.html @@ -2,7 +2,7 @@
{{ 'assign-dossier-owner.dialog.single-user' | translate }} - + {{ userId | name }} @@ -38,7 +38,7 @@ > -
{{ 'assign-dossier-owner.dialog.no-reviewers' | translate }}
+
{{ 'assign-dossier-owner.dialog.no-reviewers' | translate }}
@@ -58,7 +58,8 @@ [class.selected]="isMemberSelected(userId)" [id]="'member-' + index" > - + +
- + class="mr-8" + > + diff --git a/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts b/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts index 86658c4a9..325bf9588 100644 --- a/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts +++ b/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts @@ -1,5 +1,5 @@ import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { Dossier, IDossierRequest } from '@red/domain'; import { EditDossierSaveResult, EditDossierSectionInterface } from '../edit-dossier-section.interface'; diff --git a/apps/red-ui/src/app/modules/shared-dossiers/services/file-assign.service.ts b/apps/red-ui/src/app/modules/shared-dossiers/services/file-assign.service.ts index 13cc568b6..78311987f 100644 --- a/apps/red-ui/src/app/modules/shared-dossiers/services/file-assign.service.ts +++ b/apps/red-ui/src/app/modules/shared-dossiers/services/file-assign.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { Dossier, File, User, WorkflowFileStatus, WorkflowFileStatuses } from '@red/domain'; import { DossiersDialogService } from './dossiers-dialog.service'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; diff --git a/apps/red-ui/src/app/modules/shared-dossiers/shared-dossiers.module.ts b/apps/red-ui/src/app/modules/shared-dossiers/shared-dossiers.module.ts index c27f41a0f..f142c095d 100644 --- a/apps/red-ui/src/app/modules/shared-dossiers/shared-dossiers.module.ts +++ b/apps/red-ui/src/app/modules/shared-dossiers/shared-dossiers.module.ts @@ -13,7 +13,7 @@ import { EditDossierTeamComponent } from './dialogs/edit-dossier-dialog/edit-dos import { DateColumnComponent } from './components/date-column/date-column.component'; import { FileAssignService } from './services/file-assign.service'; import { DictionaryDetailsDialogComponent } from './dialogs/edit-dossier-dialog/dictionary/dictionary-details-dialog/dictionary-details-dialog.component'; -import { IqserHelpModeModule } from '@iqser/common-ui'; +import { IqserHelpModeModule, IqserUsersModule } from '@iqser/common-ui'; const components = [ FileActionsComponent, @@ -32,6 +32,6 @@ const services = [DossiersDialogService, FileAssignService]; declarations: [...components, ...dialogs], exports: [...components, ...dialogs], providers: [...services], - imports: [CommonModule, SharedModule, IqserHelpModeModule], + imports: [CommonModule, SharedModule, IqserHelpModeModule, IqserUsersModule], }) export class SharedDossiersModule {} diff --git a/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.html b/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.html index 3a352737c..63dc49a4e 100644 --- a/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.html +++ b/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.html @@ -29,5 +29,5 @@
- + diff --git a/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.ts b/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.ts index 51f24a764..eabc22a63 100644 --- a/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.ts @@ -1,5 +1,5 @@ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { User } from '@red/domain'; import { List } from '@iqser/common-ui'; diff --git a/apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.html b/apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.html deleted file mode 100644 index 54858bced..000000000 --- a/apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.html +++ /dev/null @@ -1,5 +0,0 @@ - -
diff --git a/apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.scss b/apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.scss deleted file mode 100644 index c9d2d061d..000000000 --- a/apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.scss +++ /dev/null @@ -1,25 +0,0 @@ -@use 'common-buttons'; -@use 'variables'; - -:host { - @extend .user-button; - min-width: fit-content; - - button { - padding: 0 10px 0 5px; - - mat-icon { - width: 14px; - } - } - - &[aria-expanded='true'] { - button { - background: rgba(variables.$primary, 0.1); - } - } - - .dot { - left: -2px; - } -} diff --git a/apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.ts b/apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.ts deleted file mode 100644 index f0d95622c..000000000 --- a/apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; -import { UserService } from '@services/user.service'; - -@Component({ - selector: 'redaction-user-button', - templateUrl: './user-button.component.html', - styleUrls: ['./user-button.component.scss'], - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class UserButtonComponent { - @Input() userId: string; - @Input() showDot = false; - - constructor(readonly userService: UserService) {} -} diff --git a/apps/red-ui/src/app/modules/shared/components/editor/editor.component.ts b/apps/red-ui/src/app/modules/shared/components/editor/editor.component.ts index f70b83f7b..63da1509f 100644 --- a/apps/red-ui/src/app/modules/shared/components/editor/editor.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/editor/editor.component.ts @@ -1,6 +1,6 @@ import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core'; import { Debounce, List, OnChange } from '@iqser/common-ui'; -import { UserPreferenceService } from '@services/user-preference.service'; +import { UserPreferenceService } from '@users/user-preference.service'; import { EditorThemeService } from '@services/editor-theme.service'; import IStandaloneEditorConstructionOptions = monaco.editor.IStandaloneEditorConstructionOptions; import ICodeEditor = monaco.editor.ICodeEditor; diff --git a/apps/red-ui/src/app/modules/shared/components/initials-avatar/initials-avatar.component.html b/apps/red-ui/src/app/modules/shared/components/initials-avatar/initials-avatar.component.html deleted file mode 100644 index 798d49248..000000000 --- a/apps/red-ui/src/app/modules/shared/components/initials-avatar/initials-avatar.component.html +++ /dev/null @@ -1,12 +0,0 @@ -
-
- {{ _user | name: { showInitials: true } }} -
-
- {{ userName }} -
-
diff --git a/apps/red-ui/src/app/modules/shared/components/initials-avatar/initials-avatar.component.scss b/apps/red-ui/src/app/modules/shared/components/initials-avatar/initials-avatar.component.scss deleted file mode 100644 index dad8a5dee..000000000 --- a/apps/red-ui/src/app/modules/shared/components/initials-avatar/initials-avatar.component.scss +++ /dev/null @@ -1,17 +0,0 @@ -.wrapper { - display: flex; - align-items: center; - width: fit-content; - - .username { - margin-left: 6px; - - &.disabled { - opacity: 0.7; - } - } -} - -.border { - border: 1px solid var(--iqser-grey-7); -} diff --git a/apps/red-ui/src/app/modules/shared/components/initials-avatar/initials-avatar.component.ts b/apps/red-ui/src/app/modules/shared/components/initials-avatar/initials-avatar.component.ts deleted file mode 100644 index fdce00d6e..000000000 --- a/apps/red-ui/src/app/modules/shared/components/initials-avatar/initials-avatar.component.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { ChangeDetectionStrategy, Component, Input, OnChanges, OnInit } from '@angular/core'; -import { UserService } from '@services/user.service'; -import { User } from '@red/domain'; -import { TranslateService } from '@ngx-translate/core'; -import { NamePipeOptions } from '@shared/pipes/name.pipe'; - -@Component({ - selector: 'redaction-initials-avatar', - templateUrl: './initials-avatar.component.html', - styleUrls: ['./initials-avatar.component.scss'], - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class InitialsAvatarComponent implements OnInit, OnChanges { - @Input() color = 'lightgray'; - @Input() size: 'small' | 'large' = 'small'; - @Input() withName = false; - @Input() showYou = false; - @Input() tooltipPosition: 'below' | 'above' = 'above'; - @Input() defaultValue = this._translateService.instant('initials-avatar.unassigned'); - colorClass: string; - - namePipeOptions: NamePipeOptions; - - constructor(private readonly _userService: UserService, private readonly _translateService: TranslateService) {} - - _user: User; - - @Input() - set user(user: User | string) { - if (typeof user === 'string') { - this._user = this._userService.find(user); - } else { - this._user = user; - } - } - - get hasBorder(): boolean { - return !!this._user && !this.isCurrentUser && this._user.isManager; - } - - get disabled(): boolean { - return this._user && !this._isSystemUser && !this._user.hasAnyRole; - } - - get isCurrentUser(): boolean { - return this._userService.currentUser.id === this._user?.id; - } - - private get _colorClass() { - if (this.isCurrentUser) { - return 'primary-white'; - } - if (this.disabled) { - return 'inactive'; - } - if (this.color.includes('-')) { - return this.color; - } - return `${this.color}-dark`; - } - - private get _isSystemUser() { - return this._user?.id?.toLowerCase() === 'system'; - } - - ngOnChanges(): void { - if (this._isSystemUser) { - this.colorClass = 'primary-white primary'; - return; - } - - this.colorClass = this._colorClass; - } - - ngOnInit(): void { - this.namePipeOptions = { - showYou: this.showYou, - defaultValue: this.defaultValue, - }; - } -} diff --git a/apps/red-ui/src/app/modules/shared/components/team-members/team-members.component.html b/apps/red-ui/src/app/modules/shared/components/team-members/team-members.component.html index 4db9aa123..d7d2c77bb 100644 --- a/apps/red-ui/src/app/modules/shared/components/team-members/team-members.component.html +++ b/apps/red-ui/src/app/modules/shared/components/team-members/team-members.component.html @@ -6,7 +6,7 @@ [class.large-spacing]="largeSpacing" class="member" > - +
diff --git a/apps/red-ui/src/app/modules/shared/components/team-members/team-members.component.ts b/apps/red-ui/src/app/modules/shared/components/team-members/team-members.component.ts index 6286a58ea..29a186365 100644 --- a/apps/red-ui/src/app/modules/shared/components/team-members/team-members.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/team-members/team-members.component.ts @@ -1,6 +1,6 @@ import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core'; import { CircleButtonTypes, List } from '@iqser/common-ui'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { DossiersDialogService } from '../../../shared-dossiers/services/dossiers-dialog.service'; @Component({ diff --git a/apps/red-ui/src/app/modules/shared/pipes/name.pipe.ts b/apps/red-ui/src/app/modules/shared/pipes/name.pipe.ts deleted file mode 100644 index b89bb5058..000000000 --- a/apps/red-ui/src/app/modules/shared/pipes/name.pipe.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { Pipe, PipeTransform } from '@angular/core'; -import { UserService } from '@services/user.service'; -import { TranslateService } from '@ngx-translate/core'; -import { User } from '@red/domain'; - -function getInitials(name: string) { - if (name.toLowerCase() === 'system') { - return 'SY'; - } - - const splittedName = name.split(' ').filter(value => value !== ' ' && value !== ''); - return splittedName - .filter((_value, index) => index < 2) - .map(str => str[0]) - .join(''); -} - -export interface NamePipeOptions { - showYou?: boolean; - showInitials?: boolean; - defaultValue?: string; -} - -@Pipe({ - name: 'name', -}) -export class NamePipe implements PipeTransform { - private readonly _defaultOptions: NamePipeOptions = { defaultValue: this._translateService.instant('unknown') }; - - constructor(private readonly _userService: UserService, private readonly _translateService: TranslateService) {} - - transform(value?: User | string, options = this._defaultOptions): string { - let name; - - if (!value && options?.showInitials) { - return '?'; - } - - name = this._getName(value) || options?.defaultValue; - - if (options?.showYou && this._isCurrentUser(value)) { - name = `${name} (${this._translateService.instant('initials-avatar.you')})`; - } - - return options?.showInitials ? getInitials(name) : name; - } - - private _isCurrentUser(user: User | string): boolean { - const userId = typeof user === 'string' ? user : user.id; - return this._userService.currentUser.id === userId; - } - - private _getName(user: User | string): string | undefined { - if (!user) { - return undefined; - } - return typeof user === 'string' ? this._userService.getName(user) : user.name; - } -} diff --git a/apps/red-ui/src/app/modules/shared/shared.module.ts b/apps/red-ui/src/app/modules/shared/shared.module.ts index 89a20fde6..82f5476a9 100644 --- a/apps/red-ui/src/app/modules/shared/shared.module.ts +++ b/apps/red-ui/src/app/modules/shared/shared.module.ts @@ -1,16 +1,14 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { InitialsAvatarComponent } from './components/initials-avatar/initials-avatar.component'; import { ScrollingModule } from '@angular/cdk/scrolling'; import { PaginationComponent } from './components/pagination/pagination.component'; import { FileDownloadBtnComponent } from './components/buttons/file-download-btn/file-download-btn.component'; -import { UserButtonComponent } from './components/buttons/user-button/user-button.component'; import { MatConfigModule } from '../mat-config/mat-config.module'; import { IconsModule } from '../icons/icons.module'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { AnnotationIconComponent } from './components/annotation-icon/annotation-icon.component'; import { DonutChartComponent } from './components/donut-chart/donut-chart.component'; -import { CommonUiModule, IqserHelpModeModule } from '@iqser/common-ui'; +import { CommonUiModule, IqserHelpModeModule, IqserUsersModule } from '@iqser/common-ui'; import { SelectComponent } from './components/select/select.component'; import { NavigateLastDossiersScreenDirective } from './directives/navigate-last-dossiers-screen.directive'; import { DictionaryManagerComponent } from './components/dictionary-manager/dictionary-manager.component'; @@ -18,7 +16,6 @@ import { MonacoEditorModule } from '@materia-ui/ngx-monaco-editor'; import { AssignUserDropdownComponent } from './components/assign-user-dropdown/assign-user-dropdown.component'; import { DatePipe } from './pipes/date.pipe'; import { LongPressDirective } from './directives/long-press.directive'; -import { NamePipe } from './pipes/name.pipe'; import { TypeFilterComponent } from './components/type-filter/type-filter.component'; import { TeamMembersComponent } from './components/team-members/team-members.component'; import { EditorComponent } from './components/editor/editor.component'; @@ -38,10 +35,9 @@ import { AddEditEntityComponent } from './components/add-edit-entity/add-edit-en import { ColorPickerModule } from 'ngx-color-picker'; import { WatermarkSelectorComponent } from './components/dossier-watermark-selector/watermark-selector.component'; -const buttons = [FileDownloadBtnComponent, UserButtonComponent]; +const buttons = [FileDownloadBtnComponent]; const components = [ - InitialsAvatarComponent, PaginationComponent, AnnotationIconComponent, DonutChartComponent, @@ -64,7 +60,7 @@ const components = [ ...buttons, ]; -const utils = [DatePipe, NamePipe, NavigateLastDossiersScreenDirective, LongPressDirective]; +const utils = [DatePipe, NavigateLastDossiersScreenDirective, LongPressDirective]; const services = [SharedDialogService]; @@ -72,7 +68,16 @@ const modules = [MatConfigModule, ScrollingModule, IconsModule, FormsModule, Rea @NgModule({ declarations: [...components, ...utils, EditorComponent], - imports: [CommonModule, CommonUiModule, ...modules, MonacoEditorModule, TranslateModule, RouterModule, IqserHelpModeModule], + imports: [ + CommonModule, + CommonUiModule, + ...modules, + MonacoEditorModule, + TranslateModule, + RouterModule, + IqserHelpModeModule, + IqserUsersModule, + ], exports: [...modules, CommonUiModule, ...components, ...utils], providers: [ ...services, diff --git a/apps/red-ui/src/app/modules/trash/trash-screen/trash-table-item/trash-table-item.component.html b/apps/red-ui/src/app/modules/trash/trash-screen/trash-table-item/trash-table-item.component.html index a93cb9350..6b289c9ac 100644 --- a/apps/red-ui/src/app/modules/trash/trash-screen/trash-table-item/trash-table-item.component.html +++ b/apps/red-ui/src/app/modules/trash/trash-screen/trash-table-item/trash-table-item.component.html @@ -16,7 +16,7 @@
- +
diff --git a/apps/red-ui/src/app/modules/trash/trash.module.ts b/apps/red-ui/src/app/modules/trash/trash.module.ts index e145fb601..48822a39f 100644 --- a/apps/red-ui/src/app/modules/trash/trash.module.ts +++ b/apps/red-ui/src/app/modules/trash/trash.module.ts @@ -2,7 +2,7 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { RouterModule } from '@angular/router'; import { TrashScreenComponent } from './trash-screen/trash-screen.component'; -import { CommonUiModule } from '@iqser/common-ui'; +import { CommonUiModule, IqserUsersModule } from '@iqser/common-ui'; import { TrashTableItemComponent } from './trash-screen/trash-table-item/trash-table-item.component'; import { SharedModule } from '@shared/shared.module'; import { TrashDialogService } from './services/trash-dialog.service'; @@ -11,7 +11,7 @@ const routes = [{ path: '', component: TrashScreenComponent }]; @NgModule({ declarations: [TrashScreenComponent, TrashTableItemComponent], - imports: [CommonModule, RouterModule.forChild(routes), CommonUiModule, SharedModule], + imports: [CommonModule, RouterModule.forChild(routes), CommonUiModule, SharedModule, IqserUsersModule], providers: [TrashDialogService], }) export class TrashModule {} diff --git a/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts b/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts index 926a3e0e9..18a766f97 100644 --- a/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts +++ b/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts @@ -11,7 +11,7 @@ import { firstValueFrom, Observable } from 'rxjs'; import { ConfigService } from '@services/config.service'; import { map, switchMap, tap } from 'rxjs/operators'; import { KeycloakService } from 'keycloak-angular'; -import { UserService } from '@services/user.service'; +import { UserService } from '@users/user.service'; import { EntitiesService, List, mapEach, RequiredParam, Validate } from '@iqser/common-ui'; import { NGXLogger } from 'ngx-logger'; diff --git a/apps/red-ui/src/app/services/config.service.ts b/apps/red-ui/src/app/services/config.service.ts index 1441ea740..f0f3e3a4f 100644 --- a/apps/red-ui/src/app/services/config.service.ts +++ b/apps/red-ui/src/app/services/config.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@angular/core'; -import { BaseConfigService } from '@iqser/common-ui'; +import { IqserConfigService } from '@iqser/common-ui'; import { AppConfig } from '@red/domain'; @Injectable() -export class ConfigService extends BaseConfigService {} +export class ConfigService extends IqserConfigService {} diff --git a/apps/red-ui/src/app/services/dossiers/dossier-stats.service.ts b/apps/red-ui/src/app/services/dossiers/dossier-stats.service.ts index da47af88e..139f9e126 100644 --- a/apps/red-ui/src/app/services/dossiers/dossier-stats.service.ts +++ b/apps/red-ui/src/app/services/dossiers/dossier-stats.service.ts @@ -2,7 +2,7 @@ import { inject, Injectable } from '@angular/core'; import { StatsService } from '@iqser/common-ui'; import { DOSSIER_ID, DossierStats, IDossierStats } from '@red/domain'; import { Observable, of } from 'rxjs'; -import { UserService } from '../user.service'; +import { UserService } from '@users/user.service'; import { NGXLogger } from 'ngx-logger'; import { tap } from 'rxjs/operators'; diff --git a/apps/red-ui/src/app/services/editor-theme.service.ts b/apps/red-ui/src/app/services/editor-theme.service.ts index 8033eeef0..b1fd24c67 100644 --- a/apps/red-ui/src/app/services/editor-theme.service.ts +++ b/apps/red-ui/src/app/services/editor-theme.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { UserPreferenceService } from './user-preference.service'; +import { UserPreferenceService } from '@users/user-preference.service'; import { editor } from 'monaco-editor'; import IStandaloneThemeData = editor.IStandaloneThemeData; diff --git a/apps/red-ui/src/app/services/entity-services/trash.service.ts b/apps/red-ui/src/app/services/entity-services/trash.service.ts index d795b8806..4ec50c525 100644 --- a/apps/red-ui/src/app/services/entity-services/trash.service.ts +++ b/apps/red-ui/src/app/services/entity-services/trash.service.ts @@ -6,7 +6,7 @@ import { forkJoin, map, Observable, of } from 'rxjs'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { PermissionsService } from '../permissions.service'; import { ActiveDossiersService } from '../dossiers/active-dossiers.service'; -import { UserService } from '../user.service'; +import { UserService } from '@users/user.service'; import { flatMap } from 'lodash-es'; import { DossierStatsService } from '../dossiers/dossier-stats.service'; import { FilesService } from '../files/files.service'; diff --git a/apps/red-ui/src/app/services/files/files.service.ts b/apps/red-ui/src/app/services/files/files.service.ts index 323ccee30..01e3b8b67 100644 --- a/apps/red-ui/src/app/services/files/files.service.ts +++ b/apps/red-ui/src/app/services/files/files.service.ts @@ -2,7 +2,7 @@ import { Injectable } from '@angular/core'; import { EntitiesService, List, mapEach, RequiredParam, Validate } from '@iqser/common-ui'; import { File, IFile } from '@red/domain'; import { Observable } from 'rxjs'; -import { UserService } from '../user.service'; +import { UserService } from '@users/user.service'; import { FilesMapService } from './files-map.service'; import { map, switchMap, tap } from 'rxjs/operators'; import { DossierStatsService } from '../dossiers/dossier-stats.service'; diff --git a/apps/red-ui/src/app/services/notifications.service.ts b/apps/red-ui/src/app/services/notifications.service.ts index 922a256b6..182112224 100644 --- a/apps/red-ui/src/app/services/notifications.service.ts +++ b/apps/red-ui/src/app/services/notifications.service.ts @@ -6,7 +6,7 @@ import { Dossier, INotification, Notification, NotificationTypes } from '@red/do import { map, switchMap, tap } from 'rxjs/operators'; import { notificationsTranslations } from '@translations/notifications-translations'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -import { UserService } from './user.service'; +import { UserService } from '@users/user.service'; import dayjs from 'dayjs'; import { CHANGED_CHECK_INTERVAL } from '@utils/constants'; import { DossiersCacheService } from './dossiers/dossiers-cache.service'; diff --git a/apps/red-ui/src/app/services/permissions.service.ts b/apps/red-ui/src/app/services/permissions.service.ts index c1b36fc89..a47619033 100644 --- a/apps/red-ui/src/app/services/permissions.service.ts +++ b/apps/red-ui/src/app/services/permissions.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { UserService } from './user.service'; +import { UserService } from '@users/user.service'; import { Dictionary, Dossier, diff --git a/apps/red-ui/src/app/modules/auth/red-role.guard.ts b/apps/red-ui/src/app/users/red-role.guard.ts similarity index 91% rename from apps/red-ui/src/app/modules/auth/red-role.guard.ts rename to apps/red-ui/src/app/users/red-role.guard.ts index 25a9bab19..499698d53 100644 --- a/apps/red-ui/src/app/modules/auth/red-role.guard.ts +++ b/apps/red-ui/src/app/users/red-role.guard.ts @@ -1,12 +1,12 @@ import { inject, Injectable } from '@angular/core'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'; -import { UserService } from '@services/user.service'; -import { RoleGuard } from '@iqser/common-ui'; +import { UserService } from './user.service'; +import { IqserRoleGuard } from '@iqser/common-ui'; @Injectable({ providedIn: 'root', }) -export class RedRoleGuard extends RoleGuard { +export class RedRoleGuard extends IqserRoleGuard { protected readonly _userService = inject(UserService); async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise { diff --git a/apps/red-ui/src/app/services/user-preference.service.ts b/apps/red-ui/src/app/users/user-preference.service.ts similarity index 91% rename from apps/red-ui/src/app/services/user-preference.service.ts rename to apps/red-ui/src/app/users/user-preference.service.ts index 96797d857..2f0971551 100644 --- a/apps/red-ui/src/app/services/user-preference.service.ts +++ b/apps/red-ui/src/app/users/user-preference.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { BaseUserPreferenceService, ListingMode } from '@iqser/common-ui'; +import { IqserUserPreferenceService, ListingMode } from '@iqser/common-ui'; const KEYS = { dossierRecent: 'Dossier-Recent', @@ -11,7 +11,7 @@ const KEYS = { @Injectable({ providedIn: 'root', }) -export class UserPreferenceService extends BaseUserPreferenceService { +export class UserPreferenceService extends IqserUserPreferenceService { protected readonly _defaultModelPath = 'attributes'; protected readonly _devFeaturesEnabledKey = 'redaction.enable-dev-features'; diff --git a/apps/red-ui/src/app/services/user.service.ts b/apps/red-ui/src/app/users/user.service.ts similarity index 87% rename from apps/red-ui/src/app/services/user.service.ts rename to apps/red-ui/src/app/users/user.service.ts index 4a35fd1f8..bf884916f 100644 --- a/apps/red-ui/src/app/services/user.service.ts +++ b/apps/red-ui/src/app/users/user.service.ts @@ -1,11 +1,11 @@ import { inject, Injectable } from '@angular/core'; import { User } from '@red/domain'; -import { BaseUserService, IIqserUser } from '@iqser/common-ui'; +import { IIqserUser, IqserUserService } from '@iqser/common-ui'; @Injectable({ providedIn: 'root', }) -export class UserService extends BaseUserService { +export class UserService extends IqserUserService { protected readonly _defaultModelPath = 'user'; protected readonly _entityClass = User; diff --git a/apps/red-ui/src/app/utils/configuration.initializer.ts b/apps/red-ui/src/app/utils/configuration.initializer.ts index 3e409c8c3..b46d52307 100644 --- a/apps/red-ui/src/app/utils/configuration.initializer.ts +++ b/apps/red-ui/src/app/utils/configuration.initializer.ts @@ -1,12 +1,11 @@ -import { catchError, filter, mergeMap, switchMap, tap } from 'rxjs/operators'; +import { catchError, filter, switchMap, tap } from 'rxjs/operators'; import { ConfigService } from '@services/config.service'; -import { Title } from '@angular/platform-browser'; import { firstValueFrom, map, of, throwError } from 'rxjs'; import { KeycloakEventType, KeycloakService } from 'keycloak-angular'; import { GeneralSettingsService } from '@services/general-settings.service'; import { LanguageService } from '@iqser/common-ui'; -import { UserPreferenceService } from '@services/user-preference.service'; -import { UserService } from '@services/user.service'; +import { UserPreferenceService } from '@users/user-preference.service'; +import { UserService } from '@users/user.service'; import { FeaturesService } from '@services/features.service'; import { SystemPreferencesService } from '@services/system-preferences.service'; import { LicenseService } from '@services/license.service'; @@ -22,7 +21,6 @@ function lastDossierTemplateRedirect(baseHref: string, userPreferenceService: Us export function configurationInitializer( baseHref: string, keycloakService: KeycloakService, - title: Title, configService: ConfigService, systemPreferencesService: SystemPreferencesService, featuresService: FeaturesService, @@ -39,13 +37,12 @@ export function configurationInitializer( switchMap(loggedIn => (!loggedIn ? throwError(() => 'Not Logged In') : of({}))), switchMap(() => userService.initialize()), switchMap(() => (!userService.currentUser.hasAnyREDRoles ? throwError(() => 'Not user has no red roles') : of({}))), - mergeMap(() => generalSettingsService.getGeneralConfigurations()), + switchMap(() => generalSettingsService.getGeneralConfigurations()), tap(configuration => configService.updateDisplayName(configuration.displayName)), switchMap(() => systemPreferencesService.loadPreferences()), switchMap(() => userPreferenceService.reload()), catchError(e => { console.log('[Redaction] Initialization error:', e); - title.setTitle('RedactManager'); return of({}); }), tap(() => { diff --git a/libs/common-ui b/libs/common-ui index 62654db49..fc3269cc0 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 62654db49d0ca9416045cf096a869ef4cbfc8938 +Subproject commit fc3269cc0c86ce3c26c9c0266e4429f393214d37 diff --git a/libs/red-domain/src/lib/users/user.model.ts b/libs/red-domain/src/lib/users/user.model.ts index d60bec90e..5f70e50ea 100644 --- a/libs/red-domain/src/lib/users/user.model.ts +++ b/libs/red-domain/src/lib/users/user.model.ts @@ -10,5 +10,6 @@ export class User extends IqserUser { constructor(user: KeycloakProfile | IIqserUser, readonly roles: List, readonly userId: string) { super(user, roles, userId); + this.isSpecial = this.isManager; } } diff --git a/tsconfig.json b/tsconfig.json index baaec633d..500c8fc83 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -25,6 +25,7 @@ "@models/*": ["apps/red-ui/src/app/models/*"], "@red/domain": ["libs/red-domain/src/index.ts"], "@services/*": ["apps/red-ui/src/app/services/*"], + "@users/*": ["apps/red-ui/src/app/users/*"], "@shared/*": ["apps/red-ui/src/app/modules/shared/*"], "@translations/*": ["apps/red-ui/src/app/translations/*"], "@upload-download/*": ["apps/red-ui/src/app/modules/upload-download/*"],