Skip to content
Snippets Groups Projects

feat(notification): [DLCM-2607] when treat access dataset request, create ACL in all cases

@@ -40,15 +40,12 @@ import {
SharedAipRoutesEnum,
} from "@shared/enums/routes.enum";
import {ViewModeEnum} from "@shared/enums/view-mode.enum";
import {SharedArchiveAction} from "@shared/stores/archive/shared-archive.action";
import {SharedNotificationAction} from "@shared/stores/notification/shared-notification.action";
import {take} from "rxjs/operators";
import {
isNotNullNorUndefined,
MARK_AS_TRANSLATABLE,
NotificationService,
SolidifyObject,
StoreUtil,
} from "solidify-frontend";
export class NotificationHelper {
@@ -163,24 +160,10 @@ export class NotificationHelper {
}
private static _processAccessDataSetRequest(notification: NotificationDlcm, store: Store, actions: Actions): void {
const notifiedOrgUnitId = notification.notifiedOrgUnit.resId;
const emitterPersonId = notification.emitter.person.resId;
StoreUtil.dispatchActionAndWaitForSubActionCompletion(store, actions,
new SharedArchiveAction.GetById(notification.objectId),
SharedArchiveAction.GetByIdSuccess, result => {
if (result.model.accessLevel === Enums.Access.AccessEnum.RESTRICTED) {
store.dispatch(this._getNavigateToOrgUnitToAddMember(store, notifiedOrgUnitId, emitterPersonId, Enums.Role.RoleEnum.VISITOR));
} else {
store.dispatch(new PreservationSpaceOrganizationalUnitArchiveAclAction.CreateFromNotification(notification));
}
},
SharedArchiveAction.GetByIdFail, result => {
store.dispatch(new PreservationSpaceOrganizationalUnitArchiveAclAction.CreateFromNotification(notification));
})
.pipe(take(1))
.subscribe();
// dispatch event that will mark notification as done
store.dispatch(new SharedNotificationAction.SetProcessed(notification.resId, notification.notificationType.notificationCategory, ViewModeEnum.list));
store.dispatch([
new PreservationSpaceOrganizationalUnitArchiveAclAction.CreateFromNotification(notification),
new SharedNotificationAction.SetProcessed(notification.resId, notification.notificationType.notificationCategory, ViewModeEnum.list),
]);
}
private static _processApproveDisposalRequestByOrgUnit(notification: NotificationDlcm, store: Store): void {
Loading