DM-358 - set some keys depending on user roles

This commit is contained in:
Valentin Mihai 2023-09-08 15:49:38 +03:00
parent bc6fe3e2fa
commit 5eb5bfed24
9 changed files with 65 additions and 19 deletions

View File

@ -86,13 +86,13 @@ export class AdminSideNavComponent implements OnInit {
{
screen: 'info',
label: _('admin-side-nav.dossier-template-info'),
helpModeKey: 'user_dossier_template_info',
helpModeKey: this.currentUser.isAdmin ? 'dossier_templates_info' : 'user_dossier_template_info',
show: true,
},
{
screen: 'entities',
label: _('admin-side-nav.entities'),
helpModeKey: 'user_dossier_template_entities',
helpModeKey: this.currentUser.isAdmin ? 'entities' : 'user_dossier_template_entities',
show: true,
},
{
@ -127,14 +127,14 @@ export class AdminSideNavComponent implements OnInit {
{
screen: 'dossier-states',
label: _('admin-side-nav.dossier-states'),
helpModeKey: 'user_dossier_template_dossier_states',
helpModeKey: this.currentUser.isAdmin ? 'dossier_states' : 'user_dossier_template_dossier_states',
show: true,
},
{
screen: 'reports',
label: _('admin-side-nav.reports'),
show: this._permissionsService.has([Roles.reportTemplates.read]),
helpModeKey: 'user_dossier_template_reports',
helpModeKey: this.currentUser.isAdmin ? 'admin_reports' : 'user_dossier_template_reports',
},
{
screen: 'justifications',

View File

@ -35,7 +35,6 @@
<div #actionsWrapper class="actions-wrapper">
<redaction-file-actions
*ngIf="!file.isProcessing"
[attr.help-mode-key]="'workflow_view'"
[dossier]="dossier"
[file]="file"
[maxWidth]="width"

View File

@ -41,6 +41,7 @@
[noDataIcon]="'iqser:document'"
[noDataText]="'dossier-overview.no-data.title' | translate"
[showNoDataButton]="true"
[id]="'workflow-view'"
addElementColumn="NEW"
>
<ng-template #workflowItemTemplate let-entity="entity">

View File

@ -1,11 +1,11 @@
import { inject, Injectable, NgZone } from '@angular/core';
import { getConfig, IqserPermissionsService, isIqserDevMode } from '@iqser/common-ui';
import { getConfig, HelpModeService, IqserPermissionsService, isIqserDevMode } from '@iqser/common-ui';
import { BASE_HREF_FN } from '@iqser/common-ui/lib/utils';
import { TranslateService } from '@ngx-translate/core';
import { IHeaderElement, RotationTypes } from '@red/domain';
import { FilesMapService } from '@services/files/files-map.service';
import { Roles } from '@users/roles';
import { fromEvent, Observable, Subject } from 'rxjs';
import { fromEvent, merge, Observable, Subject } from 'rxjs';
import { filter, map, tap } from 'rxjs/operators';
import { HeaderElements, HeaderElementType } from '../../file-preview/utils/constants';
import { ROTATION_ACTION_BUTTONS, ROTATION_BUTTONS, ViewerEvents } from '../utils/constants';
@ -56,6 +56,7 @@ export class ViewerHeaderService {
private readonly _layersService: LayersService,
private readonly _readableRedactionsService: ReadableRedactionsService,
private readonly _ngZone: NgZone,
private readonly _helpModeService: HelpModeService,
) {
this.events$ = this.#events$.asObservable();
}
@ -224,9 +225,9 @@ export class ViewerHeaderService {
}
get #toggleLoadAnnotations$() {
return this.expandedPanelEvent$.pipe(
tap(isVisible =>
isVisible ? this.enable([HeaderElements.LOAD_ALL_ANNOTATIONS]) : this.disable([HeaderElements.LOAD_ALL_ANNOTATIONS]),
return merge(this.expandedPanelEvent$, this._helpModeService.isHelpModeActive$).pipe(
tap(enable =>
enable ? this.enable([HeaderElements.LOAD_ALL_ANNOTATIONS]) : this.disable([HeaderElements.LOAD_ALL_ANNOTATIONS]),
),
);
}

View File

@ -19,6 +19,7 @@
[minWidth]="minWidth"
[tooltipPosition]="tooltipPosition"
[helpModeKeyPrefix]="helpModeKeyPrefix"
[isDossierOverviewWorkflow]="isDossierOverviewWorkflow"
></redaction-expandable-file-actions>
</div>
</ng-template>

View File

@ -272,7 +272,7 @@ export class FileActionsComponent implements OnChanges {
class: { 'mr-24': this.isDossierOverviewList },
checked: !this.file.excluded,
show: this.showToggleAnalysis,
helpModeKey: 'disable_redaction',
helpModeKey: 'disable_extraction',
},
];

View File

@ -21,6 +21,7 @@ export class ExpandableFileActionsComponent implements OnChanges {
@Input() buttonType: CircleButtonType;
@Input() tooltipPosition: IqserTooltipPosition;
@Input() helpModeKeyPrefix: 'dossier' | 'editor';
@Input() isDossierOverviewWorkflow = false;
displayedButtons: Action[];
hiddenButtons: Action[];
@ -75,7 +76,9 @@ export class ExpandableFileActionsComponent implements OnChanges {
}
helpModeKey(action: Action) {
return action.helpModeKey ? `${this.helpModeKeyPrefix}_${action.helpModeKey}` : '';
return action.helpModeKey
? `${this.helpModeKeyPrefix}${this.isDossierOverviewWorkflow ? '_workflow' : ''}_${action.helpModeKey}`
: '';
}
onButtonClick(button: Action, $event: MouseEvent) {

View File

@ -227,6 +227,10 @@
"elementKey": "user_dossier_template_info",
"documentKey": "user_dossier_template_info"
},
{
"elementKey": "dossier_templates_info",
"documentKey": "dossier_templates_info"
},
{
"elementKey": "entities",
"documentKey": "entities"
@ -301,6 +305,10 @@
"elementKey": "user_dossier_template_dossier_states",
"documentKey": "user_dossier_template_dossier_states"
},
{
"elementKey": "dossier_states",
"documentKey": "dossier_states"
},
{
"elementKey": "create_new_dossier_state",
"documentKey": "create_new_dossier_state"
@ -318,6 +326,10 @@
"elementKey": "user_dossier_template_reports",
"documentKey": "user_dossier_template_reports"
},
{
"elementKey": "admin_reports",
"documentKey": "reports"
},
{
"elementKey": "justifications",
"documentKey": "justifications"
@ -464,10 +476,40 @@
"scrollableParentView": "VIRTUAL_SCROLL"
},
{
"elementKey": "dossier_disable_redaction",
"documentKey": "dossier_disable_redaction",
"elementKey": "dossier_disable_extraction",
"documentKey": "dossier_disable_extraction",
"scrollableParentView": "VIRTUAL_SCROLL"
},
{
"elementKey": "dossier_workflow_delete_file",
"documentKey": "dossier_delete_file",
"scrollableParentView": "WORKFLOW_VIEW"
},
{
"elementKey": "dossier_workflow_assign_user",
"documentKey": "dossier_assign_user",
"scrollableParentView": "WORKFLOW_VIEW"
},
{
"elementKey": "dossier_workflow_change_status",
"documentKey": "dossier_change_status",
"scrollableParentView": "WORKFLOW_VIEW"
},
{
"elementKey": "dossier_workflow_stop_analysis",
"documentKey": "dossier_stop_analysis",
"scrollableParentView": "WORKFLOW_VIEW"
},
{
"elementKey": "dossier_workflow_download",
"documentKey": "dossier_download",
"scrollableParentView": "WORKFLOW_VIEW"
},
{
"elementKey": "dossier_workflow_disable_extraction",
"documentKey": "dossier_disable_extraction",
"scrollableParentView": "WORKFLOW_VIEW"
},
{
"elementKey": "workload_page_list",
"documentKey": "workload_page_list"
@ -494,8 +536,8 @@
"documentKey": "editor_download"
},
{
"elementKey": "editor_disable_redaction",
"documentKey": "editor_disable_redaction"
"elementKey": "editor_disable_extraction",
"documentKey": "editor_disable_extraction"
},
{
"elementKey": "editor_scm",
@ -525,8 +567,7 @@
},
{
"elementKey": "scm_export_DIALOG",
"documentKey": "scm_export",
"scrollableParentView": "SCM_EDIT_DIALOG"
"documentKey": "scm_export"
},
{
"elementKey": "resize_annotation",

@ -1 +1 @@
Subproject commit c83eb568db039e60db49d96b5a99af204b0bdd99
Subproject commit 4f4123cd5d1780a962d9df350137cc4b244b66c9