Skip to content

Commit a4036eb

Browse files
authored
Merge pull request #419 from OneIdentity/sync-repo-from-v93-to-v93-20251118115803
Sync repo from v93 to v93 20251118115803
2 parents 2bd36e0 + 35a6d9f commit a4036eb

File tree

48 files changed

+581
-510
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+581
-510
lines changed

.commit

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
33205d5c4914447063070c3388d3cb519db901bc
1+
fb17f275172f1264fca4ddddb103d5bb06f71fa1

.sync-history

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
75c559bcf 2025-09-01 Merged PR 82987: PWO Data Null check added.
1+
9e5dde4c5 2025-10-17 Merged PR 85336: #543115 - Fix approval decision guidance (9.3)

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
### November 18, 2025
2+
545983 (545530): Fixes an issue with mandatory fields when editing a request in the shopping cart.
3+
581733 (549535): Fixes an issue with displaying the approval page when there are no items to approve.
4+
622249 (579339): Fixes an issue with exporting attestation run data.
5+
621618 (621462): Fixes an issue with dependency scripts that are updating the `isMandatory` property.
6+
604627: Fixes UI issues after changing the user language.
7+
546758 (546757): Fixes multiple issues with the Job Server Overview page.
8+
19
### October 17, 2025
210
- 508158 (499229): Fixes an issue with the hyperview on Compliance -> Policy violations.
311
- 494396 (494373): Fixes an issue with duplicate names on System Roles -> View Settings -> Additional columns.

imxweb/projects/att/src/lib/attestation-history/attestation-history.component.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,10 @@ import {
3434
DbObjectKey,
3535
DisplayColumns,
3636
EntitySchema,
37-
FilterData,
3837
FilterType,
3938
TypedEntity,
4039
TypedEntityCollectionData,
41-
ValType,
40+
ValType
4241
} from '@imx-modules/imx-qbm-dbts';
4342
import { TranslateService } from '@ngx-translate/core';
4443
import {
@@ -57,6 +56,7 @@ import { SourceDetectiveSidesheetComponent, SourceDetectiveSidesheetData, Source
5756
import { Subscription } from 'rxjs';
5857
import { Approvers } from '../decision/approvers.interface';
5958
import { AttestationCasesService } from '../decision/attestation-cases.service';
59+
import { AttestationParameters } from '../runs/attestation/attestation.component';
6060
import { AttestationHistoryActionService } from './attestation-history-action.service';
6161
import { AttestationHistoryCase } from './attestation-history-case';
6262
import { AttestationHistoryDetailsComponent } from './attestation-history-details/attestation-history-details.component';
@@ -69,7 +69,7 @@ import { AttestationHistoryService } from './attestation-history.service';
6969
providers: [DataViewSource],
7070
})
7171
export class AttestationHistoryComponent implements OnInit, OnDestroy {
72-
@Input() public parameters: { objecttable: string; objectuid: string; filter?: FilterData[] };
72+
@Input() public parameters: AttestationParameters;
7373
@Input() public itemStatus: DataSourceItemStatus = { enabled: (__) => true };
7474
@Input() public withAssignmentAnalysis: boolean = false;
7575
@Input() public selectable: boolean = true;
@@ -192,6 +192,7 @@ export class AttestationHistoryComponent implements OnInit, OnDestroy {
192192
exportFunction: this.historyService.exportAttestation({
193193
objecttable: this.parameters?.objecttable,
194194
objectuid: this.parameters?.objectuid,
195+
filter: this.parameters?.filter
195196
}),
196197
};
197198
this.dataSource.init(dataViewInitParameters);

imxweb/projects/custom-app/src/app/app.component.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,12 +85,7 @@ export class AppComponent implements OnInit, OnDestroy {
8585
this.router.events.subscribe((event: Event) => {
8686
if (event instanceof NavigationStart) {
8787
this.hideUserMessage = true;
88-
if (this.isLoggedIn && event.url === '/') {
89-
// show the splash screen when the user logs out!
90-
this.splash.init({ applicationName: 'Custom App' });
91-
}
9288
}
93-
9489
if (event instanceof NavigationCancel) {
9590
this.hideUserMessage = false;
9691
}

imxweb/projects/pol/src/lib/policy-violations/policy-violations-sidesheet/policy-violations-sidesheet.component.ts

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export class PolicyViolationsSidesheetComponent implements OnInit, OnDestroy {
4444
public cdrList: ColumnDependentReference[] = [];
4545
public selectedHyperviewType: string;
4646
public selectedHyperviewUID: string;
47-
public selectedHyperviewOption = new FormControl<string>('', {nonNullable: true});
47+
public selectedHyperviewOption = new FormControl<string>('', { nonNullable: true });
4848
public hyperviewOptions: EuiSelectOption[];
4949
public result: boolean = false;
5050
public closeSubscription: Subscription;
@@ -75,27 +75,26 @@ export class PolicyViolationsSidesheetComponent implements OnInit, OnDestroy {
7575
private readonly confirmationService: ConfirmationService,
7676
private readonly euiLoadingService: EuiLoadingService,
7777
) {}
78-
78+
7979
ngOnInit() {
8080
this.cdrList = this.data.policyViolation.properties;
8181
this.closeSubscription = this.sideSheetRef.closeClicked().subscribe(async () => {
82-
if (!this.mitig.isDirty || (await this.confirmationService.confirmLeaveWithUnsavedChanges())) {
82+
if (!this.mitig?.isDirty || (await this.confirmationService.confirmLeaveWithUnsavedChanges())) {
8383
this.sideSheetRef.close(this.result);
8484
}
8585
});
86-
this.hyperviewOptions = this.data.policyViolation.data.map(option => {
86+
this.hyperviewOptions = this.data.policyViolation.data.map((option) => {
8787
return {
8888
display: option.Display!,
89-
value: option.ObjectKey
90-
}
89+
value: option.ObjectKey,
90+
};
9191
});
9292
// Prepopulate with first entry
9393
if (this.hyperviewOptions.length > 0) {
9494
const initValue = this.hyperviewOptions[0].value;
9595
this.selectedHyperviewOption.setValue(initValue);
9696
this.setHyperviewObject(initValue);
9797
}
98-
9998
}
10099

101100
public ngOnDestroy(): void {
@@ -122,7 +121,7 @@ export class PolicyViolationsSidesheetComponent implements OnInit, OnDestroy {
122121

123122
/**
124123
* Setup for the hyperview component
125-
* @param objectKey
124+
* @param objectKey
126125
*/
127126
public setHyperviewObject(objectKey: string | undefined): void {
128127
const dbKey = DbObjectKey.FromXml(objectKey ?? '');
@@ -132,7 +131,7 @@ export class PolicyViolationsSidesheetComponent implements OnInit, OnDestroy {
132131

133132
/**
134133
* Handle changes to the hyperview option
135-
* @param option
134+
* @param option
136135
*/
137136
public onHyperviewOptionSelected(option: EuiSelectOption): void {
138137
this.setHyperviewObject(option.value);
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export function isQAMAdmin(features: string[]): boolean {
2+
return features.find((item) => item === 'Portal_UI_QAMAdmin') != null;
3+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { Injectable } from '@angular/core';
2+
import { UserModelService } from 'qer';
3+
import { isQAMAdmin } from './permission-helper';
4+
5+
@Injectable({
6+
providedIn: 'root'
7+
})
8+
export class PermissionsService {
9+
10+
constructor(private readonly userService: UserModelService) {}
11+
12+
public async isQAMAdmin(): Promise<boolean> {
13+
return isQAMAdmin((await this.userService.getFeatures()).Features || []);
14+
}
15+
}

imxweb/projects/qam/src/lib/auditing-governed-data/auditing-governed-data.component.html

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
@if(!isGovernedDataView) {
22
<mat-card class="data-explorer data-explorer--nodes" >
3-
<div class="imx-card-data-explorer-header">
4-
<div class="imx-card-data-explorer-header-bg">
5-
<h3 translate>#LDS#Heading Auditing - Managed Hosts</h3>
6-
<imx-help-contextual [contextId]="contextId"></imx-help-contextual>
7-
</div>
8-
</div>
93
<imx-data-view-toolbar
104
[dataSource]="dataSource" [showSettings]="false"
115
></imx-data-view-toolbar>

imxweb/projects/qam/src/lib/auditing-governed-data/auditing-governed-data.component.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,8 @@ import { AuditingGovernedDataService } from './auditing-governed-data.service';
3636
styleUrl: './auditing-governed-data.component.scss',
3737
providers: [DataViewSource],
3838
})
39-
export class AuditingGovernedDataComponent implements OnInit, SideNavigationComponent{
39+
export class AuditingGovernedDataComponent implements OnInit{
4040

41-
public contextId?: HelpContextualValues;
4241
public busyService = new BusyService();
4342
public entitySchema : EntitySchema;
4443
public uidNode: string = '';
@@ -76,7 +75,6 @@ export class AuditingGovernedDataComponent implements OnInit, SideNavigationComp
7675
};
7776
this.dataSource.init(dataViewInitParameters);
7877
} finally {
79-
this.contextId = HELP_CONTEXTUAL.AuditingManagedHosts;
8078
isBusy.endBusy();
8179
}
8280
}

0 commit comments

Comments
 (0)