{"version":3,"sources":["node_modules/@angular/service-worker/fesm2022/service-worker.mjs","src/app/administration/users/edit-user/edit-user.service.ts","src/app/administration/users/edit-user/edit-user.component.ts","src/app/administration/users/edit-user/edit-user.component.html","src/app/administration/users/edit-user/register-auth-device-modal/register-auth-device-modal.component.ts","src/app/administration/users/edit-user/register-auth-device-modal/register-auth-device-modal.component.html","src/app/administration/users/edit-user/register-pin-modal/register-pin.form.ts","src/app/administration/users/edit-user/register-pin-modal/register-pin-modal.component.ts","src/app/administration/users/edit-user/register-pin-modal/register-pin-modal.component.html","src/app/administration/users/edit-user/user-audit-history/user-audit-history.component.ts","src/app/administration/users/edit-user/user-audit-history/user-audit-history.component.html","src/app/administration/users/edit-user/user-change-password-modal/user-change-password-modal.component.ts","src/app/administration/users/edit-user/user-change-password-modal/user-change-password-modal.component.html","src/app/shared/generated/Administration/Models/Users/UserFacilityAgencyListVm.ts","src/app/administration/users/edit-user/user-facilities/user-associated-facilities/user-associated-facilities.component.ts","src/app/administration/users/edit-user/user-facilities/user-associated-facilities/user-associated-facilities.component.html","src/app/administration/users/edit-user/user-facilities/user-non-associated-facilities/user-non-associated-facilities.component.ts","src/app/administration/users/edit-user/user-facilities/user-non-associated-facilities/user-non-associated-facilities.component.html","src/app/administration/users/edit-user/user-facilities/user-facilities.component.ts","src/app/administration/users/edit-user/user-facilities/user-facilities.component.html","src/app/administration/users/edit-user/user-fingerprint-authentication/user-fingerprint-authentication.component.ts","src/app/administration/users/edit-user/user-fingerprint-authentication/user-fingerprint-authentication.component.html","src/app/shared/generated/Administration/Models/LoginHistoryVm.ts","src/app/administration/users/edit-user/user-login-history/user-login-history.component.ts","src/app/administration/users/edit-user/user-login-history/user-login-history.component.html","src/app/administration/users/edit-user/user-role-info-modal/user-role-info.service.ts","src/app/administration/users/edit-user/user-role-info-modal/business-area-role-info/user-role-info/user-role-info.component.ts","src/app/administration/users/edit-user/user-role-info-modal/business-area-role-info/user-role-info/user-role-info.component.html","src/app/administration/users/edit-user/user-role-info-modal/business-area-role-info/role-info/role-info.component.ts","src/app/administration/users/edit-user/user-role-info-modal/business-area-role-info/user-role-info/user-role-info.component.html","src/app/administration/users/edit-user/user-role-info-modal/user-role-info-modal.component.ts","src/app/administration/users/edit-user/user-role-info-modal/user-role-info-modal.component.html","src/app/shared/generated/Administration/Models/Security/ModuleAccessVm.ts","src/app/shared/generated/Administration/Models/Security/UserModulesVm.ts","src/app/administration/users/edit-user/user-module-access/user-module-access.component.ts","src/app/administration/users/edit-user/user-module-access/user-module-access.component.html","src/app/shared/generated/Administration/Models/Security/CredentialListVm.ts","src/app/administration/users/edit-user/user-multi-factor-authentication/user-multi-factor-authentication.component.ts","src/app/administration/users/edit-user/user-multi-factor-authentication/user-multi-factor-authentication.component.html","src/app/core/enums/generated/SubscriptionEnum.ts","src/app/shared/generated/Administration/Models/Users/UserSubscriptionVm.ts","src/app/administration/users/edit-user/user-notifications/user-notifications.component.ts","src/app/administration/users/edit-user/user-notifications/user-notifications.component.html","src/app/shared/generated/Administration/Models/Organizations/UserOrganizationListVm.ts","src/app/administration/users/edit-user/user-organizations/user-organization.service.ts","src/app/administration/users/edit-user/user-organizations/user-non-associated-organizations/user-non-associated-organizations.component.ts","src/app/administration/users/edit-user/user-organizations/user-non-associated-organizations/user-non-associated-organizations.component.html","src/app/administration/users/edit-user/user-organizations/user-associated-organizations/user-associated-organizations.component.ts","src/app/administration/users/edit-user/user-organizations/user-associated-organizations/user-associated-organizations.component.html","src/app/administration/users/edit-user/user-organizations/user-organizations.component.ts","src/app/administration/users/edit-user/user-organizations/user-organizations.component.html","src/app/administration/users/edit-user/user-organizations/user-organizations.module.ts","src/app/administration/users/edit-user/user-role-info-modal/user-role-info-modal.module.ts","src/app/core/enums/generated/RxConnectsSecurityEnum.ts","src/app/shared/generated/RxConnects/Models/RxConnectsUserSecurityVm.ts","src/app/administration/users/edit-user/user-rxconnects-settings/user-rxconnects-settings.component.ts","src/app/administration/users/edit-user/user-rxconnects-settings/user-rxconnects-settings.component.html","src/app/administration/users/edit-user/edit-user.module.ts"],"sourcesContent":["/**\n * @license Angular v19.2.4\n * (c) 2010-2025 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { Injectable, makeEnvironmentProviders, InjectionToken, Injector, APP_INITIALIZER, NgZone, ApplicationRef, NgModule } from '@angular/core';\nimport { fromEvent, defer, of, concat, throwError, Subject, NEVER, merge, from } from 'rxjs';\nimport { map, filter, switchMap, publish, take, tap, delay } from 'rxjs/operators';\nconst ERR_SW_NOT_SUPPORTED = 'Service workers are disabled or not supported by this browser';\nfunction errorObservable(message) {\n return defer(() => throwError(new Error(message)));\n}\n/**\n * @publicApi\n */\nclass NgswCommChannel {\n serviceWorker;\n worker;\n registration;\n events;\n constructor(serviceWorker) {\n this.serviceWorker = serviceWorker;\n if (!serviceWorker) {\n this.worker = this.events = this.registration = errorObservable(ERR_SW_NOT_SUPPORTED);\n } else {\n const controllerChangeEvents = fromEvent(serviceWorker, 'controllerchange');\n const controllerChanges = controllerChangeEvents.pipe(map(() => serviceWorker.controller));\n const currentController = defer(() => of(serviceWorker.controller));\n const controllerWithChanges = concat(currentController, controllerChanges);\n this.worker = controllerWithChanges.pipe(filter(c => !!c));\n this.registration = this.worker.pipe(switchMap(() => serviceWorker.getRegistration()));\n const rawEvents = fromEvent(serviceWorker, 'message');\n const rawEventPayload = rawEvents.pipe(map(event => event.data));\n const eventsUnconnected = rawEventPayload.pipe(filter(event => event && event.type));\n const events = eventsUnconnected.pipe(publish());\n events.connect();\n this.events = events;\n }\n }\n postMessage(action, payload) {\n return this.worker.pipe(take(1), tap(sw => {\n sw.postMessage({\n action,\n ...payload\n });\n })).toPromise().then(() => undefined);\n }\n postMessageWithOperation(type, payload, operationNonce) {\n const waitForOperationCompleted = this.waitForOperationCompleted(operationNonce);\n const postMessage = this.postMessage(type, payload);\n return Promise.all([postMessage, waitForOperationCompleted]).then(([, result]) => result);\n }\n generateNonce() {\n return Math.round(Math.random() * 10000000);\n }\n eventsOfType(type) {\n let filterFn;\n if (typeof type === 'string') {\n filterFn = event => event.type === type;\n } else {\n filterFn = event => type.includes(event.type);\n }\n return this.events.pipe(filter(filterFn));\n }\n nextEventOfType(type) {\n return this.eventsOfType(type).pipe(take(1));\n }\n waitForOperationCompleted(nonce) {\n return this.eventsOfType('OPERATION_COMPLETED').pipe(filter(event => event.nonce === nonce), take(1), map(event => {\n if (event.result !== undefined) {\n return event.result;\n }\n throw new Error(event.error);\n })).toPromise();\n }\n get isEnabled() {\n return !!this.serviceWorker;\n }\n}\n\n/**\n * Subscribe and listen to\n * [Web Push\n * Notifications](https://developer.mozilla.org/en-US/docs/Web/API/Push_API/Best_Practices) through\n * Angular Service Worker.\n *\n * @usageNotes\n *\n * You can inject a `SwPush` instance into any component or service\n * as a dependency.\n *\n * \n *\n * To subscribe, call `SwPush.requestSubscription()`, which asks the user for permission.\n * The call returns a `Promise` with a new\n * [`PushSubscription`](https://developer.mozilla.org/en-US/docs/Web/API/PushSubscription)\n * instance.\n *\n * \n *\n * A request is rejected if the user denies permission, or if the browser\n * blocks or does not support the Push API or ServiceWorkers.\n * Check `SwPush.isEnabled` to confirm status.\n *\n * Invoke Push Notifications by pushing a message with the following payload.\n *\n * ```ts\n * {\n * \"notification\": {\n * \"actions\": NotificationAction[],\n * \"badge\": USVString,\n * \"body\": DOMString,\n * \"data\": any,\n * \"dir\": \"auto\"|\"ltr\"|\"rtl\",\n * \"icon\": USVString,\n * \"image\": USVString,\n * \"lang\": DOMString,\n * \"renotify\": boolean,\n * \"requireInteraction\": boolean,\n * \"silent\": boolean,\n * \"tag\": DOMString,\n * \"timestamp\": DOMTimeStamp,\n * \"title\": DOMString,\n * \"vibrate\": number[]\n * }\n * }\n * ```\n *\n * Only `title` is required. See `Notification`\n * [instance\n * properties](https://developer.mozilla.org/en-US/docs/Web/API/Notification#Instance_properties).\n *\n * While the subscription is active, Service Worker listens for\n * [PushEvent](https://developer.mozilla.org/en-US/docs/Web/API/PushEvent)\n * occurrences and creates\n * [Notification](https://developer.mozilla.org/en-US/docs/Web/API/Notification)\n * instances in response.\n *\n * Unsubscribe using `SwPush.unsubscribe()`.\n *\n * An application can subscribe to `SwPush.notificationClicks` observable to be notified when a user\n * clicks on a notification. For example:\n *\n * \n *\n * You can read more on handling notification clicks in the [Service worker notifications\n * guide](ecosystem/service-workers/push-notifications).\n *\n * @see [Push Notifications](https://developers.google.com/web/fundamentals/codelabs/push-notifications/)\n * @see [Angular Push Notifications](https://blog.angular-university.io/angular-push-notifications/)\n * @see [MDN: Push API](https://developer.mozilla.org/en-US/docs/Web/API/Push_API)\n * @see [MDN: Notifications API](https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API)\n * @see [MDN: Web Push API Notifications best practices](https://developer.mozilla.org/en-US/docs/Web/API/Push_API/Best_Practices)\n *\n * @publicApi\n */\nlet SwPush = /*#__PURE__*/(() => {\n class SwPush {\n sw;\n /**\n * Emits the payloads of the received push notification messages.\n */\n messages;\n /**\n * Emits the payloads of the received push notification messages as well as the action the user\n * interacted with. If no action was used the `action` property contains an empty string `''`.\n *\n * Note that the `notification` property does **not** contain a\n * [Notification][Mozilla Notification] object but rather a\n * [NotificationOptions](https://notifications.spec.whatwg.org/#dictdef-notificationoptions)\n * object that also includes the `title` of the [Notification][Mozilla Notification] object.\n *\n * [Mozilla Notification]: https://developer.mozilla.org/en-US/docs/Web/API/Notification\n */\n notificationClicks;\n /**\n * Emits the currently active\n * [PushSubscription](https://developer.mozilla.org/en-US/docs/Web/API/PushSubscription)\n * associated to the Service Worker registration or `null` if there is no subscription.\n */\n subscription;\n /**\n * True if the Service Worker is enabled (supported by the browser and enabled via\n * `ServiceWorkerModule`).\n */\n get isEnabled() {\n return this.sw.isEnabled;\n }\n pushManager = null;\n subscriptionChanges = new Subject();\n constructor(sw) {\n this.sw = sw;\n if (!sw.isEnabled) {\n this.messages = NEVER;\n this.notificationClicks = NEVER;\n this.subscription = NEVER;\n return;\n }\n this.messages = this.sw.eventsOfType('PUSH').pipe(map(message => message.data));\n this.notificationClicks = this.sw.eventsOfType('NOTIFICATION_CLICK').pipe(map(message => message.data));\n this.pushManager = this.sw.registration.pipe(map(registration => registration.pushManager));\n const workerDrivenSubscriptions = this.pushManager.pipe(switchMap(pm => pm.getSubscription()));\n this.subscription = merge(workerDrivenSubscriptions, this.subscriptionChanges);\n }\n /**\n * Subscribes to Web Push Notifications,\n * after requesting and receiving user permission.\n *\n * @param options An object containing the `serverPublicKey` string.\n * @returns A Promise that resolves to the new subscription object.\n */\n requestSubscription(options) {\n if (!this.sw.isEnabled || this.pushManager === null) {\n return Promise.reject(new Error(ERR_SW_NOT_SUPPORTED));\n }\n const pushOptions = {\n userVisibleOnly: true\n };\n let key = this.decodeBase64(options.serverPublicKey.replace(/_/g, '/').replace(/-/g, '+'));\n let applicationServerKey = new Uint8Array(new ArrayBuffer(key.length));\n for (let i = 0; i < key.length; i++) {\n applicationServerKey[i] = key.charCodeAt(i);\n }\n pushOptions.applicationServerKey = applicationServerKey;\n return this.pushManager.pipe(switchMap(pm => pm.subscribe(pushOptions)), take(1)).toPromise().then(sub => {\n this.subscriptionChanges.next(sub);\n return sub;\n });\n }\n /**\n * Unsubscribes from Service Worker push notifications.\n *\n * @returns A Promise that is resolved when the operation succeeds, or is rejected if there is no\n * active subscription or the unsubscribe operation fails.\n */\n unsubscribe() {\n if (!this.sw.isEnabled) {\n return Promise.reject(new Error(ERR_SW_NOT_SUPPORTED));\n }\n const doUnsubscribe = sub => {\n if (sub === null) {\n throw new Error('Not subscribed to push notifications.');\n }\n return sub.unsubscribe().then(success => {\n if (!success) {\n throw new Error('Unsubscribe failed!');\n }\n this.subscriptionChanges.next(null);\n });\n };\n return this.subscription.pipe(take(1), switchMap(doUnsubscribe)).toPromise();\n }\n decodeBase64(input) {\n return atob(input);\n }\n static ɵfac = function SwPush_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || SwPush)(i0.ɵɵinject(NgswCommChannel));\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: SwPush,\n factory: SwPush.ɵfac\n });\n }\n return SwPush;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Subscribe to update notifications from the Service Worker, trigger update\n * checks, and forcibly activate updates.\n *\n * @see {@link /ecosystem/service-workers/communications Service Worker Communication Guide}\n *\n * @publicApi\n */\nlet SwUpdate = /*#__PURE__*/(() => {\n class SwUpdate {\n sw;\n /**\n * Emits a `VersionDetectedEvent` event whenever a new version is detected on the server.\n *\n * Emits a `VersionInstallationFailedEvent` event whenever checking for or downloading a new\n * version fails.\n *\n * Emits a `VersionReadyEvent` event whenever a new version has been downloaded and is ready for\n * activation.\n */\n versionUpdates;\n /**\n * Emits an `UnrecoverableStateEvent` event whenever the version of the app used by the service\n * worker to serve this client is in a broken state that cannot be recovered from without a full\n * page reload.\n */\n unrecoverable;\n /**\n * True if the Service Worker is enabled (supported by the browser and enabled via\n * `ServiceWorkerModule`).\n */\n get isEnabled() {\n return this.sw.isEnabled;\n }\n constructor(sw) {\n this.sw = sw;\n if (!sw.isEnabled) {\n this.versionUpdates = NEVER;\n this.unrecoverable = NEVER;\n return;\n }\n this.versionUpdates = this.sw.eventsOfType(['VERSION_DETECTED', 'VERSION_INSTALLATION_FAILED', 'VERSION_READY', 'NO_NEW_VERSION_DETECTED']);\n this.unrecoverable = this.sw.eventsOfType('UNRECOVERABLE_STATE');\n }\n /**\n * Checks for an update and waits until the new version is downloaded from the server and ready\n * for activation.\n *\n * @returns a promise that\n * - resolves to `true` if a new version was found and is ready to be activated.\n * - resolves to `false` if no new version was found\n * - rejects if any error occurs\n */\n checkForUpdate() {\n if (!this.sw.isEnabled) {\n return Promise.reject(new Error(ERR_SW_NOT_SUPPORTED));\n }\n const nonce = this.sw.generateNonce();\n return this.sw.postMessageWithOperation('CHECK_FOR_UPDATES', {\n nonce\n }, nonce);\n }\n /**\n * Updates the current client (i.e. browser tab) to the latest version that is ready for\n * activation.\n *\n * In most cases, you should not use this method and instead should update a client by reloading\n * the page.\n *\n *
\n *\n * Updating a client without reloading can easily result in a broken application due to a version\n * mismatch between the application shell and other page resources,\n * such as lazy-loaded chunks, whose filenames may change between\n * versions.\n *\n * Only use this method, if you are certain it is safe for your specific use case.\n *\n *
\n *\n * @returns a promise that\n * - resolves to `true` if an update was activated successfully\n * - resolves to `false` if no update was available (for example, the client was already on the\n * latest version).\n * - rejects if any error occurs\n */\n activateUpdate() {\n if (!this.sw.isEnabled) {\n return Promise.reject(new Error(ERR_SW_NOT_SUPPORTED));\n }\n const nonce = this.sw.generateNonce();\n return this.sw.postMessageWithOperation('ACTIVATE_UPDATE', {\n nonce\n }, nonce);\n }\n static ɵfac = function SwUpdate_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || SwUpdate)(i0.ɵɵinject(NgswCommChannel));\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: SwUpdate,\n factory: SwUpdate.ɵfac\n });\n }\n return SwUpdate;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/*!\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\nconst SCRIPT = /*#__PURE__*/new InjectionToken(ngDevMode ? 'NGSW_REGISTER_SCRIPT' : '');\nfunction ngswAppInitializer(injector, script, options) {\n return () => {\n if (typeof ngServerMode !== 'undefined' && ngServerMode) {\n return;\n }\n if (!('serviceWorker' in navigator && options.enabled !== false)) {\n return;\n }\n const ngZone = injector.get(NgZone);\n const appRef = injector.get(ApplicationRef);\n // Set up the `controllerchange` event listener outside of\n // the Angular zone to avoid unnecessary change detections,\n // as this event has no impact on view updates.\n ngZone.runOutsideAngular(() => {\n // Wait for service worker controller changes, and fire an INITIALIZE action when a new SW\n // becomes active. This allows the SW to initialize itself even if there is no application\n // traffic.\n const sw = navigator.serviceWorker;\n const onControllerChange = () => sw.controller?.postMessage({\n action: 'INITIALIZE'\n });\n sw.addEventListener('controllerchange', onControllerChange);\n appRef.onDestroy(() => {\n sw.removeEventListener('controllerchange', onControllerChange);\n });\n });\n let readyToRegister$;\n if (typeof options.registrationStrategy === 'function') {\n readyToRegister$ = options.registrationStrategy();\n } else {\n const [strategy, ...args] = (options.registrationStrategy || 'registerWhenStable:30000').split(':');\n switch (strategy) {\n case 'registerImmediately':\n readyToRegister$ = of(null);\n break;\n case 'registerWithDelay':\n readyToRegister$ = delayWithTimeout(+args[0] || 0);\n break;\n case 'registerWhenStable':\n const whenStable$ = from(injector.get(ApplicationRef).whenStable());\n readyToRegister$ = !args[0] ? whenStable$ : merge(whenStable$, delayWithTimeout(+args[0]));\n break;\n default:\n // Unknown strategy.\n throw new Error(`Unknown ServiceWorker registration strategy: ${options.registrationStrategy}`);\n }\n }\n // Don't return anything to avoid blocking the application until the SW is registered.\n // Also, run outside the Angular zone to avoid preventing the app from stabilizing (especially\n // given that some registration strategies wait for the app to stabilize).\n // Catch and log the error if SW registration fails to avoid uncaught rejection warning.\n ngZone.runOutsideAngular(() => readyToRegister$.pipe(take(1)).subscribe(() => navigator.serviceWorker.register(script, {\n scope: options.scope\n }).catch(err => console.error('Service worker registration failed with:', err))));\n };\n}\nfunction delayWithTimeout(timeout) {\n return of(null).pipe(delay(timeout));\n}\nfunction ngswCommChannelFactory(opts) {\n const isBrowser = !(typeof ngServerMode !== 'undefined' && ngServerMode);\n return new NgswCommChannel(isBrowser && opts.enabled !== false ? navigator.serviceWorker : undefined);\n}\n/**\n * Token that can be used to provide options for `ServiceWorkerModule` outside of\n * `ServiceWorkerModule.register()`.\n *\n * You can use this token to define a provider that generates the registration options at runtime,\n * for example via a function call:\n *\n * {@example service-worker/registration-options/module.ts region=\"registration-options\"\n * header=\"app.module.ts\"}\n *\n * @publicApi\n */\nclass SwRegistrationOptions {\n /**\n * Whether the ServiceWorker will be registered and the related services (such as `SwPush` and\n * `SwUpdate`) will attempt to communicate and interact with it.\n *\n * Default: true\n */\n enabled;\n /**\n * A URL that defines the ServiceWorker's registration scope; that is, what range of URLs it can\n * control. It will be used when calling\n * [ServiceWorkerContainer#register()](https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerContainer/register).\n */\n scope;\n /**\n * Defines the ServiceWorker registration strategy, which determines when it will be registered\n * with the browser.\n *\n * The default behavior of registering once the application stabilizes (i.e. as soon as there are\n * no pending micro- and macro-tasks) is designed to register the ServiceWorker as soon as\n * possible but without affecting the application's first time load.\n *\n * Still, there might be cases where you want more control over when the ServiceWorker is\n * registered (for example, there might be a long-running timeout or polling interval, preventing\n * the app from stabilizing). The available option are:\n *\n * - `registerWhenStable:`: Register as soon as the application stabilizes (no pending\n * micro-/macro-tasks) but no later than `` milliseconds. If the app hasn't\n * stabilized after `` milliseconds (for example, due to a recurrent asynchronous\n * task), the ServiceWorker will be registered anyway.\n * If `` is omitted, the ServiceWorker will only be registered once the app\n * stabilizes.\n * - `registerImmediately`: Register immediately.\n * - `registerWithDelay:`: Register with a delay of `` milliseconds. For\n * example, use `registerWithDelay:5000` to register the ServiceWorker after 5 seconds. If\n * `` is omitted, is defaults to `0`, which will register the ServiceWorker as soon\n * as possible but still asynchronously, once all pending micro-tasks are completed.\n * - An Observable factory function: A function that returns an `Observable`.\n * The function will be used at runtime to obtain and subscribe to the `Observable` and the\n * ServiceWorker will be registered as soon as the first value is emitted.\n *\n * Default: 'registerWhenStable:30000'\n */\n registrationStrategy;\n}\n/**\n * @publicApi\n *\n * Sets up providers to register the given Angular Service Worker script.\n *\n * If `enabled` is set to `false` in the given options, the module will behave as if service\n * workers are not supported by the browser, and the service worker will not be registered.\n *\n * Example usage:\n * ```ts\n * bootstrapApplication(AppComponent, {\n * providers: [\n * provideServiceWorker('ngsw-worker.js')\n * ],\n * });\n * ```\n */\nfunction provideServiceWorker(script, options = {}) {\n return makeEnvironmentProviders([SwPush, SwUpdate, {\n provide: SCRIPT,\n useValue: script\n }, {\n provide: SwRegistrationOptions,\n useValue: options\n }, {\n provide: NgswCommChannel,\n useFactory: ngswCommChannelFactory,\n deps: [SwRegistrationOptions]\n }, {\n provide: APP_INITIALIZER,\n useFactory: ngswAppInitializer,\n deps: [Injector, SCRIPT, SwRegistrationOptions],\n multi: true\n }]);\n}\n\n/**\n * @publicApi\n */\nlet ServiceWorkerModule = /*#__PURE__*/(() => {\n class ServiceWorkerModule {\n /**\n * Register the given Angular Service Worker script.\n *\n * If `enabled` is set to `false` in the given options, the module will behave as if service\n * workers are not supported by the browser, and the service worker will not be registered.\n */\n static register(script, options = {}) {\n return {\n ngModule: ServiceWorkerModule,\n providers: [provideServiceWorker(script, options)]\n };\n }\n static ɵfac = function ServiceWorkerModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || ServiceWorkerModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: ServiceWorkerModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: [SwPush, SwUpdate]\n });\n }\n return ServiceWorkerModule;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { ServiceWorkerModule, SwPush, SwRegistrationOptions, SwUpdate, provideServiceWorker };\n","import { HttpClient } from '@angular/common/http';\r\nimport { inject, Injectable, signal } from '@angular/core';\r\nimport { toObservable } from \"@angular/core/rxjs-interop\";\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { UserModulesVm } from 'app/shared/generated/Administration/Models/Security/UserModulesVm';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class EditUserService {\r\n\r\n http = inject(HttpClient);\r\n router: Router = inject(Router);\r\n sec: SecurityService = inject(SecurityService);\r\n moduleAccessesSignal = signal(null);\r\n moduleAccesses$ = toObservable(this.moduleAccessesSignal);\r\n\r\n setInitialSignal = (id: number) => { this.getModuleAccesses(id).subscribe((r: UserModulesVm) => this.moduleAccessesSignal.set(r)); }\r\n getModuleAccesses = (id: number) => { return this.http.get(`api/Administration/ModuleAccess/GetModuleAccessByUser?userId=${id}`); }\r\n setModuleAccesses = (fg: FormGroup) => { return this.http.post(`api/Administration/ModuleAccess/SaveModule/`, fg.value); }\r\n \r\n getUserIdFromRoute(snapshot: ActivatedRouteSnapshot): number {\r\n let paramId = snapshot.params['id'];\r\n \r\n if (paramId === \"currentUser\") {\r\n paramId = this.sec.getUser().id;\r\n let path = this.router.url.replace(\"currentUser\", paramId);\r\n\r\n this.router.navigate([path], {\r\n queryParams: snapshot.queryParams,\r\n replaceUrl: true\r\n }); \r\n }\r\n\r\n return parseInt(paramId, 10);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Component, computed, inject, OnInit, signal, TemplateRef, ViewChild } from \"@angular/core\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { faEnvelope, faEnvelopesBulk, faPowerOff, faTennisBall, faUnlock } from \"@fortawesome/pro-solid-svg-icons\";\r\nimport { debounceTime } from \"rxjs\";\r\n\r\nimport { ActivationEnum } from \"app/core/enums/generated/ActivationEnum\";\r\nimport { BusinessAreaEnum } from \"app/core/enums/generated/BusinessAreaEnum\";\r\nimport { LoginTypeEnum } from 'app/core/enums/generated/LoginTypeEnum';\r\nimport { PermissionRole } from \"app/core/enums/generated/PermissionRole\";\r\nimport { SecurityService } from \"app/core/security/security.service\";\r\nimport { SseNotificationService } from \"app/core/sse-notification/sse-notification.service\";\r\nimport { SystemMessage, SystemMessageService } from \"app/core/system-message/system-message-service\";\r\nimport { GlobalVariablesService } from \"app/services/global-variables.service\";\r\nimport { DynamicFormService } from \"app/shared/form-elements/components/dynamic-form/dynamic-form.service\";\r\nimport { ModuleAccessVm } from \"app/shared/generated/Administration/Models/Security/ModuleAccessVm\";\r\nimport { UserModulesVm } from \"app/shared/generated/Administration/Models/Security/UserModulesVm\";\r\nimport { EditUserVm } from \"app/shared/generated/Administration/Models/Users/EditUserVm\";\r\nimport { DynamicFormFieldVm } from \"app/shared/generated/Models/DynamicFormFieldVm\";\r\nimport { NavigationService } from \"app/shared/navigation/navigation.service\";\r\nimport { ActivationService } from \"app/shared/services/activation.service\";\r\nimport { EditUserService } from \"./edit-user.service\";\r\n\r\n@Component({\r\n selector: \"pcg-edit-user\",\r\n templateUrl: \"./edit-user.component.html\",\r\n styleUrls: [\"./edit-user.component.scss\"],\r\n standalone: false\r\n})\r\nexport class EditUserComponent implements OnInit {\r\n\r\n\teditUserService = inject(EditUserService);\r\n\tactivatedRoute = inject(ActivatedRoute);\r\n\thttpClient = inject(HttpClient);\r\n\trouter = inject(Router);\r\n\tms = inject(SystemMessageService);\r\n\tsec = inject(SecurityService);\r\n\tdynForm = inject(DynamicFormService);\r\n\tactivationService = inject(ActivationService);\r\n\tgvs = inject(GlobalVariablesService);\r\n sseService = inject(SseNotificationService);\r\n\r\n\t@ViewChild(\"pinModal\", { static: true }) pinModal: TemplateRef;\r\n\r\n\tnavService = inject(NavigationService);\r\n\r\n\tformGroup = EditUserVm.Form;\r\n\tmodel = EditUserVm.GetModel(this.formGroup);\r\n\tfields: DynamicFormFieldVm[];\r\n\tuserPerms: ModuleAccessVm[] = [];\r\n\tbusinessArea: BusinessAreaEnum;\r\n\torgLoginTypeFg = signal(0)\r\n\r\n\tcustomFieldsCount: number;\r\n\tid: number;\r\n\r\n\tpin: string;\r\n\tstrError = \"\";\r\n\r\n\tisLockedOut = false;\r\n\tcanEdit = false;\r\n\tcanCreate = false;\r\n\tcanUnlock = false;\r\n\tcanDeactivate = false;\r\n\tcanSendWelcomeEmail = false;\r\n\tcanSeePasswordButtons = false;\r\n\tisCurrentUser = false;\r\n\tisSysAdmin = false;\r\n\tmustActivateMfaAndInactivity = false;\r\n\tisError = false;\r\n\tshowValidateEmail = false;\r\n\r\n\tfaIconName = { faUnlock, faEnvelope, faTennisBall, faEnvelopesBulk, faPowerOff };\r\n\r\n\tphoneValidation = { pattern: \"Invalid phone number\" };\r\n\r\n\tconstructor(title: Title) { title.setTitle(\"Edit User\"); }\r\n\r\n\tngOnInit() {\r\n\t\tif (this.activatedRoute.snapshot.queryParamMap.get(\"businessArea\")) {\r\n\t\t\tthis.businessArea = BusinessAreaEnum[ this.activatedRoute.snapshot.queryParamMap.get(\"businessArea\").toString() ];\r\n\t\t}\r\n\t\tthis.addSecuritySubscription();\r\n\t\tthis.addRouteSubscription();\r\n\t\tthis.disableFormControlsBasedOnPermission();\r\n\t\t// Set mustActivateMfaAndInactivity from queryParams\r\n\t\tthis.mustActivateMfaAndInactivity = this.activatedRoute.snapshot.queryParams[\"fromCheckCanDecrypt\"];\r\n\t\t// Remove fromCheckCanDecrypt from queryParams\r\n\t\tthis.router.navigate(\r\n\t\t\t[]\r\n\t\t\t, {\r\n\t\t\t\tqueryParams: { fromCheckCanDecrypt: null }\r\n\t\t\t\t, queryParamsHandling: \"merge\"\r\n\t\t\t}\r\n\t\t);\r\n\t\t\r\n\t\tthis.editUserService.getModuleAccesses(parseInt(this.activatedRoute.snapshot.params[\"id\"]))\r\n .pipe(debounceTime(300)) // Debounce to avoid frequent updates\r\n\t\t .subscribe((r: UserModulesVm) => {\r\n\t\t\t\t/*\r\n\t\t\t\t\tUser module component also grabs module accesses and sometimes this overwrites it,\r\n\t\t\t\t\tif signal already has a value do not set it here\r\n\t\t\t\t*/\r\n\t\t\t\tif (!this.editUserService.moduleAccessesSignal()) {this.editUserService.moduleAccessesSignal.set(r); }\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t// Checks if the user being edited AND the logged in user has Rx Connect permissions\r\n\thasRxPermsSignal = computed(() => {\r\n\t\treturn this.editUserService.moduleAccessesSignal()?.moduleAccess?.\r\n\t\t\tfind(m => m.module == BusinessAreaEnum.RxConnects)?.\r\n\t\t\tpermissionRole >= PermissionRole.RxConnectsPharmacist && this.canViewRx();\r\n\t});\r\n\r\n\t// Checks if logged in user has Rx Connect permissions\r\n\tcanViewRx = () => {\r\n\t\treturn this.sec.hasModuleAccess(\r\n\t\t\t[BusinessAreaEnum.RxConnects], \r\n\t\t\tSecurityService.setMinRole(PermissionRole.RxConnectsPharmacist)\r\n\t\t)\r\n\t}\r\n\r\n\t// #region Security\r\n\t/** Update the local dynamic security object when the security updates */\r\n\taddSecuritySubscription() {\r\n\t\tthis.isSysAdmin = this.sec.hasModuleAccess(\r\n\t\t\t[ BusinessAreaEnum.Admin ]\r\n\t\t\t, [ PermissionRole.SystemAdmin ]\r\n\t\t);\r\n\t\tthis.sec.setControlModuleAccess(\r\n\t\t\tthis.formGroup.controls[\"isActive\"]\r\n\t\t\t, [ BusinessAreaEnum.Admin ]\r\n\t\t\t, SecurityService.setMinRole(PermissionRole.Pharmacist)\r\n\t\t);\r\n\t\tthis.sec.setControlModuleAccess(\r\n\t\t\tthis.formGroup.controls[\"inventoryIds\"]\r\n\t\t\t, [ BusinessAreaEnum.Admin ]\r\n\t\t\t, SecurityService.setMinRole(PermissionRole.Pharmacist)\r\n\t\t);\r\n\t\tthis.canEdit = this.sec.hasModuleAccess(\r\n\t\t\t[ BusinessAreaEnum.Admin ]\r\n\t\t\t, SecurityService.setMinRole(PermissionRole.User)\r\n\t\t);\r\n\t\tthis.canCreate = this.sec.hasModuleAccess(\r\n\t\t\t[ BusinessAreaEnum.Admin ]\r\n\t\t\t, [ PermissionRole.Pharmacist ]\r\n\t\t);\r\n\t\tthis.canUnlock = this.sec.hasModuleAccess(\r\n\t\t\t[ BusinessAreaEnum.Admin ]\r\n\t\t\t, [ PermissionRole.Pharmacist ]\r\n\t\t) \r\n\t\t|| this.sec.hasModuleAccess(\r\n\t\t\t[ \r\n\t\t\t\tBusinessAreaEnum.CI\r\n\t\t\t\t, BusinessAreaEnum.MetabolicFormula \r\n\t\t\t]\r\n\t\t\t, [\r\n\t\t\t\tPermissionRole.UserAdmin\r\n\t\t\t\t, ...SecurityService.setMinRole(PermissionRole.Manager)\r\n\t\t\t]\r\n\t\t);\r\n\t\tthis.canSendWelcomeEmail = this.sec.hasModuleAccess(\r\n\t\t\t[ BusinessAreaEnum.Admin ]\r\n\t\t\t, [ PermissionRole.Pharmacist ]\r\n\t\t) || this.sec.hasModuleAccess(\r\n\t\t\t[\r\n\t\t\t\tBusinessAreaEnum.CI\r\n\t\t\t\t, BusinessAreaEnum.MetabolicFormula\r\n\t\t\t]\r\n\t\t\t, [\r\n\t\t\t\tPermissionRole.UserAdmin\r\n\t\t\t\t, ...SecurityService.setMinRole(PermissionRole.Manager)\r\n\t\t\t]\r\n\t\t);\r\n\t\tthis.canDeactivate = this.sec.hasModuleAccess(\r\n\t\t\t[ BusinessAreaEnum.Admin ]\r\n\t\t\t, [ PermissionRole.Pharmacist ]\r\n\t\t) || this.sec.hasModuleAccess(\r\n\t\t\t[\r\n\t\t\t\tBusinessAreaEnum.CI\r\n\t\t\t\t, BusinessAreaEnum.MetabolicFormula\r\n\t\t\t]\r\n\t\t\t, [\r\n\t\t\t\tPermissionRole.UserAdmin\r\n\t\t\t\t, ...SecurityService.setMinRole(PermissionRole.Manager)\r\n\t\t\t]\r\n\t\t);\r\n\t}\r\n\t// #endregion\r\n\r\n\tdisableFormControlsBasedOnPermission() {\r\n\t\tif (!this.isSysAdmin) {\r\n\t\t\tthis.formGroup.get(\"isActive\").disable();\r\n\t\t\tthis.formGroup.get(\"inventoryIds\").disable();\r\n\t\t}\r\n\t\tif (this.canDeactivate) { this.formGroup.get(\"isActive\").enable(); }\r\n\t}\r\n\r\n\t/** Subscribe to route to pick up id changes and update page accordingly */\r\n\taddRouteSubscription() {\t\t\r\n\t\tthis.activatedRoute.paramMap.subscribe((map) => {\r\n\t\t\t// Allow user to view page if it is either their profile\r\n\t\t\t// or they have admin access to view other people's profiles\r\n\t\t\tconst user = this.sec.getUser();\r\n\t\t\t\r\n this.id = this.editUserService.getUserIdFromRoute(this.activatedRoute.snapshot);\r\n \r\n if (\r\n (\r\n this.id !== user.id \r\n && !this.canEdit\r\n ) \r\n || (\r\n this.id === 0 \r\n && !this.canCreate\r\n )\r\n ) { this.router.navigate([\"/\"]); }\r\n\r\n this.isCurrentUser = this.id === this.sec.getUser()?.id;\r\n this.httpClient.get(`api/Administration/Users/GetUser/${this.id}`)\r\n .subscribe((vm: EditUserVm) => {\r\n this\r\n this.fields = vm.fields;\r\n this.formGroup = this.dynForm.updateFormGroupFields(\r\n this.formGroup\r\n , vm.fields\r\n );\r\n this.customFieldsCount = vm.fields?.length ?? 0;\r\n this.formGroup.patchValue(vm);\r\n this.model.isActive = vm.isActive;\r\n\r\n if (vm.userId == 0) { this.gvs.userName.set(\"New User\") } \r\n else { this.gvs.userName.set(vm.firstName + \" \" + vm.lastName); }\r\n \r\n this.canSeePasswordButtons = vm.isActive \r\n && !vm.isLockedOut \r\n && vm?.userId !== this.sec.getUser()?.id \r\n && vm?.userId !== 0;\r\n this.isLockedOut = vm.isLockedOut;\r\n this.pin = vm.userPin ?? \"\";\r\n this.orgLoginTypeFg.set(vm.orgLoginType);\r\n\r\n if (\r\n (\r\n vm.orgLoginType === LoginTypeEnum.SSO\r\n || vm.orgLoginType == LoginTypeEnum.Both\r\n )\r\n && !this.isSysAdmin\r\n ) { this.formGroup.controls.email.disable(); } \r\n else { this.formGroup.controls.email.enable(); }\r\n }\r\n );\r\n\t\t});\r\n\t}\r\n\r\n\t/** The main save event for the page */\r\n\tsaveUser(msg: SystemMessage) {\r\n\t\tif (msg.value) {\r\n\t\t\tconst model = this.formGroup.value;\r\n\t\t\tthis.canSeePasswordButtons = model.isActive \r\n\t\t\t\t&& !model.isLockedOut \r\n\t\t\t\t&& model.userId !== this.sec.getUser()?.id \r\n\t\t\t\t&& model.userId !== 0;\r\n\t\t\tif (msg.isSuccessful && this.id == 0) {\r\n\t\t\t\tthis.router.navigateByUrl(\"/\", { skipLocationChange: true })\r\n\t\t\t\t\t.then(() => { this.router.navigate([`/admin/users/user/edit/details/${msg.model?.userId}`]); });\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/** Unlock user, called when the unlock svg clicked on locked user */\r\n\tunlockUser() {\r\n\t\tthis.ms.getHttpObservable(this, `api/Administration/Users/UnlockUser/${this.id}`)\r\n\t\t\t.subscribe(() => { this.isLockedOut = false; });\r\n\t}\r\n\r\n\t/** Called on click of the reset password and welcome email buttons */\r\n\tresetPassword(isWelcomeEmail: boolean) {\r\n\t\tthis.httpClient.post(\r\n\t\t\t\"api/Account/ForgotPassword\"\r\n\t\t\t, {\r\n\t\t\t\temail: this.formGroup.value.email\r\n\t\t\t\t, isWelcomeEmail\r\n\t\t\t}\r\n\t\t).subscribe((msg: SystemMessage) => {\r\n\t\t\tif (msg.isSuccessful) {\r\n\t\t\t\tthis.ms.setSystemMessage(`An email has been sent to the user with a ${isWelcomeEmail ? \"welcome\" : \"reset password\"} link.`);\r\n\t\t\t} else {\r\n\t\t\t\tthis.ms.setSystemMessage(\"An error occurred when attempting to send the email.\", \"error\");\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tactivateDeactivate() {\r\n\t\tthis.activationService.activateDeactivate(\r\n\t\t\tthis.id\r\n\t\t\t, ActivationEnum.User\r\n\t\t\t, this.formGroup.controls.isActive.value ? false : true\r\n\t\t);\r\n\t}\r\n\r\n\tvalidateEmail() {\r\n\t\tthis.showValidateEmail = false;\r\n\t\tthis.isError = false;\r\n\t\tthis.strError = \"\";\r\n\r\n\t\tthis.httpClient.post(\r\n\t\t\t`api/Administration/Users/ValidateEmail?id=${this.model.userId}`\r\n\t\t\t, {}\r\n\t\t).subscribe((sm: SystemMessage) => {\r\n\t\t\tif (sm.isSuccessful) {\r\n\t\t\t\tthis.model.emailConfirmed = true;\r\n\t\t\t\tthis.formGroup.controls.emailConfirmed.patchValue(true);\r\n\t\t\t\tthis.ms.setSystemMessage(sm.message, \"success\");\r\n\t\t\t} else {\r\n\t\t\t\tthis.showValidateEmail = true;\r\n\t\t\t\tthis.isError = true;\r\n\t\t\t\tthis.strError = sm.message + \"\\n\"\r\n\t\t\t\t\t+ \"Email: \" + sm.model?.email + \"\\n\"\r\n\t\t\t\t\t+ \"Verdict: \" + sm.model?.verdict + \"\\n\"\r\n\t\t\t\t\t+ \"Score: \" + sm.model?.score + \"\\n\"\r\n\t\t\t\t\t+ \"Has Mx or a Record: \" + sm.model?.checks?.domain?.has_mx_or_a_record + \"\\n\"\r\n\t\t\t\t\t+ \"Has Valid Address Syntax: \" + sm.model?.checks?.domain?.has_valid_address_syntax + \"\\n\"\r\n\t\t\t\t\t+ \"Is Suspected Disposable Address: \" + sm.model?.checks?.domain?.is_suspected_disposable_address + \"\\n\"\r\n\t\t\t\t\t+ \"Has Known Bounces: \" + sm.model?.checks?.additional?.has_known_bounces + \"\\n\"\r\n\t\t\t\t\t+ \"Has Suspected Bounces: \" + sm.model?.checks?.additional?.has_suspected_bounces;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\toverrideAndValidate() {\r\n\t\tthis.showValidateEmail = false;\r\n\t\tthis.isError = false;\r\n\t\tthis.strError = \"\";\r\n\r\n\t\tthis.httpClient.post(\r\n\t\t\t`api/Administration/Users/ValidateEmail?id=${this.model.userId}&overrideValidate=true`\r\n\t\t\t, {}\r\n\t\t).subscribe((sm: SystemMessage) => {\r\n\t\t\tif (sm.isSuccessful) {\r\n\t\t\t\tthis.model.emailConfirmed = true;\r\n\t\t\t\tthis.formGroup.controls.emailConfirmed.patchValue(true);\r\n\t\t\t\tthis.ms.setSystemMessage(sm.message, \"success\");\r\n\t\t\t} else {\r\n\t\t\t\tthis.isError = true;\r\n\t\t\t\tthis.strError = sm.message;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tbounceEmail() {\r\n\t\tthis.isError = false;\r\n\t\tthis.strError = \"\";\r\n\t\tthis.httpClient.post(\r\n\t\t\t`api/Administration/Users/RemoveBounceEmail?id=${this.model.userId}`\r\n\t\t\t, {}\r\n\t\t).subscribe((sm: SystemMessage) => {\r\n\t\t\tif (sm.isSuccessful) {\r\n\t\t\t\tthis.model.isEmailBounced = false;\r\n\t\t\t\tthis.formGroup.controls.isEmailBounced.patchValue(false);\r\n\t\t\t\tthis.ms.setSystemMessage(sm.message, \"success\");\r\n\t\t\t} else {\r\n\t\t\t\tthis.isError = true;\r\n\t\t\t\tthis.strError = sm.message;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tundoSpamReport() {\r\n\t\tthis.httpClient.get(`api/Administration/Users/RemoveSpamReport?id=${this.model.userId}`)\r\n\t\t\t.subscribe((sm: SystemMessage) => {\r\n\t\t\t\tif (sm.isSuccessful) {\r\n\t\t\t\t\tthis.model.isEmailSpamReported = false;\r\n\t\t\t\t\tthis.formGroup.controls.isEmailSpamReported.patchValue(false);\r\n\t\t\t\t\tthis.ms.setSystemMessage(sm.message, \"success\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.isError = true;\r\n\t\t\t\t\tthis.strError = sm.message;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\temailChange() {\r\n\t\tthis.isError = false;\r\n\t\tthis.strError = \"\";\r\n\t\tthis.showValidateEmail = false;\r\n\r\n\t\tif (this.model.email === \"\") { return; }\r\n\r\n\t\tif (this.id === 0) {\r\n\t\t\tthis.httpClient.get(`api/Administration/Users/GetUserByEmailNewUser?email=${this.model.email}`)\r\n\t\t\t\t.subscribe((sm: SystemMessage) => {\r\n\t\t\t\t\tif (!sm.isSuccessful) {\r\n\t\t\t\t\t\tthis.isError = true;\r\n\t\t\t\t\t\tif (sm.model != null) {\r\n\t\t\t\t\t\t\tthis.strError = sm.message + \"\\n\"\r\n\t\t\t\t\t\t\t\t+ \"Email: \" + sm.model?.emailError?.email + \"\\n\"\r\n\t\t\t\t\t\t\t\t+ \"Verdict: \" + sm.model?.emailError?.verdict + \"\\n\"\r\n\t\t\t\t\t\t\t\t+ \"Score: \" + sm.model?.emailError?.score + \"\\n\"\r\n\t\t\t\t\t\t\t\t+ \"Has Mx or a Record: \" + sm.model?.emailError?.checks?.domain?.has_mx_or_a_record + \"\\n\"\r\n\t\t\t\t\t\t\t\t+ \"Has Valid Address Syntax: \" + sm.model?.emailError?.checks?.domain?.has_valid_address_syntax + \"\\n\"\r\n\t\t\t\t\t\t\t\t+ \"Is Suspected Disposable Address: \" + sm.model?.emailError?.checks?.domain?.is_suspected_disposable_address + \"\\n\"\r\n\t\t\t\t\t\t\t\t+ \"Has Known Bounces: \" + sm.model?.emailError?.checks?.additional?.has_known_bounces + \"\\n\"\r\n\t\t\t\t\t\t\t\t+ \"Has Suspected Bounces: \" + sm.model?.emailError?.checks?.additional?.has_suspected_bounces + \"\\n\\n\"\r\n\t\t\t\t\t\t\t\t+ \"If this is a valid email address, finish filling out the form and click create to continue.\";\r\n\t\t\t\t\t\t} else { this.strError = sm.message; }\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.httpClient.post(\r\n\t\t\t\t`api/Administration/Users/ChangeEmail`\r\n\t\t\t\t, {\r\n\t\t\t\t\tid: this.model.userId\r\n\t\t\t\t\t, email: this.model.email\r\n\t\t\t\t}\r\n\t\t\t).subscribe((sm: SystemMessage) => {\r\n\t\t\t\tif (!sm.isSuccessful) {\r\n\t\t\t\t\tthis.isError = true;\r\n\t\t\t\t\tif (sm.value == false) {\r\n\t\t\t\t\t\tthis.strError = sm.message;\t\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.showValidateEmail = true;\r\n\t\t\t\t\t\tthis.strError = sm.message + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Email: \" + sm.model?.email + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Verdict: \" + sm.model?.verdict + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Score: \" + sm.model?.score + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Has Mx or a Record: \" + sm.model?.checks?.domain?.has_mx_or_a_record + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Has Valid Address Syntax: \" + sm.model?.checks?.domain?.has_valid_address_syntax + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Is Suspected Disposable Address: \" + sm.model?.checks?.domain?.is_suspected_disposable_address + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Has Known Bounces: \" + sm.model?.checks?.additional?.has_known_bounces + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Has Suspected Bounces: \" + sm.model?.checks?.additional?.has_suspected_bounces;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else { this.ms.setSystemMessage(sm.message, \"success\"); }\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tlogout() {\r\n this.sseService.destroySSE();\r\n\t\tthis.gvs.isNavFixed.set(false);\r\n\t\tthis.navService.collapseAllSubNavs();\r\n\t\tthis.sec.setSecurity(null, null);\r\n\t\tlocalStorage.removeItem(\"subNavPosition\");\r\n\t\tthis.deleteAllCookies();\r\n\t\tthis.router.navigate([\"/\"]);\r\n\t\tsessionStorage.removeItem(\"notificationModalOpened\");\r\n\t\tsessionStorage.removeItem(\"step1Count\");\r\n\t\tsessionStorage.removeItem(\"step2Count\");\r\n\t\tsessionStorage.removeItem(\"step3Count\");\r\n\t\tsessionStorage.removeItem(\"accountRequestCount\");\r\n\t\tsessionStorage.removeItem(\"ciWorkstationModalOpened\");\r\n\t\tlocalStorage.removeItem(\"herosAgencyFilters\");\r\n\t\tlocalStorage.removeItem(\"herosApplicantFilters\");\r\n\r\n var loggedInUsingSso = localStorage.getItem(\"loggedInUsingSso\") == \"true\";\r\n localStorage.setItem(\"loggedInUsingSso\", \"false\");\r\n if (loggedInUsingSso) {\r\n this.httpClient.get(`api/Account/SingleSignOut?userId=${this.id}&entraIdentifierUrl=${localStorage.getItem(\"entraIdentifierUrl\")}&entraLoginUrl=${localStorage.getItem(\"entraLoginUrl\")}`)\r\n .subscribe((msg: SystemMessage) => {\r\n localStorage.setItem(\"entraIdentifierUrl\", \"\");\r\n localStorage.setItem(\"entraLoginUrl\", \"\");\r\n if (msg.isSuccessful) { window.location.href = msg.value; }\r\n else { this.ms.setSystemMessage(msg.message, msg.messageClass); }\r\n }\r\n )\r\n }\r\n\t}\r\n\r\n\tdeleteAllCookies() {\r\n\t\tdocument.cookie.split(\";\").forEach((cookie) => {\r\n\t\t\tconst name = cookie.split(\"=\")[0].trim();\r\n\t\t\tdocument.cookie = `${name}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/`;\r\n\t\t});\r\n\t}\r\n}\r\n","@if (mustActivateMfaAndInactivity) {\r\n\t
\r\n\t\tThe area you are trying to access contains protected health information. \r\n\t\tYou must enroll a multi-factor authentication device or fingerprint to continue.\r\n\t
\r\n}\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n @if (\r\n model.isEmailBounced\r\n && id > 0\r\n ) {\r\n \r\n \t\r\n

Unbounce Email

\r\n
\r\n }\r\n\r\n \r\n @if (\r\n !model.emailConfirmed \r\n && id > 0\r\n ) {\r\n \r\n \t\r\n

Validate Email

\r\n
\r\n }\r\n\r\n \r\n @if (\r\n isLockedOut \r\n && canUnlock\r\n && id > 0\r\n ) {\r\n
\r\n \t\r\n

Unlock

\r\n
\r\n }\r\n\r\n \r\n @if (\r\n model.isEmailSpamReported \r\n && id > 0\r\n ) {\r\n
\r\n \t\r\n

Undo Spam

\r\n
\r\n }\r\n\r\n \r\n @if (\r\n (\r\n !isCurrentUser \r\n && canEdit\r\n ) \r\n && id !== 0\r\n ) {\r\n
\r\n {{ model.isActive ? 'Deactivate' : 'Reactivate' }}\r\n \r\n
\r\n }\r\n

This user is deactivated.

\r\n\r\n @if (isCurrentUser) {\r\n
\r\n \t\r\n

Logout

\r\n
\r\n }\r\n \r\n @if (isError) {\r\n
\r\n {{ strError }}\r\n @if (showValidateEmail) {\r\n
\r\n If you know this is a valid email address click the validate button.\r\n \r\n
\r\n }\r\n
\r\n }\r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n @if (model.userId === 0) {\r\n \r\n \r\n \r\n }\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n @if (canSeePasswordButtons) {\r\n
\r\n @if (canSendWelcomeEmail) {\r\n \r\n }\r\n
\r\n }\r\n
\r\n \r\n\r\n
\r\n

Security

\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n @if (customFieldsCount > 0) {\r\n
\r\n

\r\n

Custom Fields

\r\n
\r\n \r\n
\r\n }\r\n\r\n \r\n \r\n \r\n
","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { WebAuthnService } from 'app/core/security/multi-factor-auth/web-authn.service';\r\nimport { SystemMessageService } from 'app/core/system-message/system-message-service';\r\nimport { ShowHidePasswordComponent } from 'app/shared/form-elements/components/show-hide-password/show-hide-password.component';\r\nimport { FidoService } from 'app/shared/services/fido.service';\r\n\r\n@Component({\n selector: 'pcg-register-auth-device-modal',\n templateUrl: './register-auth-device-modal.component.html',\n styleUrls: ['./register-auth-device-modal.component.scss'],\n standalone: false\n})\r\nexport class RegisterAuthDeviceModalComponent implements OnInit {\r\n\r\n\t@ViewChild('VerifyPassword', { static: false }) VerifyPassword: ShowHidePasswordComponent;\r\n\r\n\tid: number;\r\n\tpassword = '';\r\n\tdisplayName = '';\r\n\tdisplayNameVal = '';\r\n\tisFingerprint: boolean = false;\t\r\n\r\n\tconstructor(\r\n\t\tpublic activeModal: NgbActiveModal\r\n\t\t, private webAuthn: WebAuthnService\r\n\t\t, private ms: SystemMessageService\r\n\t) { }\r\n\r\n\tngOnInit() { }\r\n\r\n\tvalidateForm() { return this.VerifyPassword?.password !== '' && this.displayNameVal !== ''; }\r\n\r\n\tregisterCredential() {\r\n\t\tif (this.validateForm()) {\r\n\t\t\tthis.displayName = this.displayNameVal;\r\n\t\t\tconst pwd = this.VerifyPassword?.password;\r\n\r\n\t\t\t// Make sure their browser is FIDO compatible\r\n\t\t\tif (!this.webAuthn.isFidoCompatible()) { this.activeModal.dismiss(); }\r\n\r\n\t\t\t// Get the options from the server to use to make a new credential\r\n\t\t\tthis.webAuthn.makeCredentials(this.id, pwd)\r\n\t\t\t\t.subscribe(async publicKeyCredentialCreationOptions => {\r\n\t\t\t\t\tif (publicKeyCredentialCreationOptions.status === 'error') {\r\n\t\t\t\t\t\tthis.ms.setSystemMessage(publicKeyCredentialCreationOptions.errorMessage, 'error');\r\n\t\t\t\t\t\tthis.activeModal.dismiss();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tpublicKeyCredentialCreationOptions = FidoService.fixPublicKeyCredentialCreationOptions(publicKeyCredentialCreationOptions);\r\n\t\t\t\t\t\tconst credential = await navigator.credentials.create({ publicKey: publicKeyCredentialCreationOptions });\r\n\t\t\t\t\t\t// Send the credentials to the server to be saved in the database\r\n\t\t\t\t\t\tthis.webAuthn.saveCredentials(\r\n\t\t\t\t\t\t\tcredential\r\n\t\t\t\t\t\t\t, this.displayName\r\n\t\t\t\t\t\t\t, this.id\r\n\t\t\t\t\t\t\t, pwd\r\n\t\t\t\t\t\t\t, this.isFingerprint\r\n\t\t\t\t\t\t).subscribe((o: any) => {\r\n\t\t\t\t\t\t\tif (o.status === 'ok') { this.ms.setSystemMessage('The Security Device has been added successfully.'); } \r\n\t\t\t\t\t\t\telse { this.ms.setSystemMessage('Error: The Security Device could not be added.', 'error'); }\r\n\t\t\t\t\t\t\tthis.activeModal.dismiss();\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\tconsole.log(\"error\");\r\n\t\t\t\t\t\tconsole.log(e);\r\n\t\t\t\t\t\tthis.ms.setSystemMessage('Exception: The Security Device could not be added.', 'error');\r\n\t\t\t\t\t\tthis.activeModal.dismiss();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n}\r\n","
\r\n\t
Register Device
\r\n\t\r\n
\r\n\r\n
\r\n\t\r\n\t
\r\n\t

Registering...

\r\n\t

Tap your security key to continue registering your device...

\r\n
\r\n\r\n
\r\n\t

Please enter a friendly display name for your security device.

\r\n\t\r\n\t\r\n\t
\r\n\t\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n
\r\n\t\r\n\t\r\n
\r\n","import { ValidatorFn, UntypedFormGroup, ValidationErrors, UntypedFormControl, Validators } from '@angular/forms';\r\n\r\nexport class RegisterPinForm {\r\n\t// Our form group\r\n\tformGroup: UntypedFormGroup = null;\r\n\r\n\tconstructor() {\r\n\t\tthis.formGroup = new UntypedFormGroup({});\r\n\t\tthis.formGroup.addControl(\r\n\t\t\t'pin',\r\n\t\t\tnew UntypedFormControl('', {\r\n\t\t\t\tvalidators: [\r\n\t\t\t\t\tValidators.required,\r\n\t\t\t\t\tValidators.minLength(4),\r\n\t\t\t\t\tValidators.maxLength(10),\r\n\t\t\t\t\tValidators.pattern('^[0-9]*$'),\r\n\t\t\t\t],\r\n\t\t\t\tupdateOn: 'blur'\r\n\t\t\t})\r\n\t\t);\r\n\t\tthis.formGroup.addControl('confirmPin', new UntypedFormControl('', [Validators.required, this.pinEqualValidator]));\r\n\t}\r\n\r\n\t// Validator to ensure new pin === confirmation pin\r\n\tpinEqualValidator: ValidatorFn = (control: UntypedFormGroup): ValidationErrors | null => {\r\n\t\tif (\r\n this.formGroup \r\n && this.formGroup.value\r\n ) {\r\n\t\t\tconst pin = this.formGroup.value.pin;\r\n\t\t\tconst confirmPin = control.value;\r\n\t\t\treturn pin === confirmPin \r\n ? null \r\n : { pinsNotEqual: true };\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n}\r\n","import { EventEmitter, HostListener } from '@angular/core';\r\nimport { Component, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { SystemMessage, SystemMessageService } from 'app/core/system-message/system-message-service';\r\nimport { validateForm } from 'app/shared/form-elements/form-validateForm.function';\r\nimport { RegisterPinForm } from '../register-pin-modal/register-pin.form';\r\n\r\n@Component({\r\n selector: 'pcg-register-pin-modal',\r\n templateUrl: './register-pin-modal.component.html',\r\n styleUrls: ['./register-pin-modal.component.scss'],\r\n standalone: false\r\n})\r\nexport class RegisterPinModalComponent implements OnInit {\r\n\r\n @Output() emitPin: EventEmitter = new EventEmitter();\r\n\t@Output() dismiss: EventEmitter = new EventEmitter();\r\n\r\n pinForm: UntypedFormGroup = null;\r\n\tid: number;\r\n needToChangePin = false;\r\n allowDismiss = true;\r\n hasError = false;\r\n errorStr = \"\";\r\n\r\n @HostListener('document:keydown', ['$event']) onKeydownHandler(event: KeyboardEvent) {\r\n if (event.key == \"Enter\") {\r\n event.preventDefault();\r\n this.checkCredential();\r\n }\r\n }\r\n\r\n constructor(\r\n\t\tprivate ms: SystemMessageService\r\n\t\t, private route: ActivatedRoute\r\n\t) { \r\n const pinForm = new RegisterPinForm();\r\n\t\tthis.pinForm = pinForm.formGroup;\r\n }\r\n\r\n ngOnInit() {\r\n if (this.needToChangePin === true) { this.allowDismiss = false; }\r\n else { this.route.paramMap.subscribe(map => { this.id = parseInt(map.get('id'), 10); }); }\r\n\t\tdocument.getElementById('pin').focus();\r\n }\r\n\r\n checkCredential() {\r\n this.hasError = false;\r\n this.errorStr = \"\";\r\n\r\n\t\tif (this.pinForm.valid) {\r\n\t\t\tthis.pinForm.addControl('userId', new UntypedFormControl('', Validators.required));\r\n\t\t\tthis.pinForm.patchValue({ userId: this.id });\r\n this.ms.getHttpObservable(this, 'api/Administration/Users/SavePIN', this.pinForm)\r\n .subscribe((msg: SystemMessage) => {\r\n if (msg.isSuccessful) {\r\n this.ms.setSystemMessage(msg.message);\r\n this.emitPin.emit(this.pinForm.controls['pin'].value as string);\r\n this.dismiss.emit();\r\n if (this.needToChangePin === true) { \r\n window.location.href = document.getElementsByTagName('base')[0].href \r\n + `admin/users/user/edit/security/${this.id}`;\r\n }\r\n } else { \r\n this.hasError = true;\r\n this.errorStr = msg.message;\r\n }\r\n }\r\n\t\t\t);\r\n\t\t} else { validateForm(this.pinForm); }\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t\t
Register PIN
\r\n @if (allowDismiss) {\r\n \r\n }\r\n\t
\r\n\r\n\t
\r\n @if (needToChangePin) {
You must change your pin due to new security requirements.
}\r\n\t\t

\r\n Please enter your preferred PIN.\r\n
\r\n Pins cannot contain repetitive numbers more than twice.
(ex. 1111)\r\n
\r\n Pins cannot contain sequential numbers more than twice.
(ex. 1234 or 4321)\r\n

\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n @if (hasError) {
{{ errorStr }}
}\r\n\t
\r\n\r\n\t
\r\n @if (allowDismiss) {\r\n \r\n }\r\n\t\t\r\n\t
\r\n
","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { AuditHistoryVm } from 'app/shared/generated/Models/AuditHistoryVm';\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { TableComponent } from 'app/shared/table/table.component';\r\nimport { PermissionRole } from 'app/core/enums/generated/PermissionRole';\r\nimport { BusinessAreaEnum } from 'app/core/enums/generated/BusinessAreaEnum';\r\nimport { GlobalVariablesService } from 'app/services/global-variables.service';\r\n\r\n@Component({\r\n selector: 'pcg-user-audit-history',\r\n templateUrl: './user-audit-history.component.html',\r\n styleUrls: ['./user-audit-history.component.scss'],\r\n standalone: false\r\n})\r\nexport class UserAuditHistoryComponent implements OnInit {\r\n\r\n\t@ViewChild(TableComponent, { static: true }) table: TableComponent;\r\n\r\n\tcolumns = AuditHistoryVm.ColumnDefs;\r\n\tcanEditUser = false;\r\n\r\n\tfilters = { userId: null };\r\n\r\n\tconstructor(\r\n\t\ttitle: Title\r\n\t\t, private activatedRoute: ActivatedRoute\r\n\t\t, private sec: SecurityService\r\n , private gvs: GlobalVariablesService\r\n\t) { title.setTitle('User Audit History'); }\r\n\r\n\tngOnInit() {\r\n\t\tthis.filters.userId = this.activatedRoute.snapshot.params['id'];\r\n\t\tthis.canEditUser = this.sec.hasModuleAccess(\r\n\t\t\t[ BusinessAreaEnum.Admin ]\r\n\t\t\t, [ PermissionRole.Pharmacist ]\r\n\t\t) || this.sec.hasModuleAccess(\r\n\t\t\tSecurityService.anyArea()\r\n\t\t\t, [ PermissionRole.UserAdmin, ...SecurityService.setMinRole(PermissionRole.Manager) ]\r\n\t\t);\r\n\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n if (params[\"tab\"] == \"Audit History\") { this.table.ajaxReload(); }\r\n });\r\n\t}\r\n\r\n tableReceive(event) { this.gvs.userName.set(event.value); }\r\n}\r\n","\r\n\r\n\t\r\n\t\t{{ columns.get('dateChanged').displayName }}\r\n\t\t{{ row.dateChangedFormatted }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('module').displayName }}\r\n\t\t{{ row.module }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('recordAffected').displayName }}\r\n\t\t{{ row.recordAffected }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('field').displayName }}\r\n\t\t{{ row.field }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('changedFrom').displayName }}\r\n\t\t{{ row.changedFrom }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('changedTo').displayName }}\r\n\t\t{{ row.changedTo }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('changedBy').displayName }}\r\n\t\t{{ row.changedBy }}\r\n\t\r\n\r\n","import { Component, OnDestroy } from '@angular/core';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { SystemMessageService, SystemMessage } from 'app/core/system-message/system-message-service';\r\nimport { ChangePasswordForm } from 'app/core/pages/change-password/change-password.form';\r\nimport { validateForm } from 'app/shared/form-elements/form-validateForm.function';\r\n\r\n@Component({\n selector: 'pcg-user-change-password-modal',\n templateUrl: './user-change-password-modal.component.html',\n styleUrls: ['./user-change-password-modal.component.scss'],\n standalone: false\n})\r\nexport class UserChangePasswordModalComponent implements OnDestroy {\r\n\t\r\n\tchangePasswordForm: UntypedFormGroup = null;\r\n\tsubscriptions: Subscription = new Subscription();\r\n\r\n\tconstructor(\r\n\t\tpublic activeModal: NgbActiveModal\r\n\t\t, private ms: SystemMessageService\r\n\t\t, http: HttpClient\r\n\t) {\r\n\t\tconst changePasswordForm = new ChangePasswordForm(http, true);\r\n\t\tthis.changePasswordForm = changePasswordForm.formGroup;\r\n\t}\r\n\r\n\tchangePassword() {\r\n\t\tif (this.changePasswordForm.valid) {\r\n\t\t\tthis.subscriptions.add(\r\n\t\t\t\tthis.ms.getHttpObservable(this, 'api/Account/ChangePassword', this.changePasswordForm)\r\n\t\t\t\t\t.subscribe((msg: SystemMessage) => {\r\n\t\t\t\t\t\tif (msg.isSuccessful) { this.activeModal.dismiss(); }\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t\t} else { validateForm(this.changePasswordForm); }\r\n\t}\r\n\r\n\tngOnDestroy() { this.subscriptions.unsubscribe(); }\r\n}\r\n","
\r\n\t
\r\n\t\t
Change Password
\r\n\t\t\r\n\t
\r\n\r\n\t
\r\n\t\t
\r\n\t\t\tPassword Requirements
\r\n\t\t\tMust be at least 10 characters in Length.
\r\n\t\t\tCannot contain more than 2 sequential characters.
\r\n\t\t\tCannot match any of the passwords in our list of commonly used passwords.
\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n\t
\r\n\t\t\r\n\t\t\r\n\t
\r\n
","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class UserFacilityAgencyListVm {\r\n\tuserFacilityId?: number;\r\n\tuserHEROSAgencyId?: number;\r\n\tuserId?: number;\r\n\tfacilityId?: number;\r\n\tfacilityIdentifier?: string;\r\n\therosAgencyId?: number;\r\n\tuserName?: string;\r\n\tfacilityName?: string;\r\n\tfacilityType?: string;\r\n\tcanDelete: boolean;\r\n\tcanAdd: boolean;\r\n\tcountyId?: number;\r\n\tcountyName?: string;\r\n\tpfsFacilityId?: number;\r\n\tfacilityBusinessAreas?: any;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'userFacilityId': new UntypedFormControl(null, [...(validators['userFacilityId'] ?? []), ...[]]),\r\n\t\t\t'userHEROSAgencyId': new UntypedFormControl(null, [...(validators['userHEROSAgencyId'] ?? []), ...[]]),\r\n\t\t\t'userId': new UntypedFormControl(null, [...(validators['userId'] ?? []), ...[]]),\r\n\t\t\t'facilityId': new UntypedFormControl(null, [...(validators['facilityId'] ?? []), ...[]]),\r\n\t\t\t'facilityIdentifier': new UntypedFormControl(null, [...(validators['facilityIdentifier'] ?? []), ...[]]),\r\n\t\t\t'herosAgencyId': new UntypedFormControl(null, [...(validators['herosAgencyId'] ?? []), ...[]]),\r\n\t\t\t'userName': new UntypedFormControl(null, [...(validators['userName'] ?? []), ...[]]),\r\n\t\t\t'facilityName': new UntypedFormControl(null, [...(validators['facilityName'] ?? []), ...[]]),\r\n\t\t\t'facilityType': new UntypedFormControl(null, [...(validators['facilityType'] ?? []), ...[]]),\r\n\t\t\t'canDelete': new UntypedFormControl(false, [...(validators['canDelete'] ?? []), ...[]]),\r\n\t\t\t'canAdd': new UntypedFormControl(false, [...(validators['canAdd'] ?? []), ...[]]),\r\n\t\t\t'countyId': new UntypedFormControl(null, [...(validators['countyId'] ?? []), ...[]]),\r\n\t\t\t'countyName': new UntypedFormControl(null, [...(validators['countyName'] ?? []), ...[]]),\r\n\t\t\t'pfsFacilityId': new UntypedFormControl(null, [...(validators['pfsFacilityId'] ?? []), ...[]]),\r\n\t\t\t'facilityBusinessAreas': new UntypedFormControl([], [...(validators['facilityBusinessAreas'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic get ColumnDefs(): Map {\r\n\t\treturn new Map([\r\n\t\t\t['facilityName', {\"orderId\":0,\"sortColumn\":\"facilityName\",\"searchColumn\":\"facilityName\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Facility\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['facilityIdentifier', {\"orderId\":1,\"sortColumn\":\"facilityIdentifier\",\"searchColumn\":\"facilityIdentifier\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Identifier\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['countyName', {\"orderId\":2,\"sortColumn\":\"countyName\",\"searchColumn\":\"countyName\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"County\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['facilityType', {\"orderId\":3,\"sortColumn\":\"facilityType\",\"searchColumn\":\"facilityType\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Type\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['canAdd', {\"orderId\":4,\"sortColumn\":\"canAdd\",\"searchColumn\":\"canAdd\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Add\",\"isVisible\":true,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['canDelete', {\"orderId\":5,\"sortColumn\":\"canDelete\",\"searchColumn\":\"canDelete\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Remove\",\"isVisible\":true,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}]\r\n\t\t]);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): UserFacilityAgencyListVmFromFg {\r\n\t\treturn new UserFacilityAgencyListVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class UserFacilityAgencyListVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget userFacilityId(): number {\r\n\t\treturn this.fg.get('userFacilityId').value;\r\n\t}\r\n\tset userFacilityId(val) {\r\n\t\tthis.fg.get('userFacilityId').setValue(val);\r\n\t}\r\n\r\n\tget userHEROSAgencyId(): number {\r\n\t\treturn this.fg.get('userHEROSAgencyId').value;\r\n\t}\r\n\tset userHEROSAgencyId(val) {\r\n\t\tthis.fg.get('userHEROSAgencyId').setValue(val);\r\n\t}\r\n\r\n\tget userId(): number {\r\n\t\treturn this.fg.get('userId').value;\r\n\t}\r\n\tset userId(val) {\r\n\t\tthis.fg.get('userId').setValue(val);\r\n\t}\r\n\r\n\tget facilityId(): number {\r\n\t\treturn this.fg.get('facilityId').value;\r\n\t}\r\n\tset facilityId(val) {\r\n\t\tthis.fg.get('facilityId').setValue(val);\r\n\t}\r\n\r\n\tget facilityIdentifier(): string {\r\n\t\treturn this.fg.get('facilityIdentifier').value;\r\n\t}\r\n\tset facilityIdentifier(val) {\r\n\t\tthis.fg.get('facilityIdentifier').setValue(val);\r\n\t}\r\n\r\n\tget herosAgencyId(): number {\r\n\t\treturn this.fg.get('herosAgencyId').value;\r\n\t}\r\n\tset herosAgencyId(val) {\r\n\t\tthis.fg.get('herosAgencyId').setValue(val);\r\n\t}\r\n\r\n\tget userName(): string {\r\n\t\treturn this.fg.get('userName').value;\r\n\t}\r\n\tset userName(val) {\r\n\t\tthis.fg.get('userName').setValue(val);\r\n\t}\r\n\r\n\tget facilityName(): string {\r\n\t\treturn this.fg.get('facilityName').value;\r\n\t}\r\n\tset facilityName(val) {\r\n\t\tthis.fg.get('facilityName').setValue(val);\r\n\t}\r\n\r\n\tget facilityType(): string {\r\n\t\treturn this.fg.get('facilityType').value;\r\n\t}\r\n\tset facilityType(val) {\r\n\t\tthis.fg.get('facilityType').setValue(val);\r\n\t}\r\n\r\n\tget canDelete(): boolean {\r\n\t\treturn this.fg.get('canDelete').value;\r\n\t}\r\n\tset canDelete(val) {\r\n\t\tthis.fg.get('canDelete').setValue(val);\r\n\t}\r\n\r\n\tget canAdd(): boolean {\r\n\t\treturn this.fg.get('canAdd').value;\r\n\t}\r\n\tset canAdd(val) {\r\n\t\tthis.fg.get('canAdd').setValue(val);\r\n\t}\r\n\r\n\tget countyId(): number {\r\n\t\treturn this.fg.get('countyId').value;\r\n\t}\r\n\tset countyId(val) {\r\n\t\tthis.fg.get('countyId').setValue(val);\r\n\t}\r\n\r\n\tget countyName(): string {\r\n\t\treturn this.fg.get('countyName').value;\r\n\t}\r\n\tset countyName(val) {\r\n\t\tthis.fg.get('countyName').setValue(val);\r\n\t}\r\n\r\n\tget pfsFacilityId(): number {\r\n\t\treturn this.fg.get('pfsFacilityId').value;\r\n\t}\r\n\tset pfsFacilityId(val) {\r\n\t\tthis.fg.get('pfsFacilityId').setValue(val);\r\n\t}\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { faXmark } from '@fortawesome/pro-solid-svg-icons';\r\n\r\nimport { SystemMessage, SystemMessageService } from 'app/core/system-message/system-message-service';\r\nimport { UserFacilityAgencyListVm } from 'app/shared/generated/Administration/Models/Users/UserFacilityAgencyListVm';\r\nimport { TableComponent } from 'app/shared/table/table.component';\r\n\r\n@Component({\r\n selector: 'pcg-user-associated-facilities',\r\n templateUrl: './user-associated-facilities.component.html',\r\n styleUrls: ['./user-associated-facilities.component.scss'],\r\n standalone: false\r\n})\r\nexport class UserAssociatedFacilitiesComponent implements OnInit {\r\n\r\n @ViewChild(TableComponent) facTable: TableComponent;\r\n @Input() id: number;\r\n @Input() canEditFacilities: boolean = false;\r\n @Output() reload = new EventEmitter();\r\n\r\n columns = UserFacilityAgencyListVm.ColumnDefs;\r\n\r\n hasData = false;\r\n\r\n filters = { \r\n userId: 0\r\n , countyId: null\r\n , businessArea: null \r\n };\r\n filterMap = { \r\n \"countyId\": \"County\"\r\n , \"businessArea\": \"Business Area\"\r\n };\r\n initFilters = Object.assign({}, this.filters);\r\n\r\n faIcon = { faXmark }\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n , private ms: SystemMessageService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.filters.userId = this.id;\r\n this.configureColumns();\r\n }\r\n\r\n public configureColumns() {\r\n if (!this.canEditFacilities) { this.columns.delete('canDelete'); }\r\n this.columns.delete('canAdd');\r\n }\r\n\r\n tblReceive(event) {\r\n\t\tif (event.value === true) { this.hasData = true; }\r\n else { this.hasData = false; }\r\n\t}\r\n\r\n resetFilters() {\r\n\t\tthis.filters = Object.assign(this.filters, this.initFilters);\r\n\t\tthis.reloadTable();\r\n\t}\r\n\r\n reloadTable() {\r\n this.facTable.ajaxData = { \r\n userId: this.id\r\n , countyId: this.filters.countyId\r\n , businessArea: this.filterMap.businessArea\r\n };\r\n\t\tthis.facTable?.ajaxReload();\r\n }\r\n\r\n removeFac(row : UserFacilityAgencyListVm) {\r\n if (!this.canEditFacilities) { return; }\r\n var source = \"\";\r\n var rowId: number;\r\n if (row.facilityType === \"HEROS\") {\r\n source = \"api/Administration/Users/RemoveAgencyFromUser\";\r\n rowId = row.userHEROSAgencyId;\r\n } else {\r\n this.ms.setSystemMessage(\"This facility does not have a type therefore it cannot be removed\", \"error\");\r\n return;\r\n }\r\n\r\n this.httpClient.post(\r\n source\r\n , {}\r\n , { params: new HttpParams().set('id', rowId) }\r\n ).subscribe((sm: SystemMessage) => {\r\n if (!sm.isSuccessful) { this.ms.setSystemMessage(sm.message, 'error'); return; } \r\n else { this.reload.emit(); }\r\n });\r\n } \r\n\r\n removeAll() {\r\n const pcgTableInput = this.facTable.getPcgTableInput();\r\n const tableInput = JSON.stringify(pcgTableInput);\r\n\r\n this.httpClient.post('api/Administration/Users/RemoveAllFacilitiesAndAgenciesFromUser'\r\n , tableInput\r\n , { params: new HttpParams().set('userId', this.id) }\r\n ).subscribe(async (sm: SystemMessage) => {\r\n if (!sm.isSuccessful) { this.ms.setSystemMessage(sm.message, 'error'); return; } \r\n else { this.reload.emit(); }\r\n });\r\n }\r\n}\r\n","

Associated HEROS Agencies

\r\n\r\n\r\n\r\n \r\n {{ columns.get('facilityName').displayName }}\r\n {{ row.facilityName }}\r\n \r\n\r\n \r\n {{ columns.get('facilityIdentifier').displayName }}\r\n {{ row.facilityIdentifier }}\r\n \r\n\r\n \r\n {{ columns.get('countyName').displayName }}\r\n {{ row.countyName }}\r\n \r\n\r\n \r\n {{ columns.get('facilityType').displayName }}\r\n {{ row.facilityType }}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { faPlus } from '@fortawesome/pro-solid-svg-icons';\r\n\r\nimport { SystemMessage, SystemMessageService } from 'app/core/system-message/system-message-service';\r\nimport { GlobalVariablesService } from 'app/services/global-variables.service';\r\nimport { UserFacilityAgencyListVm } from 'app/shared/generated/Administration/Models/Users/UserFacilityAgencyListVm';\r\nimport { ButtonFilterService } from 'app/shared/table/table-top/button-filter/button-filter.service';\r\nimport { TableComponent } from 'app/shared/table/table.component';\r\n\r\n@Component({\r\n selector: 'pcg-user-non-associated-facilities',\r\n templateUrl: './user-non-associated-facilities.component.html',\r\n styleUrls: ['./user-non-associated-facilities.component.scss'],\r\n standalone: false\r\n})\r\nexport class UserNonAssociatedFacilitiesComponent implements OnInit {\r\n\r\n @ViewChild(TableComponent) nonTable: TableComponent;\r\n @Input() id: number;\r\n @Input() canEditFacilities: boolean = false;\r\n @Output() reload = new EventEmitter();\r\n\r\n nonColumns = UserFacilityAgencyListVm.ColumnDefs;\r\n formGroup = UserFacilityAgencyListVm.Form;\r\n\r\n hasData = false;\r\n\r\n faIcon = { faPlus };\r\n\r\n nonFilters = { \r\n userId: 0\r\n , countyId: null\r\n , businessArea: null \r\n };\r\n initNonFilters = { \r\n\t\tuserId: 0\r\n , countyId: null\r\n , businessArea: null \r\n\t};\r\n nonFilterMap = { \r\n \"countyId\": \"County\"\r\n , \"businessArea\": \"Business Area\"\r\n };\r\n\r\n constructor(\r\n public btnNonFilterService: ButtonFilterService\r\n , private httpClient: HttpClient\r\n , private ms: SystemMessageService\r\n , private gvs: GlobalVariablesService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.nonFilters.userId = this.id;\r\n this.initNonFilters = Object.assign({}, this.nonFilters);\r\n this.configureColumns();\r\n this.btnNonFilterService.resetFilterData.subscribe(() => { this.resetFilters(); });\r\n }\r\n\r\n public configureColumns() {\r\n if (!this.canEditFacilities) { this.nonColumns.delete('canAdd'); }\r\n this.nonColumns.delete('canDelete');\r\n } \r\n\r\n tblReceive(event) {\r\n\t\tif (event.value.hasData === true) { this.hasData = true; }\r\n else { this.hasData = false; }\r\n this.gvs.userName.set(event.value.userName);\r\n\t}\r\n\r\n resetFilters() {\r\n\t\tthis.nonFilters = Object.assign(this.nonFilters, this.initNonFilters);\r\n\t\tthis.nonTable?.ajaxReload();\r\n\t}\r\n\r\n addFac(row: UserFacilityAgencyListVm) {\r\n if (!this.canEditFacilities) { return; }\r\n var source = \"\";\r\n if (row.facilityType === \"HEROS\") {\r\n source = \"api/Administration/Users/AddAgencyToUser\";\r\n } else {\r\n this.ms.setSystemMessage(\"This facility does not have a type therefore it cannot be associated\", \"error\");\r\n return;\r\n }\r\n \r\n this.formGroup.patchValue(row);\r\n this.httpClient.post(source, this.formGroup.getRawValue())\r\n .subscribe(async (sm: SystemMessage) => {\r\n if (!sm.isSuccessful) { this.ms.setSystemMessage(sm.message, 'error'); return; } \r\n else { this.reload.emit(); }\r\n }\r\n );\r\n }\r\n\r\n addAll() {\r\n const pcgTableInput = this.nonTable.getPcgTableInput();\r\n const tableInput = JSON.stringify(pcgTableInput);\r\n\r\n this.httpClient.post('api/Administration/Users/AddAllFacilitiesAndAgenciesToUser'\r\n , tableInput\r\n , { \r\n params: new HttpParams()\r\n .set('userId', this.id)\r\n .set('countyId', this.nonFilters.countyId) \r\n .set('businessArea', this.nonFilters.businessArea) \r\n }\r\n ).subscribe(async (sm: SystemMessage) => {\r\n if (!sm.isSuccessful) { this.ms.setSystemMessage(sm.message, 'error'); return; } \r\n else { this.reload.emit(); }\r\n });\r\n }\r\n}\r\n","

Available HEROS Agencies

\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n {{ nonColumns.get('facilityName').displayName }}\r\n {{ row.facilityName }}\r\n \r\n\r\n \r\n {{ nonColumns.get('facilityIdentifier').displayName }}\r\n {{ row.facilityIdentifier }}\r\n \r\n\r\n \r\n {{ nonColumns.get('countyName').displayName }}\r\n {{ row.countyName }}\r\n \r\n\r\n \r\n {{ nonColumns.get('facilityType').displayName }}\r\n {{ row.facilityType }}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { UntilDestroy } from \"@ngneat/until-destroy\";\r\nimport { Subscription } from \"rxjs\";\r\n\r\nimport { UserAssociatedFacilitiesComponent } from \"./user-associated-facilities/user-associated-facilities.component\";\r\nimport { UserNonAssociatedFacilitiesComponent } from \"./user-non-associated-facilities/user-non-associated-facilities.component\";\r\nimport { BusinessAreaEnum } from \"app/core/enums/generated/BusinessAreaEnum\";\r\nimport { PermissionRole } from \"app/core/enums/generated/PermissionRole\";\r\nimport { SecurityService } from \"app/core/security/security.service\";\r\n\r\n@UntilDestroy()\r\n@Component({\r\n selector: \"pcg-user-facilities\",\r\n templateUrl: \"./user-facilities.component.html\",\r\n styleUrls: [\"./user-facilities.component.scss\"],\r\n standalone: false\r\n})\r\nexport class UserFacilitiesComponent implements OnInit {\r\n\r\n\t@ViewChild(\"nonAssociatedFac\") nonAssociatedFac: UserNonAssociatedFacilitiesComponent;\r\n\t@ViewChild(\"associatedFac\") associatedFac: UserAssociatedFacilitiesComponent;\r\n\r\n\tsubscriptions: Subscription = new Subscription();\r\n\tid: number;\r\n\tcanEditFacilities = false;\r\n\r\n\tfilters = { id: 0 };\r\n\r\n\tconstructor(\r\n\t\tprivate activatedRoute: ActivatedRoute\r\n , public router: Router\r\n , private sec: SecurityService\r\n\t) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis.id = Number(this.activatedRoute.snapshot.params.id);\r\n\t\tthis.filters.id = this.id;\r\n\t\tthis.canEditFacilities = this.sec.hasModuleAccess(\r\n\t\t\t[ BusinessAreaEnum.Admin ]\r\n\t\t\t, [ ...SecurityService.setMinRole(PermissionRole.Manager) ]);\r\n\t}\r\n\r\n\treloadTables() {\r\n\t\tthis.nonAssociatedFac.nonTable.ajaxReload();\r\n\t\tthis.associatedFac.facTable.ajaxReload();\r\n\t}\r\n}\r\n","\r\n Select active facilities from the table below to associate them with this user.\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
","import { HttpClient } from '@angular/common/http';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\r\nimport { faCheck, faFingerprint } from '@fortawesome/pro-solid-svg-icons';\r\n\r\nimport { SystemMessage, SystemMessageService } from 'app/core/system-message/system-message-service';\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { UserJsVm } from 'app/shared/generated/Administration/Models/Users/UserJsVm';\r\nimport { FingerprintService } from 'app/core/security/multi-factor-auth/fingerprint.service';\r\nimport { FingerprintVm } from 'app/shared/generated/Administration/Models/Users/FingerprintVm';\r\n\r\n@UntilDestroy()\r\n@Component({\r\n selector: 'pcg-user-fingerprint-authentication',\r\n templateUrl: './user-fingerprint-authentication.component.html',\r\n styleUrls: ['./user-fingerprint-authentication.component.scss'],\r\n standalone: false\r\n})\r\nexport class UserFingerprintAuthenticationComponent implements OnInit {\r\n\r\n\t@Input() userPin: string;\r\n @Input() isOnPrem: boolean = true;\r\n\r\n\tisError = false;\r\n hasFingerprint = false;\r\n\terrorString = \"\";\r\n\tfingerprintsRegistered = 0;\r\n\tuser: UserJsVm;\r\n\r\n\tfaIconName = { faCheck, faFingerprint };\r\n\r\n\tconstructor(\r\n\t\tprivate httpClient: HttpClient\r\n\t\t, private route: ActivatedRoute\r\n\t\t, private ms: SystemMessageService\r\n\t\t, private fingerprint: FingerprintService\r\n\t\t, private sec: SecurityService\r\n\t) { }\t\r\n\r\n ngOnInit() { \r\n this.user = this.sec.getUser();\r\n this.getFingerprintInfo(); \r\n }\r\n\r\n\tgetFingerprintInfo() {\r\n this.isError = false;\r\n\t\tthis.errorString = \"\";\t\t\r\n\r\n\t\tthis.route.params.pipe(untilDestroyed(this)).subscribe(params => {\r\n\t\t\tconst id = Number(params.id);\r\n this.httpClient.get(`api/Administration/Users/IsFingerprintRegistered/${id}?isOnPrem=${this.isOnPrem ?? this.user.isOnPrem}`)\r\n\t\t\t\t.pipe(untilDestroyed(this))\r\n\t\t\t\t.subscribe((sm: SystemMessage) => { \r\n if (sm.value === true) { \r\n\t\t\t\t\t\tthis.hasFingerprint = true; \r\n\t\t\t\t\t\tthis.fingerprintsRegistered = sm.model\r\n\t\t\t\t\t} else { this.hasFingerprint = false; }\r\n\t\t\t\t\tif (sm.isSuccessful === false) { \r\n\t\t\t\t\t\tthis.isError = true;\r\n\t\t\t\t\t\tthis.errorString = sm.message;\r\n\t\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n captureFingerprint() {\r\n\t\tthis.register(Number(this.route.snapshot.paramMap.get('id')));\r\n\t\tthis.getFingerprintInfo();\r\n\t}\r\n\r\n register(id: number) {\r\n\t\tthis.isError = false;\r\n\t\tthis.errorString = \"\";\r\n\r\n\t\tif (this.userPin === \"\") {\r\n\t\t\tthis.ms.setSystemMessage(\r\n\t\t\t\t\"You must set a PIN before you can register a fingerprint.\",\r\n\t\t\t\t\"error\"\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.fingerprint.captureFingerprint((response: any) => {\r\n\t\t\tlet biometricXmlval: string;\r\n\t\t\ttry { biometricXmlval = response.Images.Fingerprint[0].Base64Image; } \r\n\t\t\tcatch (error) {\r\n\t\t\t\tthis.ms.setSystemMessage(\r\n\t\t\t\t\t'Error communicating with fingerprint scanner. ' + \r\n\t\t\t\t\t'Please ensure you have the correct drivers installed and try again, or contact an administrator.',\r\n\t\t\t\t\t'error'\r\n\t\t\t\t);\r\n\t\t\t\treturn;\r\n\t\t\t}\t\t\r\n\r\n const vm: FingerprintVm = new FingerprintVm();\r\n vm.id = id;\r\n vm.biometricXml = biometricXmlval;\r\n vm.isOnPrem = this.isOnPrem ?? this.user.isOnPrem;\r\n\r\n\t\t\tthis.httpClient.post(\r\n\t\t\t\t'api/Administration/Users/RegisterFingerprint/'\r\n\t\t\t\t, vm\r\n\t\t\t).subscribe((msg: SystemMessage) => {\r\n\t\t\t\tif (!msg.isSuccessful) {\r\n\t\t\t\t\tthis.isError = true;\r\n\t\t\t\t\tthis.errorString = msg.message;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.ms.setSystemMessage(msg.message, msg.messageClass);\r\n\t\t\t\t\tthis.hasFingerprint = msg.isSuccessful;\r\n\t\t\t\t\tthis.fingerprintsRegistered++;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tremoveFingerprint() {\r\n\t\tthis.isError = false;\r\n\t\tthis.errorString = \"\";\r\n \r\n\t\tthis.route.params.pipe(untilDestroyed(this)).subscribe(params => {\r\n\t\t\tconst id = Number(params.id);\r\n\t\t\tthis.httpClient.get(`api/Administration/Users/RemoveFingerprint/${id}?isOnPrem=${this.isOnPrem ?? this.user.isOnPrem}`)\r\n\t\t\t\t.pipe(untilDestroyed(this))\r\n\t\t\t\t.subscribe((msg: SystemMessage) => {\r\n\t\t\t\t\tif (msg.isSuccessful) {\r\n\t\t\t\t\t\tthis.ms.setSystemMessage('Fingerprint deletion successful', 'success');\r\n\t\t\t\t\t\tthis.hasFingerprint = false;\r\n\t\t\t\t\t\tthis.fingerprintsRegistered = 0;\r\n\t\t\t\t\t} else { \r\n\t\t\t\t\t\tthis.isError = true;\r\n\t\t\t\t\t\tthis.errorString = msg.message;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t});\r\n\t}\t\r\n}\r\n","\r\n\r\n
\r\n \r\n\r\n @if (hasFingerprint) {\r\n
Clear
\r\n }\r\n
\r\n\r\n@if (isError) {
{{ errorString }}
}","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class LoginHistoryVm {\r\n\tattemptSuccessful?: string;\r\n\tuserName?: string;\r\n\tuserID: number;\r\n\tipAddress?: string;\r\n\tdateAttempted: Date;\r\n\tdateAttemptedFormatted?: string;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'attemptSuccessful': new UntypedFormControl(null, [...(validators['attemptSuccessful'] ?? []), ...[]]),\r\n\t\t\t'userName': new UntypedFormControl(null, [...(validators['userName'] ?? []), ...[]]),\r\n\t\t\t'userID': new UntypedFormControl(0, [...(validators['userID'] ?? []), ...[Validators.required]]),\r\n\t\t\t'ipAddress': new UntypedFormControl(null, [...(validators['ipAddress'] ?? []), ...[]]),\r\n\t\t\t'dateAttempted': new UntypedFormControl('', [...(validators['dateAttempted'] ?? []), ...[Validators.required]]),\r\n\t\t\t'dateAttemptedFormatted': new UntypedFormControl(null, [...(validators['dateAttemptedFormatted'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic get ColumnDefs(): Map {\r\n\t\treturn new Map([\r\n\t\t\t['dateAttempted', {\"orderId\":0,\"sortColumn\":\"dateAttempted\",\"searchColumn\":\"dateAttemptedFormatted\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Date Attempted\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['attemptSuccessful', {\"orderId\":1,\"sortColumn\":\"attemptSuccessful\",\"searchColumn\":\"attemptSuccessful\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Attempt Successful?\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['userName', {\"orderId\":2,\"sortColumn\":\"userName\",\"searchColumn\":\"userName\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Username\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['ipAddress', {\"orderId\":3,\"sortColumn\":\"ipAddress\",\"searchColumn\":\"ipAddress\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"IP Address\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}]\r\n\t\t]);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): LoginHistoryVmFromFg {\r\n\t\treturn new LoginHistoryVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class LoginHistoryVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget attemptSuccessful(): string {\r\n\t\treturn this.fg.get('attemptSuccessful').value;\r\n\t}\r\n\tset attemptSuccessful(val) {\r\n\t\tthis.fg.get('attemptSuccessful').setValue(val);\r\n\t}\r\n\r\n\tget userName(): string {\r\n\t\treturn this.fg.get('userName').value;\r\n\t}\r\n\tset userName(val) {\r\n\t\tthis.fg.get('userName').setValue(val);\r\n\t}\r\n\r\n\tget userID(): number {\r\n\t\treturn this.fg.get('userID').value;\r\n\t}\r\n\tset userID(val) {\r\n\t\tthis.fg.get('userID').setValue(val);\r\n\t}\r\n\r\n\tget ipAddress(): string {\r\n\t\treturn this.fg.get('ipAddress').value;\r\n\t}\r\n\tset ipAddress(val) {\r\n\t\tthis.fg.get('ipAddress').setValue(val);\r\n\t}\r\n\r\n\tget dateAttempted(): Date {\r\n\t\treturn this.fg.get('dateAttempted').value;\r\n\t}\r\n\tset dateAttempted(val) {\r\n\t\tthis.fg.get('dateAttempted').setValue(val);\r\n\t}\r\n\r\n\tget dateAttemptedFormatted(): string {\r\n\t\treturn this.fg.get('dateAttemptedFormatted').value;\r\n\t}\r\n\tset dateAttemptedFormatted(val) {\r\n\t\tthis.fg.get('dateAttemptedFormatted').setValue(val);\r\n\t}\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { GlobalVariablesService } from 'app/services/global-variables.service';\r\nimport { LoginHistoryVm } from 'app/shared/generated/Administration/Models/LoginHistoryVm';\r\n\r\n@Component({\r\n selector: 'pcg-user-login-history',\r\n templateUrl: './user-login-history.component.html',\r\n styleUrls: ['./user-login-history.component.scss'],\r\n standalone: false\r\n})\r\nexport class UserLoginHistoryComponent implements OnInit {\r\n\r\n\tcolumns = LoginHistoryVm.ColumnDefs;\r\n\t@Input() id = 0;\r\n\r\n\tconstructor (\r\n private route: ActivatedRoute\r\n , private gvs: GlobalVariablesService\r\n ) { }\r\n\r\n\tngOnInit() { this.id = Number(this.route.snapshot.params.id); }\r\n tableReceive(event) { this.gvs.userName.set(event.value.userName); }\r\n}\r\n","\r\n\r\n\t\r\n\t\t{{ columns.get('dateAttempted').displayName }}\r\n\t\t{{ row.dateAttemptedFormatted }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('attemptSuccessful').displayName }}\r\n\t\t{{ row.attemptSuccessful }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('userName').displayName }}\r\n\t\t{{ row.userName }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('ipAddress').displayName }}\r\n\t\t{{ row.ipAddress }}\r\n\t\r\n\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { PermissionRole } from 'app/core/enums/generated/PermissionRole';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class UserRoleInfoServiceService {\r\n\r\n constructor() {}\r\n\r\n addSec(a) {\r\n a.name = a.name;\r\n a.user = a.user;\r\n a.userAdmin = a.userAdmin ?? a.user;\r\n a.technician = a.technician ?? a.userAdmin;\r\n a.manager = a.manager ?? a.technician;\r\n a.pharmacist = a.pharmacist ?? a.manager;\r\n a.systemAdmin = a.systemAdmin ?? true;\r\n return a;\r\n }\r\n\r\n addSecData(jsonData: any) {\r\n var modalData = [];\r\n for (var permission = 0; permission < jsonData.length; permission++) {\r\n var secAccessObj = {\r\n name: jsonData[permission].PermissionName\r\n , descr: jsonData[permission].PermissionDescription\r\n , user: false\r\n , manager: false\r\n , pharmacist: false\r\n , technician: false\r\n , systemAdmin : false\r\n , userAdmin: false\r\n }\r\n for (var role = 0; role < jsonData[permission].PermissionInfoRoles.length; role++) {\r\n if (\r\n secAccessObj.user == null \r\n || secAccessObj.user == false\r\n ) { secAccessObj.user = jsonData[permission].PermissionInfoRoles[role].PermissionRole == PermissionRole.User; }\r\n if (\r\n secAccessObj.manager == null \r\n || secAccessObj.manager == false\r\n ) { secAccessObj.manager = jsonData[permission].PermissionInfoRoles[role].PermissionRole == PermissionRole.Manager; }\r\n if (\r\n secAccessObj.pharmacist == null \r\n || secAccessObj.pharmacist == false\r\n ) { secAccessObj.pharmacist = jsonData[permission].PermissionInfoRoles[role].PermissionRole == PermissionRole.Pharmacist; }\r\n if (\r\n secAccessObj.technician == null \r\n || secAccessObj.technician == false\r\n ) { secAccessObj.technician = jsonData[permission].PermissionInfoRoles[role].PermissionRole == PermissionRole.Technician; } \r\n if (\r\n secAccessObj.userAdmin == null \r\n || secAccessObj.userAdmin == false\r\n ) { secAccessObj.userAdmin = jsonData[permission].PermissionInfoRoles[role].PermissionRole == PermissionRole.UserAdmin; } \r\n if (\r\n secAccessObj.systemAdmin == null \r\n || secAccessObj.systemAdmin == false\r\n ) { secAccessObj.systemAdmin = jsonData[permission].PermissionInfoRoles[role].PermissionRole == PermissionRole.SystemAdmin; } \r\n }\r\n modalData.push(secAccessObj); \r\n }\r\n return modalData;\r\n }\r\n}\r\n","import { Component, Input, OnInit, signal } from \"@angular/core\";\r\nimport { faCheck } from \"@fortawesome/pro-solid-svg-icons\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Router } from \"@angular/router\";\r\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\"\r\n;\r\nimport { BusinessAreaEnum } from \"app/core/enums/generated/BusinessAreaEnum\";\r\nimport { PermissionRole } from \"app/core/enums/generated/PermissionRole\";\r\nimport { getAdminNav } from \"app/core/nav-areas/admin-nav\";\r\nimport { getCiRepackNav } from \"app/core/nav-areas/ci-repack-nav\";\r\nimport { getHEROSNav } from \"app/core/nav-areas/heros-nav\";\r\nimport { getInventoryNav } from \"app/core/nav-areas/inventory-nav\";\r\nimport { getMetabolicFormulaNav } from \"app/core/nav-areas/metabolic-formula-nav\";\r\nimport { getNdcDirectoryNav } from \"app/core/nav-areas/ndc-directory-nav\";\r\nimport { getPharmacyNav } from \"app/core/nav-areas/pharmacy-nav\";\r\nimport { SecurityService } from \"app/core/security/security.service\";\r\nimport { NavRoute } from \"app/shared/navigation/nav.route.interface\";\r\nimport { UserRoleInfoServiceService } from \"../../user-role-info.service\";\r\n\r\n@Component({\r\n selector: \"pcg-user-role-info\",\r\n templateUrl: \"./user-role-info.component.html\",\r\n styleUrls: [\"../../user-role-info-modal.component.scss\"],\r\n standalone: false\r\n})\r\nexport class UserRoleInfoComponent implements OnInit {\r\n\r\n\t@Input() module: BusinessAreaEnum;\r\n\r\n\tpermissionRole = PermissionRole;\r\n\troles: PermissionRole[] = SecurityService.getMinBaseRoles(this.permissionRole.User);\r\n\tbusinessAreaEnum = BusinessAreaEnum;\r\n\troutes: NavRoute[] = [];\r\n\r\n\tfaCheck = faCheck;\r\n\tsecAccess: any[];\r\n\tuseDefault: boolean;\r\n\t\r\n\tloading = signal(true);\r\n\r\n\tconstructor(\r\n\t\tpublic roleInfoService: UserRoleInfoServiceService\r\n\t\t, public http: HttpClient\r\n\t\t, private router: Router\r\n\t\t, public activeModal: NgbActiveModal\r\n\t) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis.useDefault = !this.secAccess?.length;\r\n\t\tif (this.useDefault) { this.getRoutes(); }\r\n\t}\r\n\r\n\t// We may be able to remove this now that permission details can be added within the application.\r\n\tgetRoutes() {\r\n\t\tswitch (this.module) {\r\n\t\t\tcase BusinessAreaEnum.HEROS:\r\n\t\t\t\tthis.routes = getHEROSNav().children;\r\n\t\t\t\tbreak;\r\n\t\t\tcase BusinessAreaEnum.PharmLog:\r\n\t\t\t\tthis.routes = getPharmacyNav().children;\r\n\t\t\t\tbreak;\r\n\t\t\tcase BusinessAreaEnum.NDC:\r\n\t\t\t\tthis.routes = getNdcDirectoryNav().children;\r\n\t\t\t\tbreak;\r\n\t\t\tcase BusinessAreaEnum.MetabolicFormula:\r\n\t\t\t\tthis.routes = getMetabolicFormulaNav().children;\r\n\t\t\t\tbreak;\r\n\t\t\tcase BusinessAreaEnum.CI:\r\n\t\t\t\tthis.routes = getCiRepackNav().children;\r\n\t\t\t\tbreak;\r\n\t\t\tcase BusinessAreaEnum.Admin:\r\n\t\t\t\tthis.routes = getAdminNav().children;\r\n\t\t\t\tbreak;\r\n\t\t\tcase BusinessAreaEnum.SysInv:\r\n\t\t\t\tthis.routes = getInventoryNav().children;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tthis.secAccess = this.routes;\r\n\t}\r\n\r\n\thasRoleAccess = (role: PermissionRole, sec): boolean =>\r\n\t\tthis.useDefault\r\n\t\t\t? (\r\n\t\t\t\tsec?.moduleAccess?.modules == this.module \r\n\t\t\t\t&& role >= (sec?.moduleAccess?.permissionRoles ?? 0)\r\n\t\t\t) == true\r\n\t\t\t: Object.entries(sec).find((o) => o[0]?.toLowerCase() == PermissionRole[role].toLowerCase())?.[1] == true;\r\n\r\n\taddModuleAccessDetails() {\r\n\t\tthis.router.navigate([\r\n\t\t\t`/admin/permissions-info/${this.convertModuleNameToRoute(this.module)}/list/${this.module}`,\r\n\t\t]);\r\n this.activeModal.close();\r\n\t}\r\n\r\n\t// New nav changed route to use the enum name in route, replaces spaces with -s and lower cases enum\r\n\tconvertModuleNameToRoute = (mod: BusinessAreaEnum) => {\r\n\t\treturn BusinessAreaEnum.toDescription(mod).split(' ').join('-').toLowerCase();\r\n\t}\r\n}\r\n","@if (!loading()) {\r\n @if (secAccess?.length) {\r\n
\r\n \r\n @for (role of roles; track role;) {\r\n
{{ permissionRole.toDisplay(role) }}
\r\n } \r\n
\r\n }\r\n\r\n @for (sec of secAccess; track sec.name) {\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n @for (role of roles; track role;) {\r\n
\r\n @if (hasRoleAccess(role, sec)) { }\r\n
\r\n } \r\n
\r\n
\r\n } @empty {\r\n \r\n }\r\n} @else {\r\n

\r\n
\r\n \r\n
\r\n Loading... \r\n

\r\n}","import { Component, OnInit } from \"@angular/core\";\r\n\r\nimport { SystemMessage } from \"app/core/system-message/system-message-service\";\r\nimport { UserRoleInfoComponent } from \"../user-role-info/user-role-info.component\";\r\n\r\n@Component({\r\n selector: \"pcg-role-info\",\r\n templateUrl: \"../user-role-info/user-role-info.component.html\",\r\n styleUrls: [\"../../user-role-info-modal.component.scss\"],\r\n standalone: false\r\n})\r\nexport class RoleInfoComponent extends UserRoleInfoComponent implements OnInit {\r\n\r\n\tngOnInit() { this.getModalData(); }\r\n\r\n\tgetModalData() {\r\n\t\tthis.loading.update(() => true);\r\n\t\tthis.http.get(`api/Administration/PermissionsInfo/GetPermissionsForModal?module=${this.module}`)\r\n\t\t\t.subscribe((msg: SystemMessage) => {\r\n\t\t\t\tthis.secAccess = this.roleInfoService\r\n\t\t\t\t\t.addSecData(JSON.parse(msg.model))\r\n\t\t\t\t\t.map((o) => this.roleInfoService.addSec(o));\r\n\t\t\t\tthis.roles = JSON.parse(msg.value);\r\n\t\t\t\tthis.loading.update(() => false);\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","@if (!loading()) {\r\n @if (secAccess?.length) {\r\n
\r\n \r\n @for (role of roles; track role;) {\r\n
{{ permissionRole.toDisplay(role) }}
\r\n } \r\n
\r\n }\r\n\r\n @for (sec of secAccess; track sec.name) {\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n @for (role of roles; track role;) {\r\n
\r\n @if (hasRoleAccess(role, sec)) { }\r\n
\r\n } \r\n
\r\n
\r\n } @empty {\r\n \r\n }\r\n} @else {\r\n

\r\n
\r\n \r\n
\r\n Loading... \r\n

\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { faCheck } from '@fortawesome/pro-solid-svg-icons';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { BusinessAreaEnum } from 'app/core/enums/generated/BusinessAreaEnum';\r\nimport { PermissionRole } from 'app/core/enums/generated/PermissionRole';\r\nimport { PermissionInfoTextVm } from 'app/shared/generated/Administration/Models/PermissionsInfo/PermissionInfoTextVm';\r\n\r\n@Component({\r\n selector: 'pcg-user-role-info-modal',\r\n templateUrl: './user-role-info-modal.component.html',\r\n styleUrls: ['./user-role-info-modal.component.scss'],\r\n standalone: false\r\n})\r\nexport class UserRoleInfoModalComponent implements OnInit {\r\n\r\n @Input() module: BusinessAreaEnum = null;\r\n\r\n businessAreaEnum = BusinessAreaEnum;\r\n modalTitle: string = '';\r\n faCheck = faCheck;\r\n optionalText: string = '';\r\n permissionRole = PermissionRole;\r\n\r\n constructor(\r\n public activeModal: NgbActiveModal\r\n , private http: HttpClient\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getOptionalText(); \r\n // Get the first word for the modal title.\r\n this.modalTitle = BusinessAreaEnum.toDescription(this.module);\r\n }\r\n\r\n getOptionalText() {\r\n this.http.get(`api/Administration/PermissionsInfo/GetPermissionsTextByModule?module=${Number(this.module)}`)\r\n .subscribe((vm: PermissionInfoTextVm) => { this.optionalText = vm.text; });\r\n }\r\n}\r\n","\r\n\r\n
\r\n\t
\r\n\r\n\t\r\n\t\r\n\r\n\t
\r\n\t\t\r\n\t
\r\n
","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class ModuleAccessVm {\r\n\tmoduleAccessId: number;\r\n\tuserId: number;\r\n\tmodule?: any;\r\n\tpermissionRole?: any;\r\n\tupdatedByUser?: string;\r\n\tupdateByDate: Date;\r\n\tfriendlyId?: string;\r\n\tdisplayName?: string;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'moduleAccessId': new UntypedFormControl(0, [...(validators['moduleAccessId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'userId': new UntypedFormControl(0, [...(validators['userId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'module': new UntypedFormControl('', [...(validators['module'] ?? []), ...[Validators.required]]),\r\n\t\t\t'permissionRole': new UntypedFormControl('', [...(validators['permissionRole'] ?? []), ...[Validators.required]]),\r\n\t\t\t'updatedByUser': new UntypedFormControl(null, [...(validators['updatedByUser'] ?? []), ...[Validators.maxLength(100)]]),\r\n\t\t\t'updateByDate': new UntypedFormControl('', [...(validators['updateByDate'] ?? []), ...[Validators.required]]),\r\n\t\t\t'friendlyId': new UntypedFormControl(null, [...(validators['friendlyId'] ?? []), ...[]]),\r\n\t\t\t'displayName': new UntypedFormControl(null, [...(validators['displayName'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): ModuleAccessVmFromFg {\r\n\t\treturn new ModuleAccessVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class ModuleAccessVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget moduleAccessId(): number {\r\n\t\treturn this.fg.get('moduleAccessId').value;\r\n\t}\r\n\tset moduleAccessId(val) {\r\n\t\tthis.fg.get('moduleAccessId').setValue(val);\r\n\t}\r\n\r\n\tget userId(): number {\r\n\t\treturn this.fg.get('userId').value;\r\n\t}\r\n\tset userId(val) {\r\n\t\tthis.fg.get('userId').setValue(val);\r\n\t}\r\n\r\n\tget module(): any {\r\n\t\treturn this.fg.get('module').value;\r\n\t}\r\n\tset module(val) {\r\n\t\tthis.fg.get('module').setValue(val);\r\n\t}\r\n\r\n\tget permissionRole(): any {\r\n\t\treturn this.fg.get('permissionRole').value;\r\n\t}\r\n\tset permissionRole(val) {\r\n\t\tthis.fg.get('permissionRole').setValue(val);\r\n\t}\r\n\r\n\tget updatedByUser(): string {\r\n\t\treturn this.fg.get('updatedByUser').value;\r\n\t}\r\n\tset updatedByUser(val) {\r\n\t\tthis.fg.get('updatedByUser').setValue(val);\r\n\t}\r\n\r\n\tget updateByDate(): Date {\r\n\t\treturn this.fg.get('updateByDate').value;\r\n\t}\r\n\tset updateByDate(val) {\r\n\t\tthis.fg.get('updateByDate').setValue(val);\r\n\t}\r\n\r\n\tget friendlyId(): string {\r\n\t\treturn this.fg.get('friendlyId').value;\r\n\t}\r\n\tset friendlyId(val) {\r\n\t\tthis.fg.get('friendlyId').setValue(val);\r\n\t}\r\n\r\n\tget displayName(): string {\r\n\t\treturn this.fg.get('displayName').value;\r\n\t}\r\n\tset displayName(val) {\r\n\t\tthis.fg.get('displayName').setValue(val);\r\n\t}\r\n}\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/interfaces/pcg-table-column.interface';\r\nimport { ModuleAccessVm, ModuleAccessVmFromFg } from '../../../Administration/Models/Security/ModuleAccessVm';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class UserModulesVm {\r\n\tuserId: number;\r\n\tuserName?: string;\r\n\tmoduleAccess?: ModuleAccessVm[];\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'userId': new UntypedFormControl(0, [...(validators['userId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'userName': new UntypedFormControl(null, [...(validators['userName'] ?? []), ...[]]),\r\n\t\t\t'moduleAccess': new UntypedFormControl([], [...(validators['moduleAccess'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): UserModulesVmFromFg {\r\n\t\treturn new UserModulesVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class UserModulesVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget userId(): number {\r\n\t\treturn this.fg.get('userId').value;\r\n\t}\r\n\tset userId(val) {\r\n\t\tthis.fg.get('userId').setValue(val);\r\n\t}\r\n\r\n\tget userName(): string {\r\n\t\treturn this.fg.get('userName').value;\r\n\t}\r\n\tset userName(val) {\r\n\t\tthis.fg.get('userName').setValue(val);\r\n\t}\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Component, inject, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { debounceTime, Subscription } from \"rxjs\";\r\n\r\nimport { UserRoleInfoModalComponent } from \"app/administration/users/edit-user/user-role-info-modal/user-role-info-modal.component\";\r\nimport { BusinessAreaEnum } from \"app/core/enums/generated/BusinessAreaEnum\";\r\nimport { PermissionRole } from \"app/core/enums/generated/PermissionRole\";\r\nimport { availableModules, SecurityService } from \"app/core/security/security.service\";\r\nimport { SystemMessage, SystemMessageService } from \"app/core/system-message/system-message-service\";\r\nimport { ModuleAccessVm } from \"app/shared/generated/Administration/Models/Security/ModuleAccessVm\";\r\nimport { UserModulesVm } from \"app/shared/generated/Administration/Models/Security/UserModulesVm\";\r\nimport { EditUserService } from \"../edit-user.service\";\r\nimport { GlobalVariablesService } from \"app/services/global-variables.service\";\r\n\r\n@Component({\r\n selector: \"pcg-user-module-access\",\r\n templateUrl: \"./user-module-access.component.html\",\r\n styleUrls: [\"./user-module-access.component.scss\"],\r\n standalone: false\r\n})\r\nexport class UserModuleAccessComponent implements OnInit, OnDestroy {\r\n\r\n\troute = inject(ActivatedRoute);\r\n\trouter = inject(Router);\r\n\tms = inject(SystemMessageService);\r\n\thttpClient = inject(HttpClient);\r\n\tsecurity = inject(SecurityService);\r\n\tmodalService = inject(NgbModal);\r\n\teditUserService = inject(EditUserService);\r\n\ttoastr = inject(ToastrService);\r\n\t\r\n\tisSysAdmin = false;\r\n\tallModulesAssigned: boolean;\r\n\tbusinessAreaEnum = BusinessAreaEnum;\r\n\r\n\tformGroup = UserModulesVm.Form;\r\n\tuserId: number;\r\n\t\r\n\trouteSubscription: Subscription;\r\n\r\n\tconstructor(\r\n title: Title\r\n , private gvs: GlobalVariablesService\r\n ) { title.setTitle(\"User Module Access\"); }\r\n\r\n\tngOnInit() {\r\n\t\tthis.isSysAdmin = this.security.hasModuleAccess(\r\n\t\t\t[ BusinessAreaEnum.Admin ]\r\n\t\t\t, SecurityService.setMinRole(PermissionRole.SystemAdmin)\r\n\t\t);\r\n\r\n\t\t// If navigating from 1 user edit to another, make sure to update signals\r\n\t\tthis.routeSubscription = this.route.paramMap.subscribe(\r\n\t\t\t() => {\r\n\t\t\t\tthis.userId = parseInt(this.route.snapshot.params[\"id\"]);\r\n\t\t\t\tthis.getModuleAccess();\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy = () => this.routeSubscription.unsubscribe();\r\n\r\n\tgetModuleAccess = () => {\r\n\t\tthis.editUserService.getModuleAccesses(this.userId).pipe(\r\n\t\t\tdebounceTime(300) // Debounce to avoid frequent updates\r\n\t\t).subscribe(\r\n\t\t\t(r: UserModulesVm) => {\r\n\t\t\t\tthis.editUserService.moduleAccessesSignal.set(r);\r\n this.gvs.userName.set(r.userName);\r\n\t\t\t\tthis.updateForm();\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tcanEditModuleAccess = (module: BusinessAreaEnum, role: PermissionRole) =>\r\n\t\tthis.security.hasModuleAccess(\r\n\t\t\t[ BusinessAreaEnum.Admin ]\r\n\t\t\t, [ PermissionRole.SystemAdmin ]\r\n\t\t) \r\n\t\t|| (\r\n\t\t\tthis.security.hasModuleAccess(\r\n\t\t\t\t[ module ]\r\n\t\t\t\t, [\r\n\t\t\t\t\tPermissionRole.UserAdmin\r\n\t\t\t\t\t, ...SecurityService.setMinRole(PermissionRole.Manager)\r\n\t\t\t\t]\r\n\t\t\t) \r\n\t\t\t&& this.security.hasModuleAccess(\r\n\t\t\t\t[ module ]\r\n\t\t\t\t, SecurityService.setMinRole(role)\r\n\t\t\t)\r\n\t\t);\r\n\r\n\tupdateForm() {\r\n\t\tthis.formGroup.patchValue(this.editUserService.moduleAccessesSignal());\r\n\t\tthis.getAvailableModules();\r\n\r\n\t\t// Update security and navigation when changing module access for self.\r\n\t\tif (this.userId === this.security.getUser().id) {\r\n\t\t\tvar user = this.security.getUser();\r\n\t\t\tuser.moduleAccess = this.editUserService.moduleAccessesSignal().moduleAccess;\r\n\t\t\tthis.security.setSecurity(undefined, user);\r\n\t\t}\r\n\t}\r\n\r\n\topenRoleInfoModal(module: BusinessAreaEnum) {\r\n\t\tconst modalRef = this.modalService.open(UserRoleInfoModalComponent, { size: \"xl\" });\r\n\t\tmodalRef.componentInstance.module = module;\r\n\t}\r\n\r\n\t// Populate all modules that implement module access security.\r\n\tgetAvailableModules() {\r\n\t\tconst availableModulesToAdd = availableModules.filter((value) => \r\n\t\t\t!this.editUserService.moduleAccessesSignal().moduleAccess.find((m) => m.module == value)\r\n\t\t);\r\n\t\r\n\t\tavailableModulesToAdd.forEach((key) => this.addModuleAccess(key));\r\n\t\r\n\t\t// Sort alphabetically\r\n\t\tconst updatedModuleAccesses = this.editUserService.moduleAccessesSignal().moduleAccess.sort((a, b) => {\r\n\t\t\treturn a.displayName.toUpperCase() < b.displayName.toUpperCase()\r\n\t\t\t\t? -1\r\n\t\t\t\t: a.displayName.toUpperCase() > b.displayName.toUpperCase()\r\n\t\t\t\t\t? 1\r\n\t\t\t\t\t: 0;\r\n\t\t});\r\n\t\r\n\t\tthis.editUserService.moduleAccessesSignal.update((current) => ({\r\n\t\t\t...current,\r\n\t\t\tmoduleAccess: updatedModuleAccesses\r\n\t\t}));\r\n\t\r\n\t\tthis.formGroup.patchValue(this.editUserService.moduleAccessesSignal());\r\n\t}\r\n\t\r\n\taddModuleAccess(module) {\r\n\t\tif (this.isSysAdmin) {\r\n\t\t\tthis.editUserService.moduleAccessesSignal.update((current) => ({\r\n\t\t\t\t...current,\r\n\t\t\t\tmoduleAccess: [\r\n\t\t\t\t\tObject.assign(new ModuleAccessVm(), {\r\n\t\t\t\t\t\tmoduleAccessId: 0,\r\n\t\t\t\t\t\tuserId: current.userId,\r\n\t\t\t\t\t\tmodule: Number(module),\r\n\t\t\t\t\t\tpermissionRole: PermissionRole.NoAccess,\r\n\t\t\t\t\t\tdisplayName: this.getDisplayName(Number(module))\r\n\t\t\t\t\t}),\r\n\t\t\t\t\t...current.moduleAccess\r\n\t\t\t\t]\r\n\t\t\t}));\r\n\t\t}\r\n\t}\r\n\r\n\tgetDisplayName(businessArea: BusinessAreaEnum) { return this.businessAreaEnum.toDisplay(businessArea); }\r\n\r\n\tupdateModuleAccess = () =>\r\n\t\tthis.editUserService.setModuleAccesses(this.formGroup).subscribe(\r\n\t\t\t(r: SystemMessage) => {\r\n\t\t\t\tif (!r.isSuccessful) {\r\n\t\t\t\t\tthis.toastr.error(r.message, null, { positionClass: 'toast-top-right', timeOut: 2000});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.toastr.success(r.message, null, { positionClass: 'toast-top-right', timeOut: 2000});\r\n\t\t\t\t\tthis.editUserService.moduleAccessesSignal.set(r.model);\r\n\t\t\t\t}\t\r\n\t\t\t\tthis.updateForm();\t\t\t\r\n\t\t\t}\r\n\t\t);\r\n\r\n\tcreateTicket() {\r\n this.httpClient.get(`api/HelpDesk/HelpDeskTicket/CreateTicket?isSysAdmin=${this.isSysAdmin}`)\r\n .subscribe((msg: SystemMessage) => {\r\n if (msg.isSuccessful) { this.router.navigateByUrl(`/support/tickets/edit/${msg.value}?request=moduleAccess`); } \r\n else { this.ms.setSystemMessage(msg.message, 'error'); }\r\n }\r\n\t\t);\r\n }\r\n}\r\n","
\r\n
\r\n

This page details a user's access to the HOMER system by module and role.

\r\n\r\n
\r\n

\r\n \r\n \r\n Tip: To view a breakdown of module access by role, select the button containing the modules name. \r\n To remove access to a module for a user, select \"No Access\" from the dropdown.\r\n \r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n @for (module of editUserService.moduleAccessesSignal().moduleAccess; track module.moduleAccessId) {\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n @if (module.updatedByUser != null) {\r\n
\r\n

\r\n Last changed on \r\n \r\n {{ module.updateByDate | date }}\r\n \r\n by {{ module.updatedByUser }}\r\n

\r\n
\r\n }\r\n
\r\n }\r\n
","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class CredentialListVm {\r\n\tcredentialId?: any;\r\n\tdisplayName?: string;\r\n\tdateGenerated: Date;\r\n\tdateGeneratedFormatted?: string;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'credentialId': new UntypedFormControl([], [...(validators['credentialId'] ?? []), ...[]]),\r\n\t\t\t'displayName': new UntypedFormControl(null, [...(validators['displayName'] ?? []), ...[]]),\r\n\t\t\t'dateGenerated': new UntypedFormControl('', [...(validators['dateGenerated'] ?? []), ...[Validators.required]]),\r\n\t\t\t'dateGeneratedFormatted': new UntypedFormControl(null, [...(validators['dateGeneratedFormatted'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic get ColumnDefs(): Map {\r\n\t\treturn new Map([\r\n\t\t\t['displayName', {\"orderId\":0,\"sortColumn\":\"displayName\",\"searchColumn\":\"displayName\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Display Name\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['dateGenerated', {\"orderId\":1,\"sortColumn\":\"dateGenerated\",\"searchColumn\":\"dateGeneratedFormatted\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Date Generated\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['delete', {\"orderId\":2,\"sortColumn\":\"delete\",\"searchColumn\":\"delete\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Delete\",\"isVisible\":true,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}]\r\n\t\t]);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): CredentialListVmFromFg {\r\n\t\treturn new CredentialListVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class CredentialListVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget credentialId(): any {\r\n\t\treturn this.fg.get('credentialId').value;\r\n\t}\r\n\tset credentialId(val) {\r\n\t\tthis.fg.get('credentialId').setValue(val);\r\n\t}\r\n\r\n\tget displayName(): string {\r\n\t\treturn this.fg.get('displayName').value;\r\n\t}\r\n\tset displayName(val) {\r\n\t\tthis.fg.get('displayName').setValue(val);\r\n\t}\r\n\r\n\tget dateGenerated(): Date {\r\n\t\treturn this.fg.get('dateGenerated').value;\r\n\t}\r\n\tset dateGenerated(val) {\r\n\t\tthis.fg.get('dateGenerated').setValue(val);\r\n\t}\r\n\r\n\tget dateGeneratedFormatted(): string {\r\n\t\treturn this.fg.get('dateGeneratedFormatted').value;\r\n\t}\r\n\tset dateGeneratedFormatted(val) {\r\n\t\tthis.fg.get('dateGeneratedFormatted').setValue(val);\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { ChangeDetectorRef, Component, OnInit, signal, TemplateRef, ViewChild } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { faCheck, faGrid } from '@fortawesome/pro-solid-svg-icons';\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { UiSwitchComponent } from \"ngx-ui-switch\";\r\n\r\nimport { BusinessAreaEnum } from \"app/core/enums/generated/BusinessAreaEnum\";\r\nimport { PermissionRole } from \"app/core/enums/generated/PermissionRole\";\r\nimport { SecurityService } from \"app/core/security/security.service\";\r\nimport { SystemMessage, SystemMessageService } from \"app/core/system-message/system-message-service\";\r\nimport { CredentialListVm } from \"app/shared/generated/Administration/Models/Security/CredentialListVm\";\r\nimport { EditUserVm } from \"app/shared/generated/Administration/Models/Users/EditUserVm\";\r\nimport { param } from \"app/shared/http-params\";\r\nimport { TableComponent } from \"app/shared/table/table.component\";\r\nimport { RegisterAuthDeviceModalComponent } from \"../register-auth-device-modal/register-auth-device-modal.component\";\r\nimport { UserChangePasswordModalComponent } from \"../user-change-password-modal/user-change-password-modal.component\";\r\nimport { UserJsVm } from 'app/shared/generated/Administration/Models/Users/UserJsVm';\r\nimport { LoginTypeEnum } from 'app/core/enums/generated/LoginTypeEnum';\r\nimport { PcgSelectComponent } from 'app/shared/form-elements/components/pcg-select-component/select.component';\r\nimport { RegisterPinModalComponent } from '../register-pin-modal/register-pin-modal.component';\r\nimport { GlobalVariablesService } from 'app/services/global-variables.service';\r\n\r\n@Component({\r\n selector: \"pcg-user-multi-factor-authentication\",\r\n templateUrl: \"./user-multi-factor-authentication.component.html\",\r\n styleUrls: [\"./user-multi-factor-authentication.component.scss\"],\r\n standalone: false\r\n})\r\nexport class UserMultiFactorAuthenticationComponent implements OnInit {\r\n\r\n\t@ViewChild(TableComponent, { static: true }) credentialTable: TableComponent;\r\n\t@ViewChild(\"pinModal\", { static: true }) pinModal: TemplateRef;\r\n\t@ViewChild(\"inactivityTimeout\", { static: false }) inactivityTimeout: UiSwitchComponent;\r\n\t@ViewChild(\"isInternalBphpUser\", { static: false }) isInternalBphpUser: UiSwitchComponent;\r\n\t@ViewChild('orgs', { static: false }) selectOrgs: PcgSelectComponent;\r\n\r\n\tid = 0;\r\n\tpin: string;\r\n\tformGroup = EditUserVm.Form;\r\n editUserVm = EditUserVm.GetModel(this.formGroup)\r\n\tisCurrentUser: boolean = false;\r\n\tcanManageUsers: boolean = false;\r\n\tcanResetPassword: boolean = false;\r\n\tinactivityTimeoutFg: boolean = false;\r\n\tisInternalBphpUserFg: boolean = false;\r\n\torgLoginType = signal(0)\r\n\r\n\tcredColumns = CredentialListVm.ColumnDefs;\r\n\tuser: UserJsVm;\r\n\r\n\thasMFADevice = false;\r\n\torigInactivityTimeout = false;\r\n\tisSysAdmin = false;\r\n\tcanAccessOtherUsersFingerprints = false;\r\n needToChangePin = false;\r\n isLoaded = false;\r\n loginTypeEnum = LoginTypeEnum\r\n isOnPrem = true;\r\n\r\n\tfaIconName = { faGrid, faCheck };\r\n\r\n\tconstructor(\r\n\t\tpublic modalService: NgbModal\r\n , public router: Router\r\n\t\t, private ms: SystemMessageService\r\n\t\t, private sec: SecurityService\r\n\t\t, private httpClient: HttpClient\t\t\r\n , private route: ActivatedRoute\r\n , private gvs: GlobalVariablesService\r\n , private cdRef: ChangeDetectorRef\r\n\t) { }\r\n\r\n\tngOnInit() {\r\n this.id = Number(this.route.snapshot.params.id);\r\n this.getUserData();\r\n\t\tthis.isSysAdmin = this.sec.hasModuleAccess(\r\n\t\t\t[ BusinessAreaEnum.Admin ]\r\n\t\t\t, [ PermissionRole.SystemAdmin ]\r\n\t\t);\r\n\t\tsetTimeout(() => {\r\n\t\t\t// used to put check next to label if they have a device registered\r\n\t\t\tif (this.credentialTable?.data?.length >= 1) { this.hasMFADevice = true; }\t\r\n\t\t}, 100);\r\n\r\n\t\tthis.origInactivityTimeout = this.inactivityTimeoutFg;\r\n\t\tthis.user = this.sec.getUser();\r\n\t\tthis.canAccessOtherUsersFingerprints = this.user.email.includes(\"@paulconsulting.com\");\r\n\r\n this.route.queryParams.subscribe((params) => {\t\r\n\t\t\tif (params?.r === \"1\") { this.needToChangePin = true; }\r\n\t\t\telse { this.needToChangePin = false; }\r\n\t\t});\r\n\r\n if (this.needToChangePin) { \r\n\t\t\tconst modalRef = this.modalService.open(\r\n RegisterPinModalComponent\r\n , { beforeDismiss: () => { return modalRef.componentInstance.allowDismiss; } }\r\n );\r\n modalRef.componentInstance.needToChangePin = true;\r\n modalRef.componentInstance.id = this.id;\r\n\t\t}\r\n\t}\r\n\r\n getUserData() {\r\n this.canManageUsers = this.sec.hasModuleAccess(\r\n\t\t\t[ BusinessAreaEnum.Admin ]\r\n\t\t\t, SecurityService.setMinRole(PermissionRole.Pharmacist)\r\n\t\t);\r\n this.canResetPassword = this.sec.hasModuleAccess(\r\n\t\t\t[ BusinessAreaEnum.Admin ]\r\n\t\t\t, [ PermissionRole.Pharmacist ]\r\n\t\t) \r\n this.isCurrentUser = this.id === this.sec.getUser()?.id;\r\n this.httpClient.get(`api/Administration/Users/GetUser/${this.id}`)\r\n .subscribe((vm: EditUserVm) => {\r\n this.formGroup.patchValue(vm);\r\n this.pin = vm.userPin ?? \"\";\r\n this.isOnPrem = vm.m2SysType == 1 ? false : true;\r\n this.inactivityTimeoutFg = vm.inactivityTimeout;\r\n this.isInternalBphpUserFg = vm.isInternalBphpUser;\r\n this.orgLoginType.set(vm.orgLoginType);\r\n this.gvs.userName.set(vm.firstName + \" \" + vm.lastName);\r\n this.isLoaded = true;\r\n }\r\n );\r\n }\r\n\r\n\tsaveUsername() {\r\n\t\tthis.httpClient.post(`api/Administration/Users/SaveUsername/?id=${this.id}&username=${this.formGroup.controls.userName.value}`, {})\r\n\t\t\t.subscribe((sm: SystemMessage) => {\r\n\t\t\t\tif (sm.isSuccessful) {\r\n\t\t\t\t\tthis.ms.setSystemMessage(sm.message);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tthis.ms.setSystemMessage(sm.message, 'error');\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveMainOrg() {\r\n\t\tthis.httpClient.post(`api/Administration/Users/SaveMainOrganization/?id=${this.id}&orgId=${this.formGroup.controls.organizationId.value}`, {})\r\n\t\t\t.subscribe((sm: SystemMessage) => {\r\n\t\t\t\tif (sm.isSuccessful) {\r\n\t\t\t\t\tthis.ms.setSystemMessage(sm.message);\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tthis.selectOrgs?.value === null\r\n\t\t\t\t\t\t|| this.selectOrgs?.value === undefined\r\n\t\t\t\t\t\t|| this.selectOrgs?.value === 0\r\n\t\t\t\t\t) { this.orgLoginType.set(LoginTypeEnum.Traditional); } \r\n else {\r\n\t\t\t\t\t\tif (this.selectOrgs?.additionalData?.loginType === LoginTypeEnum.SSO) { this.orgLoginType.set(LoginTypeEnum.SSO); } \r\n else { this.orgLoginType.set(LoginTypeEnum.Traditional); }\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tthis.ms.setSystemMessage(sm.message, 'error');\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n saveM2SysType() {\r\n\t\tthis.httpClient.post(`api/Administration/Users/SaveM2SysType/?id=${this.id}&m2SysType=${this.formGroup.controls.m2SysType.value}`, {})\r\n\t\t\t.subscribe((sm: SystemMessage) => {\r\n\t\t\t\tif (sm.isSuccessful) {\r\n this.isOnPrem = this.formGroup.controls.m2SysType.value == 1 ? false : true;\r\n this.user.isOnPrem = this.formGroup.controls.m2SysType.value == 1 ? false : true;\r\n this.cdRef.detectChanges();\r\n\t\t\t\t\tthis.ms.setSystemMessage(sm.message);\r\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\r\n this.router.navigate([`/admin/users/user/edit/security/${this.id}`]);\r\n });\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tthis.ms.setSystemMessage(sm.message, 'error');\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsetBPHPuser() {\r\n\t\tthis.isInternalBphpUserFg = !this.isInternalBphpUserFg;\r\n\t\tthis.httpClient.post(`api/Administration/Users/SaveBphpUser/?id=${this.id}&isBphpUser=${this.isInternalBphpUserFg}`, {})\r\n\t\t\t.subscribe((sm: SystemMessage) => {\r\n\t\t\t\tif (sm.isSuccessful) {\r\n\t\t\t\t\tthis.ms.setSystemMessage(sm.message);\r\n\t\t\t\t\tvar user = this.sec.getUser();\r\n\t\t\t\t\tif (this.id === user.id) { \r\n\t\t\t\t\t\tuser.isInternalBphpUser = this.isInternalBphpUserFg;\r\n\t\t\t\t\t\tthis.sec.setSecurity(undefined, user);\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tthis.ms.setSystemMessage(sm.message, 'error');\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsetInactivityTimeout() {\r\n\t\tthis.inactivityTimeoutFg = !this.inactivityTimeoutFg;\r\n\t\tthis.httpClient.post(`api/Administration/Users/SaveInactivityTimeout/?id=${this.id}&inactivityTimeout=${this.inactivityTimeoutFg}`, {})\r\n\t\t\t.subscribe((sm: SystemMessage) => {\r\n\t\t\t\tif (sm.isSuccessful) {\r\n\t\t\t\t\tthis.ms.setSystemMessage(sm.message);\r\n\t\t\t\t\tvar user = this.sec.getUser();\r\n\t\t\t\t\tif (this.id === user.id) { \r\n\t\t\t\t\t\tuser.inactivityTimeout = this.inactivityTimeoutFg;\r\n\t\t\t\t\t\tthis.sec.setSecurity(undefined, user);\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tthis.ms.setSystemMessage(sm.message, 'error');\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\topenChangePasswordModal() { this.modalService.open(UserChangePasswordModalComponent, { animation: false }); }\r\n\r\n\t/** Called on click of the reset password and welcome email buttons */\r\n\tresetPassword(isWelcomeEmail: boolean) {\r\n\t\tthis.httpClient.post(\r\n\t\t\t\"api/Account/ForgotPassword\"\r\n\t\t\t, {\r\n\t\t\t\temail: this.formGroup.value.email\r\n\t\t\t\t, isWelcomeEmail\r\n\t\t\t}\r\n\t\t).subscribe((sm: SystemMessage) => {\r\n\t\t\tif (sm.isSuccessful) {\r\n\t\t\t\tthis.ms.setSystemMessage(\r\n\t\t\t\t\t`An email has been sent to the user with a ${isWelcomeEmail ? \"welcome\" : \"reset password\"} link.`\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tthis.ms.setSystemMessage(\r\n\t\t\t\t\t\"An error occurred when attempting to send the email.\",\r\n\t\t\t\t\t\"error\"\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t/** Open the modal to add a new multi-factor auth device */\r\n\topenMultiFactorDeviceModal() {\r\n\t\tconst modal = this.modalService.open(\r\n\t\t\tRegisterAuthDeviceModalComponent\r\n\t\t\t, {\r\n\t\t\t\tanimation: false\r\n\t\t\t\t, beforeDismiss: () => {\r\n\t\t\t\t\tthis.credentialTable.ajaxReload();\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t);\r\n\t\t(modal.componentInstance).id = this.id;\r\n\t}\r\n\r\n\t/** Prompt user for password before continuing delete */\r\n\tdeleteRecord(idParams: any) {\r\n\t\tthis.sec.promptPassword(\r\n\t\t\t(password) => {\r\n\t\t\t\tthis.ms.getHttpObservable(\r\n\t\t\t\t\tthis\r\n\t\t\t\t\t, `api/Administration/Users/DeleteCredential?${param(idParams)}` + `&password=${encodeURIComponent(password)}`\r\n\t\t\t\t).subscribe(() => { this.credentialTable.ajaxReload(); });\r\n\t\t\t}\r\n\t\t\t, \"Are you sure you want to delete this credential? If so, verify your password below.\"\r\n\t\t\t, \"Verify Password\"\r\n\t\t\t, true\r\n\t\t);\r\n\t}\r\n\r\n\t/* PIN functions */\r\n\topenPINModal() { this.modalService.open(this.pinModal); }\r\n\tsetPin(pin: string) { this.pin = pin; }\r\n\tdismissPinModal() { this.modalService.dismissAll(); }\r\n}\r\n","
\r\n\t\r\n\t\r\n\t\t\r\n\t\r\n\r\n\t
\r\n\t\t@if (\r\n\t\t\tisCurrentUser\r\n\t\t\t&& this.orgLoginType() != loginTypeEnum.SSO\r\n\t\t) {\r\n\t\t\t\r\n\t\t} @else if (\r\n\t\t\t!isCurrentUser \r\n\t\t\t&& canResetPassword\r\n\t\t\t&& this.orgLoginType() != loginTypeEnum.SSO\r\n\t\t) {\r\n\t\t\t\r\n\t\t}\t\t\r\n\t
\r\n\t\r\n\t\r\n\t\t@if (isSysAdmin) {\r\n\t\t\t\r\n\t\t} @else { {{ isInternalBphpUserFg }} }\r\n\t\r\n\r\n\t\r\n\t\t@if (isSysAdmin) {\r\n\t\t\t\r\n\t\t} @else { {{ inactivityTimeoutFg }} }\r\n\t\r\n
\r\n\r\n

\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n @if (\r\n (\r\n isCurrentUser \r\n || canAccessOtherUsersFingerprints\r\n )\r\n && isLoaded\r\n ) {\r\n
\r\n \r\n
\r\n }\r\n\r\n \r\n @if (\r\n isCurrentUser \r\n || canManageUsers\r\n ) {\r\n
\r\n \r\n \r\n \r\n {{ pin === '' ? 'Add' : 'Change' }} PIN\r\n \r\n
\r\n }\r\n
\r\n\r\n

\r\n\r\n
\r\n\t\r\n\t\t@if (isSysAdmin) {\r\n\t\t\t\r\n\t\t} @else { {{ editUserVm.organizationName }} }\r\n\t\r\n
\r\n\r\n

\r\n\r\n\r\n\r\n\r\nPhysical authentication devices which are U2F/FIDO compatible can be added here.\r\n\r\n\r\n\r\n\r\n\r\n\t\r\n\t\tDisplay Name\r\n\t\t{{ row.displayName }}\r\n\t\r\n\r\n\t\r\n\t\tDate Generated\r\n\t\t{{ row.dateGeneratedFormatted }}\r\n\t\r\n\r\n\t\r\n\t\tDelete\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n\r\n\r\n\t\r\n","// tslint:disable: quotemark\r\nexport enum SubscriptionEnum {\r\n\tRxDeleted = 0,\r\n\tStatusChange = 1,\r\n\tFirstOverdueFulfillment = 2,\r\n\tSecondOverdueFulfillment = 3,\r\n\tIncompleteReconciliations = 4,\r\n\tReorderLowInventory = 5,\r\n\tOverrideReorderSettings = 6,\r\n\tChangeNotifications = 7,\r\n\tPendingAgencyEmails = 8,\r\n\tMetabolicFormulaSubmitted = 9,\r\n\tMetabolicFormulaComments = 10,\r\n\tNewCardinalInvoices = 11,\r\n\tNewOrderRequestsAvailable = 12,\r\n\tNewOrderComments = 13,\r\n\tOrderNotSubmitted = 14,\r\n\tBatchControlRecords = 15,\r\n\tNewRepackInvoices = 16,\r\n\tEndOfWeekMetrics = 17,\r\n\tOrganizationAccountRequest = 18,\r\n\tOrganizationAccountExpiration = 19,\r\n\tUsersEmailIsBounced = 20,\r\n\tNewErrorReportSubmitted = 21,\r\n\tNewFiscalYearCreated = 22,\r\n\tNewBudgetsCreated = 23,\r\n\tBaAdmin = 24,\r\n\tTicketUpdated = 25,\r\n\tTicketCreated = 26,\r\n\tTicketAssigned = 27,\r\n\tTicketStatusChange = 28,\r\n\tTicketConversations = 29,\r\n\tNewSurveyAvailable = 30,\r\n\tSurveyCompletionReminder = 31,\r\n\tOverdueSurveyReminder = 32,\r\n\tScheduleSiteVisitReminder = 33,\r\n\tPostSiteVisitReminder = 34,\r\n\tCorrectiveActionPlanSent = 35,\r\n\tCorrectiveActionPlanResponseSubmitted = 36,\r\n\tReleaseNotes = 37,\r\n\tSysInvOrderSubmitted = 38,\r\n\tFulfillmentAssigned = 39,\r\n\tRxShipmentComment = 40,\r\n\tAgencyComments = 41,\r\n\tInventoryChangeComments = 42,\r\n\tCustomReport = 43,\r\n\tNewReconciliation = 44,\r\n\tSysInvOrderComments = 45\r\n}\r\n\r\nexport namespace SubscriptionEnum {\r\n\texport function toDescription(val: SubscriptionEnum) {\r\n\t\tswitch (val) {\r\n\t\t\tcase 0:\r\n\t\t\t\treturn \"Receive notifications whenever an Rx has been removed from a fulfillment you created.\";\r\n\t\t\tcase 1:\r\n\t\t\t\treturn \"Receive notifications whenever a fulfillment's status has changed.\";\r\n\t\t\tcase 2:\r\n\t\t\t\treturn \"Receive daily notifications regarding Rx Fulfillments that have surpassed the first hourly time limit. For example, if a fulfillment has been created and has not been completed within the first overdue time limit.\";\r\n\t\t\tcase 3:\r\n\t\t\t\treturn \"Receive daily notifications regarding Rx Fulfillments that have surpassed the second hourly time limit. For example, if a fulfillment has been created and has not been completed within the second overdue time limit.\";\r\n\t\t\tcase 4:\r\n\t\t\t\treturn \"Receive daily notifications with reconciliations in a cycle count that are incomplete and behind schedule.\";\r\n\t\t\tcase 5:\r\n\t\t\t\treturn \"Receive daily notifications regarding inventory products that are low in stock and are in need of reordering.\";\r\n\t\t\tcase 6:\r\n\t\t\t\treturn \"Receive notifications when an inventory product's reorder settings have been overridden.\";\r\n\t\t\tcase 7:\r\n\t\t\t\treturn \"Receive notifications when a +/- 10% change in inventory is completed via the Update Inventory modal.\";\r\n\t\t\tcase 8:\r\n\t\t\t\treturn \"Receive notifications on weekdays at 6am with a list of all HEROS Agencies that are pending initial approval.\";\r\n\t\t\tcase 9:\r\n\t\t\t\treturn \"Receive daily notifications when a Metabolic Formula form has been submitted.\";\r\n\t\t\tcase 10:\r\n\t\t\t\treturn \"Receive notifications when a Metabolic Formula comment has been added to an order.\";\r\n\t\t\tcase 11:\r\n\t\t\t\treturn \"Receive daily notifications when new Cardinal Invoices are available to create orders.\";\r\n\t\t\tcase 12:\r\n\t\t\t\treturn \"Receive notifications when new CI Order Requests are available.\";\r\n\t\t\tcase 13:\r\n\t\t\t\treturn \"Receive notifications when a CI Repack comment has been added to an order.\";\r\n\t\t\tcase 14:\r\n\t\t\t\treturn \"Receive notifications at 9am, 12pm, and 3pm, regarding any CI Orders that are still in the Pending status that have yet to be completed.\";\r\n\t\t\tcase 15:\r\n\t\t\t\treturn \"Receive notifications when CI Batch Control Records are available or have been updated and are ready to review.\";\r\n\t\t\tcase 16:\r\n\t\t\t\treturn \"Receive notifications when new CI Repack Invoices have been created.\";\r\n\t\t\tcase 17:\r\n\t\t\t\treturn \"Receive notifications every Friday morning showing CI metrics of orders/jobs regarding the progress of that order/job.\";\r\n\t\t\tcase 18:\r\n\t\t\t\treturn \"Receive notifications when changes to Organization Accounts are requested and are ready to review.\";\r\n\t\t\tcase 19:\r\n\t\t\t\treturn \"Receive notifications when an Organization Account is within 90 days of expiration and an update request needs to be submitted. The corresponding Master Account must have 'Expiration Notifications' turned on for these notifications to be sent for a specified account type.\";\r\n\t\t\tcase 20:\r\n\t\t\t\treturn \"Receive a notification when a user's email is detected on a bounce list. If a user is on a bounce list, it can be reverted on his or her profile. An email appears on a bounce list if it is rejected by a mail server and does not reach its destination.\";\r\n\t\t\tcase 21:\r\n\t\t\t\treturn \"Receive a notification when a user submits an error report that needs to be reviewed.\";\r\n\t\t\tcase 22:\r\n\t\t\t\treturn \"Receive notifications when a new Budget and Allocations Fiscal year is created.\";\r\n\t\t\tcase 23:\r\n\t\t\t\treturn \"Receive notifications when new Budgets have been created.\";\r\n\t\t\tcase 24:\r\n\t\t\t\treturn \"B&A Notifications in Development.\";\r\n\t\t\tcase 25:\r\n\t\t\t\treturn \"Receive notifications when Support Desk Ticket fields are updated.\";\r\n\t\t\tcase 26:\r\n\t\t\t\treturn \"Receive notifications when a new Support Desk Ticket is created.\";\r\n\t\t\tcase 27:\r\n\t\t\t\treturn \"Receive notifications when a new Support Desk Ticket is assigned to you.\";\r\n\t\t\tcase 28:\r\n\t\t\t\treturn \"Receive notifications when a Support Desk Ticket's status is changed.\";\r\n\t\t\tcase 29:\r\n\t\t\t\treturn \"Receive notifications when a new comment is added to a Support Desk Ticket you created or are assigned to.\";\r\n\t\t\tcase 30:\r\n\t\t\t\treturn \"Receive notifications when a new ICQ survey is published.\";\r\n\t\t\tcase 31:\r\n\t\t\t\treturn \"Receive notifications that there is a survey that needs completion.\";\r\n\t\t\tcase 32:\r\n\t\t\t\treturn \"Receive notifications when a survey is overdue.\";\r\n\t\t\tcase 33:\r\n\t\t\t\treturn \"Receive notifications to schedule a site visit.\";\r\n\t\t\tcase 34:\r\n\t\t\t\treturn \"Receive notifications to schedule a post site visit.\";\r\n\t\t\tcase 35:\r\n\t\t\t\treturn \"Receive notifications when a Corrective Action Plan has been created for a facility.\";\r\n\t\t\tcase 36:\r\n\t\t\t\treturn \"Receive notifications when a facility user submits their response to a Corrective Action Plan.\";\r\n\t\t\tcase 37:\r\n\t\t\t\treturn \"Receive notifications with release notes of new production installs.\";\r\n\t\t\tcase 38:\r\n\t\t\t\treturn \"Receive notifications when a form order is submitted.\";\r\n\t\t\tcase 39:\r\n\t\t\t\treturn \"Receive notifications when a new Fulfillment Event is assigned to an associated Fulfillment Group.\";\r\n\t\t\tcase 40:\r\n\t\t\t\treturn \"Receive notifications when a new comment has been added to a fulfillment.\";\r\n\t\t\tcase 41:\r\n\t\t\t\treturn \"Receive notifications when a new comment has been added to an agency.\";\r\n\t\t\tcase 42:\r\n\t\t\t\treturn \"Receive notifications when a new comment has been added to an inventory change.\";\r\n\t\t\tcase 43:\r\n\t\t\t\treturn \"Custom Report\";\r\n\t\t\tcase 44:\r\n\t\t\t\treturn \"Receive notifications when a new reconciliation has been created for an associated Inventory.\";\r\n\t\t\tcase 45:\r\n\t\t\t\treturn \"Receive notifications when a new comment has been added to an order.\";\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\texport function toDisplay(val: SubscriptionEnum) {\r\n\t\tswitch (val) {\r\n\t\t\tcase 0:\r\n\t\t\t\treturn \"Rx Deleted\";\r\n\t\t\tcase 1:\r\n\t\t\t\treturn \"Status Change\";\r\n\t\t\tcase 2:\r\n\t\t\t\treturn \"First Overdue Fulfillment\";\r\n\t\t\tcase 3:\r\n\t\t\t\treturn \"Second Overdue Fulfillment\";\r\n\t\t\tcase 4:\r\n\t\t\t\treturn \"Incomplete Reconciliations\";\r\n\t\t\tcase 5:\r\n\t\t\t\treturn \"Reorder Low Inventory\";\r\n\t\t\tcase 6:\r\n\t\t\t\treturn \"Override Reorder Settings\";\r\n\t\t\tcase 7:\r\n\t\t\t\treturn \"Change Notifications\";\r\n\t\t\tcase 8:\r\n\t\t\t\treturn \"Pending Agency Emails\";\r\n\t\t\tcase 9:\r\n\t\t\t\treturn \"Metabolic Formula Submitted\";\r\n\t\t\tcase 10:\r\n\t\t\t\treturn \"Metabolic Formula Comments\";\r\n\t\t\tcase 11:\r\n\t\t\t\treturn \"New Cardinal Invoices\";\r\n\t\t\tcase 12:\r\n\t\t\t\treturn \"New Order Requests Available\";\r\n\t\t\tcase 13:\r\n\t\t\t\treturn \"New Order Comments\";\r\n\t\t\tcase 14:\r\n\t\t\t\treturn \"Order Not Submitted\";\r\n\t\t\tcase 15:\r\n\t\t\t\treturn \"Batch Control Records\";\r\n\t\t\tcase 16:\r\n\t\t\t\treturn \"New Repack Invoices\";\r\n\t\t\tcase 17:\r\n\t\t\t\treturn \"End of Week Metrics\";\r\n\t\t\tcase 18:\r\n\t\t\t\treturn \"Organization Account Request\";\r\n\t\t\tcase 19:\r\n\t\t\t\treturn \"Organization Account Expiration\";\r\n\t\t\tcase 20:\r\n\t\t\t\treturn \"User's Email is Bounced\";\r\n\t\t\tcase 21:\r\n\t\t\t\treturn \"New Error Report Submitted\";\r\n\t\t\tcase 22:\r\n\t\t\t\treturn \"B&A New Fiscal Year Created\";\r\n\t\t\tcase 23:\r\n\t\t\t\treturn \"B&A New Budgets Created\";\r\n\t\t\tcase 24:\r\n\t\t\t\treturn \"B&A Admin\";\r\n\t\t\tcase 25:\r\n\t\t\t\treturn \"Ticket Updated\";\r\n\t\t\tcase 26:\r\n\t\t\t\treturn \"Ticket Created\";\r\n\t\t\tcase 27:\r\n\t\t\t\treturn \"Ticket Assigned\";\r\n\t\t\tcase 28:\r\n\t\t\t\treturn \"Ticket Status Change\";\r\n\t\t\tcase 29:\r\n\t\t\t\treturn \"Ticket Conversations\";\r\n\t\t\tcase 30:\r\n\t\t\t\treturn \"New Survey Available\";\r\n\t\t\tcase 31:\r\n\t\t\t\treturn \"Survey Completion Reminder\";\r\n\t\t\tcase 32:\r\n\t\t\t\treturn \"Overdue Survey Reminder\";\r\n\t\t\tcase 33:\r\n\t\t\t\treturn \"Schedule Site Visit Reminder\";\r\n\t\t\tcase 34:\r\n\t\t\t\treturn \"Post Site Visit Reminder\";\r\n\t\t\tcase 35:\r\n\t\t\t\treturn \"Corrective Action Plan Sent\";\r\n\t\t\tcase 36:\r\n\t\t\t\treturn \"Corrective Action Plan Response Submitted\";\r\n\t\t\tcase 37:\r\n\t\t\t\treturn \"Release Notes\";\r\n\t\t\tcase 38:\r\n\t\t\t\treturn \"Order Submitted\";\r\n\t\t\tcase 39:\r\n\t\t\t\treturn \"Fulfillment Assigned\";\r\n\t\t\tcase 40:\r\n\t\t\t\treturn \"New Fulfillment Comments\";\r\n\t\t\tcase 41:\r\n\t\t\t\treturn \"New Agency Comments\";\r\n\t\t\tcase 42:\r\n\t\t\t\treturn \"New Inventory Change Comments\";\r\n\t\t\tcase 43:\r\n\t\t\t\treturn \"Custom Report\";\r\n\t\t\tcase 44:\r\n\t\t\t\treturn \"New Reconciliation\";\r\n\t\t\tcase 45:\r\n\t\t\t\treturn \"New Order Comments\";\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class UserSubscriptionVm {\r\n\tuserName?: string;\r\n\tuserNotificationId: number;\r\n\tuserId: number;\r\n\treportId: number;\r\n\tbusinessArea?: any;\r\n\tsubscription?: any;\r\n\tsendEmail: boolean;\r\n\tsendPush: boolean;\r\n\tsendBrowser: boolean;\r\n\toptions?: string[];\r\n\tcanSubscribe: boolean;\r\n\tname?: string;\r\n\tdescription?: string;\r\n\tfriendlyId?: string;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'userName': new UntypedFormControl(null, [...(validators['userName'] ?? []), ...[]]),\r\n\t\t\t'userNotificationId': new UntypedFormControl(0, [...(validators['userNotificationId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'userId': new UntypedFormControl(0, [...(validators['userId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'reportId': new UntypedFormControl(0, [...(validators['reportId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'businessArea': new UntypedFormControl('', [...(validators['businessArea'] ?? []), ...[Validators.required]]),\r\n\t\t\t'subscription': new UntypedFormControl('', [...(validators['subscription'] ?? []), ...[Validators.required]]),\r\n\t\t\t'sendEmail': new UntypedFormControl(false, [...(validators['sendEmail'] ?? []), ...[]]),\r\n\t\t\t'sendPush': new UntypedFormControl(false, [...(validators['sendPush'] ?? []), ...[]]),\r\n\t\t\t'sendBrowser': new UntypedFormControl(false, [...(validators['sendBrowser'] ?? []), ...[]]),\r\n\t\t\t'options': new UntypedFormControl([], [...(validators['options'] ?? []), ...[]]),\r\n\t\t\t'canSubscribe': new UntypedFormControl(false, [...(validators['canSubscribe'] ?? []), ...[]]),\r\n\t\t\t'name': new UntypedFormControl(null, [...(validators['name'] ?? []), ...[]]),\r\n\t\t\t'description': new UntypedFormControl(null, [...(validators['description'] ?? []), ...[]]),\r\n\t\t\t'friendlyId': new UntypedFormControl(null, [...(validators['friendlyId'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic get ColumnDefs(): Map {\r\n\t\treturn new Map([\r\n\t\t\t['sendEmail', {\"orderId\":0,\"sortColumn\":\"sendEmail\",\"searchColumn\":\"sendEmail\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Email\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['sendPush', {\"orderId\":1,\"sortColumn\":\"sendPush\",\"searchColumn\":\"sendPush\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Push\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['sendBrowser', {\"orderId\":2,\"sortColumn\":\"sendBrowser\",\"searchColumn\":\"sendBrowser\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"In-App\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}]\r\n\t\t]);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): UserSubscriptionVmFromFg {\r\n\t\treturn new UserSubscriptionVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class UserSubscriptionVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget userName(): string {\r\n\t\treturn this.fg.get('userName').value;\r\n\t}\r\n\tset userName(val) {\r\n\t\tthis.fg.get('userName').setValue(val);\r\n\t}\r\n\r\n\tget userNotificationId(): number {\r\n\t\treturn this.fg.get('userNotificationId').value;\r\n\t}\r\n\tset userNotificationId(val) {\r\n\t\tthis.fg.get('userNotificationId').setValue(val);\r\n\t}\r\n\r\n\tget userId(): number {\r\n\t\treturn this.fg.get('userId').value;\r\n\t}\r\n\tset userId(val) {\r\n\t\tthis.fg.get('userId').setValue(val);\r\n\t}\r\n\r\n\tget reportId(): number {\r\n\t\treturn this.fg.get('reportId').value;\r\n\t}\r\n\tset reportId(val) {\r\n\t\tthis.fg.get('reportId').setValue(val);\r\n\t}\r\n\r\n\tget businessArea(): any {\r\n\t\treturn this.fg.get('businessArea').value;\r\n\t}\r\n\tset businessArea(val) {\r\n\t\tthis.fg.get('businessArea').setValue(val);\r\n\t}\r\n\r\n\tget subscription(): any {\r\n\t\treturn this.fg.get('subscription').value;\r\n\t}\r\n\tset subscription(val) {\r\n\t\tthis.fg.get('subscription').setValue(val);\r\n\t}\r\n\r\n\tget sendEmail(): boolean {\r\n\t\treturn this.fg.get('sendEmail').value;\r\n\t}\r\n\tset sendEmail(val) {\r\n\t\tthis.fg.get('sendEmail').setValue(val);\r\n\t}\r\n\r\n\tget sendPush(): boolean {\r\n\t\treturn this.fg.get('sendPush').value;\r\n\t}\r\n\tset sendPush(val) {\r\n\t\tthis.fg.get('sendPush').setValue(val);\r\n\t}\r\n\r\n\tget sendBrowser(): boolean {\r\n\t\treturn this.fg.get('sendBrowser').value;\r\n\t}\r\n\tset sendBrowser(val) {\r\n\t\tthis.fg.get('sendBrowser').setValue(val);\r\n\t}\r\n\r\n\tget options(): string[] {\r\n\t\treturn this.fg.get('options').value;\r\n\t}\r\n\tset options(val) {\r\n\t\tthis.fg.get('options').setValue(val);\r\n\t}\r\n\r\n\tget canSubscribe(): boolean {\r\n\t\treturn this.fg.get('canSubscribe').value;\r\n\t}\r\n\tset canSubscribe(val) {\r\n\t\tthis.fg.get('canSubscribe').setValue(val);\r\n\t}\r\n\r\n\tget name(): string {\r\n\t\treturn this.fg.get('name').value;\r\n\t}\r\n\tset name(val) {\r\n\t\tthis.fg.get('name').setValue(val);\r\n\t}\r\n\r\n\tget description(): string {\r\n\t\treturn this.fg.get('description').value;\r\n\t}\r\n\tset description(val) {\r\n\t\tthis.fg.get('description').setValue(val);\r\n\t}\r\n\r\n\tget friendlyId(): string {\r\n\t\treturn this.fg.get('friendlyId').value;\r\n\t}\r\n\tset friendlyId(val) {\r\n\t\tthis.fg.get('friendlyId').setValue(val);\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Component, computed, DestroyRef, inject, OnInit, Signal, signal, WritableSignal } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { SwPush } from '@angular/service-worker';\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { BusinessAreaEnum } from 'app/core/enums/generated/BusinessAreaEnum';\r\nimport { SubscriptionEnum } from 'app/core/enums/generated/SubscriptionEnum';\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { SystemMessage } from 'app/core/system-message/system-message-service';\r\nimport { NotificationService } from 'app/notification.service';\r\nimport { GlobalVariablesService } from 'app/services/global-variables.service';\r\nimport { UserSubscriptionVm } from 'app/shared/generated/Administration/Models/Users/UserSubscriptionVm';\r\nimport { FormatHelperService } from 'app/shared/helpers/format-helper.service';\r\nimport { PcgTableColumn } from 'app/shared/table/interfaces/pcg-table-column.interface';\r\nimport { EditUserService } from '../edit-user.service';\r\n\r\ninterface SubscriptionGroup {\r\n name: string;\r\n subscriptions: UserSubscriptionVm[];\r\n isSelected: boolean;\r\n}\r\n\r\n@Component({\r\n\tselector: \"pcg-user-notifications\",\r\n\ttemplateUrl: \"./user-notifications.component.html\",\r\n\tstyleUrls: [\"./user-notifications.component.scss\"],\r\n\tstandalone: false,\r\n})\r\nexport class UserNotificationsComponent implements OnInit {\r\n\r\n\t_subscription: PushSubscription;\r\n private unsubscribe = new Subject()\r\n\r\n\thttp: HttpClient = inject(HttpClient);\r\n sec: SecurityService = inject(SecurityService);\r\n\troute: ActivatedRoute = inject(ActivatedRoute);\r\n\tnotification: NotificationService = inject(NotificationService);\r\n\teditUserService: EditUserService = inject(EditUserService);\r\n\tdestroyRef: DestroyRef = inject(DestroyRef);\r\n gvs: GlobalVariablesService = inject(GlobalVariablesService);\r\n\r\n\tuserIdSignal: WritableSignal = signal(null);\r\n\tiAmMeSignal: Signal = computed(() => this.userIdSignal() == this.sec.getUser().id);\r\n \r\n\tfocusSignal: WritableSignal = signal(null);\r\n\thighlightSignal: WritableSignal = signal(null);\r\n\tdisablePushToggleSignal: WritableSignal = signal(false);\r\n\tpushNotificationsEnabledSignal: WritableSignal = signal(false);\r\n\r\n areasSignal: WritableSignal = signal(null);\r\n\r\n showSideNav: WritableSignal = signal(true);\r\n showSettings: WritableSignal = signal(true);\r\n\r\n masterSubscriptions: UserSubscriptionVm = {\r\n userNotificationId: 0\r\n , userId: 0\r\n , sendEmail: false\r\n , sendPush: false\r\n , sendBrowser: false\r\n , options: []\r\n , canSubscribe: true\r\n , name: \"All Notifications\"\r\n , description: \"The selection made here will apply to every notification below. \" \r\n + \"Because Push notifications are currently only available for Support notifications, \" \r\n + \"if you select the Push or Both option here it will apply that selection to the Support \" \r\n + \"notifications and reset the rest of your notifications.\"\r\n , reportId: 0\r\n };\r\n\r\n options: Map = UserSubscriptionVm.ColumnDefs;\r\n\r\n httpOptions = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n \r\n\tconstructor(\r\n title: Title\r\n , private swPush: SwPush\r\n\t) {\r\n\t\ttitle.setTitle(\"User Notification Settings\");\r\n\t\tswPush.subscription.subscribe((subscription) => {\r\n\t\t\tthis._subscription = subscription;\r\n\t\t\tthis.pushNotificationsEnabledSignal.set(this._subscription != null);\r\n\t\t});\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n this.setParamsFromRoute();\r\n this.getSubscriptions();\r\n this.subscribeToUserModuleAccess();\r\n\t}\r\n\r\n setParamsFromRoute() {\r\n const paramId = this.editUserService.getUserIdFromRoute(this.route.snapshot);\r\n\r\n\t\tthis.userIdSignal.set(Number(paramId));\r\n \r\n\t\tif (this.route.snapshot.params[\"el\"]) {\r\n\t\t\tthis.focusSignal.set(FormatHelperService.ToTitleCase(this.route.snapshot.params[\"el\"]));\r\n\t\t}\r\n }\r\n\r\n\tsetFocus() {\r\n\t\t// set scroller offset if 'el' param present in url\r\n\t\tif (!FormatHelperService.GetIsNullyOrWhitespace(this.focusSignal())) {\r\n const notification = isNaN(Number(this.focusSignal()))\r\n ? SubscriptionEnum[this.focusSignal()]\r\n : Number(this.focusSignal());\r\n\r\n const reportId = this.route.snapshot.params[\"reportId\"] ?? 0;\r\n\r\n setTimeout(() => { // wait for angular to render\r\n const area: SubscriptionGroup = this.areasSignal()\r\n ?.find(o => o.subscriptions\r\n ?.some((s: UserSubscriptionVm) => s.subscription == notification));\r\n\r\n if (area != null) {\r\n this.openSetting(area);\r\n // scroll to element\r\n const element = document.getElementById(notification + '-' + reportId);\r\n if (element != null) {\r\n element?.scrollIntoView({ behavior: 'smooth' });\r\n this.highlightSignal.set(notification);\r\n setTimeout(() => {this.highlightSignal.set(null);}, 5000);\r\n }\r\n // reset scroller offset\r\n this.focusSignal.set(null);\r\n }\r\n }, 500);\r\n }\r\n\t}\r\n\r\n openSetting(area: SubscriptionGroup) {\r\n if (area != null) {\r\n area.isSelected = true;\r\n this.areasSignal().filter(o => o.name != area.name).map(o => o.isSelected = false);\r\n this.showSettings.set(false);\r\n } else {\r\n this.showSettings.set(true);\r\n this.areasSignal()?.map(o => o.isSelected = false);\r\n }\r\n } \r\n \r\n // Prevents need to refresh page after changing user module access\r\n // to see updated notification settings\r\n subscribeToUserModuleAccess() {\r\n this.editUserService.moduleAccesses$.pipe(takeUntilDestroyed(this.destroyRef))\r\n .subscribe((o) => { \r\n // Preventing duplicate calls on initial load\r\n if (o) { this.getSubscriptions(); }\r\n }\r\n );\r\n }\r\n\r\n\tgetSubscriptions(): void {\r\n let httpParams = new HttpParams().set(\"userId\", this.userIdSignal());\r\n\r\n\t\tthis.http.get('api/Users/GetUserSubscriptions', { params: httpParams })\r\n\t\t\t.subscribe((subscriptions: UserSubscriptionVm[]) => {\r\n this.gvs.userName.set(subscriptions[0].userName)\r\n const areas: BusinessAreaEnum[] = [...new Set(subscriptions.map(i => i.businessArea))];\r\n const groups: SubscriptionGroup[] = areas.map(area => ({\r\n name: BusinessAreaEnum.toDescription(area),\r\n subscriptions: subscriptions.filter(i => i.businessArea == area),\r\n isSelected: false\r\n\t\t\t\t}));\r\n\r\n\t\t\t\tthis.areasSignal.set(groups);\r\n this.setFocus();\r\n this.setMasterOptions();\r\n }\r\n );\r\n\t}\r\n\r\n setMasterOptions() {\r\n this.masterSubscriptions.options = [\r\n ...new Set(this.areasSignal().map(group => \r\n group.subscriptions.map(i => i.options).flat()\r\n ).flat())\r\n ];\r\n\r\n for(let option of this.masterSubscriptions.options) {\r\n let allEnabled: boolean = this.areasSignal()\r\n .every((group: SubscriptionGroup) => group.subscriptions\r\n .every((sub: UserSubscriptionVm) => sub[option] || !sub.options.includes(option)));\r\n \r\n this.masterSubscriptions[option] = allEnabled;\r\n }\r\n }\r\n\r\n getAreaSectionId = (area: SubscriptionGroup): string => area.name.replace(/[^a-zA-Z]+/gi, '-').toLowerCase();\r\n\r\n toggleSubscription(\r\n option: string\r\n , value: boolean\r\n , subscription: UserSubscriptionVm\r\n ) {\r\n subscription[option] = value;\r\n let updates: UserSubscriptionVm[] = [];\r\n\r\n if (subscription.name == \"All Notifications\") {\r\n const newSubs: SubscriptionGroup[] = this.areasSignal().map(group => {\r\n group.subscriptions.map(sub => {\r\n if (sub.options.includes(option)) {\r\n sub[option] = value;\r\n updates.push(sub);\r\n }\r\n\r\n return sub;\r\n });\r\n return group;\r\n });\r\n\r\n this.areasSignal.set(newSubs);\r\n } else {\r\n updates.push(subscription);\r\n this.setMasterOptions();\r\n }\r\n\r\n this.postUpdates(updates);\r\n }\r\n\r\n /// Post the updates to the server.\r\n postUpdates(updates: UserSubscriptionVm[]): void {\r\n if (updates.length > 0) {\r\n const body = JSON.stringify(updates);\r\n\r\n this.http.post(`api/Users/SaveUserSubscriptions?userId=${this.userIdSignal()}`, body)\r\n .subscribe((response: SystemMessage) => {\r\n this.notification.showMessage(response.message, response.messageClass);\r\n }\r\n );\r\n }\r\n }\r\n\r\n\toperatePushNotification() {\r\n this._subscription == null\r\n\t\t\t? this.subscribe() \r\n\t\t\t: this.unsubscribePush(this._subscription.endpoint);\r\n }\r\n\r\n subscribe() {\r\n if (Notification.permission == 'denied') {\r\n this.pushNotificationsEnabledSignal.set(false);\r\n this.notification.showError('Please allow please notifications in your browser settings.');\r\n } else {\r\n // Retrieve public VAPID key from the server\r\n this.http.get('api/PushSubscriptions/GetPublicKey', { responseType: 'text' }).subscribe(publicKey => {\r\n // Request subscription with the service worker\r\n this.swPush.requestSubscription({\r\n serverPublicKey: publicKey\r\n }).then(subscription => this.http.post('api/PushSubscriptions/AddSubscription', subscription, this.httpOptions).subscribe(\r\n () => { this.notification.showSuccess(\"Push notifications enabled\") }\r\n , error => {console.error(error)}\r\n )).catch((error) => {\r\n console.error(error);\r\n this.notification.showWarning(\r\n \"Check your browser settings. \" \r\n + \"You may have push notifications disabled for this site (if on iOS, select the 'add to home screen' option\"\r\n );\r\n setTimeout(() => {\r\n document.getElementById(\"pushToggle\").classList.remove(\"mat-mdc-slide-toggle-checked\");\r\n document.getElementById(\"pushToggle\").classList.remove(\"cdk-focused\");\r\n document.getElementById(\"pushToggle\").classList.remove(\"cdk-mouse-focused\");\r\n document.getElementById(\"pushToggle-button\").classList.remove(\"mdc-switch--selected\");\r\n this.disablePushToggleSignal.set(true);\r\n }, 500)\r\n });\r\n });\r\n }\r\n }\r\n\r\n unsubscribePush(endpoint) {\r\n this.swPush.unsubscribe()\r\n .then(() => this.http.get(\r\n\t\t\t\t`api/PushSubscriptions/DeleteSubscription\r\n\t\t\t\t?userId=${this.sec?.getUser().id}\r\n\t\t\t\t&endpoint=${encodeURIComponent(endpoint)}`)\r\n\t\t\t.subscribe({\r\n\t\t\t\tnext: () => { this.notification.showSuccess(\"Push notifications disabled\"); },\r\n\t\t\t\terror: error => console.error(error)\r\n\t\t\t})).catch(error => console.error(error));\r\n }\r\n\r\n\tngOnDestroy() { this.unsubscribe.next(); }\r\n}\r\n","\r\n \r\n @if (showSettings()) {\r\n
\r\n
Settings
\r\n
\r\n
\r\n \r\n This section will list all system notifications that you may receive.\r\n Certain notifications are required and are not displayed below.\r\n If you wish to receive push notifications to your browser and/or mobile device,\r\n you must first enable push notifications on each device with the toggle below.\r\n \r\n @if (iAmMeSignal()) {\r\n
\r\n \r\n Enable  \r\n \r\n push notifications\r\n   on this device\r\n
\r\n }\r\n \r\n
\r\n }\r\n @if (areasSignal()) {\r\n @for (area of areasSignal(); track area.name) {\r\n
\r\n
\r\n
{{ area.name }}
\r\n
\r\n \r\n
\r\n @for (subscription of area.subscriptions; track subscription.name; let last = $last) {\r\n \r\n }\r\n
\r\n
\r\n }\r\n }\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n @for (area of areasSignal(); track area.name) {\r\n
\r\n \r\n
\r\n }\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {{ options.get(option).displayName }}\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
{{ subscription.name }}
\r\n
\r\n\r\n
\r\n {{ subscription.description}}\r\n
\r\n \r\n
\r\n
","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class UserOrganizationListVm {\r\n\torganizationId: number;\r\n\torganizationName?: string;\r\n\tcity?: string;\r\n\tcounty?: string;\r\n\tfacilityCount: number;\r\n\tadd: boolean;\r\n\tremove: boolean;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'organizationId': new UntypedFormControl(0, [...(validators['organizationId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'organizationName': new UntypedFormControl(null, [...(validators['organizationName'] ?? []), ...[]]),\r\n\t\t\t'city': new UntypedFormControl(null, [...(validators['city'] ?? []), ...[]]),\r\n\t\t\t'county': new UntypedFormControl(null, [...(validators['county'] ?? []), ...[]]),\r\n\t\t\t'facilityCount': new UntypedFormControl(0, [...(validators['facilityCount'] ?? []), ...[Validators.required]]),\r\n\t\t\t'add': new UntypedFormControl(false, [...(validators['add'] ?? []), ...[]]),\r\n\t\t\t'remove': new UntypedFormControl(false, [...(validators['remove'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic get ColumnDefs(): Map {\r\n\t\treturn new Map([\r\n\t\t\t['organizationId', {\"orderId\":0,\"sortColumn\":\"organizationId\",\"searchColumn\":\"organizationId\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"OrganizationId\",\"isVisible\":true,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['organizationName', {\"orderId\":1,\"sortColumn\":\"organizationName\",\"searchColumn\":\"organizationName\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Organization\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['city', {\"orderId\":2,\"sortColumn\":\"city\",\"searchColumn\":\"city\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"City\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['county', {\"orderId\":3,\"sortColumn\":\"county\",\"searchColumn\":\"county\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"County\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['facilityCount', {\"orderId\":4,\"sortColumn\":\"facilityCount\",\"searchColumn\":\"facilityCount\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Facilities\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['add', {\"orderId\":5,\"sortColumn\":\"add\",\"searchColumn\":\"add\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Add\",\"isVisible\":true,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['remove', {\"orderId\":6,\"sortColumn\":\"remove\",\"searchColumn\":\"remove\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Remove\",\"isVisible\":true,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}]\r\n\t\t]);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): UserOrganizationListVmFromFg {\r\n\t\treturn new UserOrganizationListVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class UserOrganizationListVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget organizationId(): number {\r\n\t\treturn this.fg.get('organizationId').value;\r\n\t}\r\n\tset organizationId(val) {\r\n\t\tthis.fg.get('organizationId').setValue(val);\r\n\t}\r\n\r\n\tget organizationName(): string {\r\n\t\treturn this.fg.get('organizationName').value;\r\n\t}\r\n\tset organizationName(val) {\r\n\t\tthis.fg.get('organizationName').setValue(val);\r\n\t}\r\n\r\n\tget city(): string {\r\n\t\treturn this.fg.get('city').value;\r\n\t}\r\n\tset city(val) {\r\n\t\tthis.fg.get('city').setValue(val);\r\n\t}\r\n\r\n\tget county(): string {\r\n\t\treturn this.fg.get('county').value;\r\n\t}\r\n\tset county(val) {\r\n\t\tthis.fg.get('county').setValue(val);\r\n\t}\r\n\r\n\tget facilityCount(): number {\r\n\t\treturn this.fg.get('facilityCount').value;\r\n\t}\r\n\tset facilityCount(val) {\r\n\t\tthis.fg.get('facilityCount').setValue(val);\r\n\t}\r\n\r\n\tget add(): boolean {\r\n\t\treturn this.fg.get('add').value;\r\n\t}\r\n\tset add(val) {\r\n\t\tthis.fg.get('add').setValue(val);\r\n\t}\r\n\r\n\tget remove(): boolean {\r\n\t\treturn this.fg.get('remove').value;\r\n\t}\r\n\tset remove(val) {\r\n\t\tthis.fg.get('remove').setValue(val);\r\n\t}\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs/internal/Observable\";\r\n\r\nimport { SystemMessage } from \"app/core/system-message/system-message-service\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class UserOrganizationService {\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n private save = (body : UserOrganizationRequestBody) => \r\n this.http.post('api/Administration/UserOrganization/SaveUserOrganizations', body)\r\n\r\n updateOrganization(\r\n _userId : number\r\n , _orgId : number\r\n ) : Observable {\r\n const body = new UserOrganizationRequestBody(_userId, _orgId, false, false); \r\n return this.save(body)\r\n }\r\n\r\n associateAllOrganizations(\r\n _userId : number\r\n , _tableInput : string\r\n ) : Observable { \r\n const body = new UserOrganizationRequestBody(_userId, null, true, false, _tableInput)\r\n return this.save(body);\r\n }\r\n\r\n unassociateAllOrganizations(\r\n _userId : number\r\n , _tableInput : string\r\n ) : Observable {\r\n const body = new UserOrganizationRequestBody(_userId, null, false, true, _tableInput);\r\n return this.save(body);\r\n }\r\n}\r\n\r\nclass UserOrganizationRequestBody {\r\n id : number;\r\n orgId? : number;\r\n associateAll: boolean;\r\n removeAll: boolean;\r\n tableInput : string;\r\n\r\n constructor(\r\n _id : number\r\n , _orgId : number\r\n , _associateAll : boolean\r\n , _removeAll : boolean\r\n , _tableInput? : string\r\n ) {\r\n this.id = _id;\r\n this.orgId = _orgId;\r\n this.associateAll = _associateAll;\r\n this.removeAll = _removeAll;\r\n this.tableInput = _tableInput;\r\n }\r\n}","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { faPlus, faExternalLink } from '@fortawesome/pro-solid-svg-icons';\r\n\r\nimport { SystemMessage, SystemMessageService } from 'app/core/system-message/system-message-service';\r\nimport { UserOrganizationListVm } from 'app/shared/generated/Administration/Models/Organizations/UserOrganizationListVm';\r\nimport { TableComponent } from 'app/shared/table/table.component';\r\nimport { UserOrganizationService } from '../user-organization.service';\r\n\r\n@Component({\r\n selector: 'pcg-user-non-associated-organizations',\r\n templateUrl: './user-non-associated-organizations.component.html',\r\n styleUrls: ['./user-non-associated-organizations.component.scss'],\r\n standalone: false\r\n})\r\nexport class UserNonAssociatedOrganizationsComponent implements OnInit {\r\n // Setting static: true to ensure that configureColumns works correctly.\r\n // Otherwise, `delete('add')` call errors.\r\n @ViewChild(TableComponent, {static: true }) table: TableComponent;\r\n\r\n @Input() userId : number;\r\n @Input() editable : boolean;\r\n @Output() sync = new EventEmitter();\r\n\r\n columns = UserOrganizationListVm.ColumnDefs;\r\n params = { id: 0 };\r\n\r\n hasData = false;\r\n\r\n faIcon = { \r\n faPlus\r\n , faExternalLink \r\n };\r\n\r\n constructor(\r\n public uos : UserOrganizationService\r\n , private ms : SystemMessageService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.configureParams();\r\n this.configureColumns();\r\n }\r\n\r\n private configureParams() { this.params.id = this.userId; }\r\n\r\n public configureColumns() {\r\n if (!this.editable) { this.columns.delete('add'); }\r\n this.columns.delete('remove');\r\n }\r\n\r\n tblReceive(event) {\r\n if(event.recordsTotal > 0){ this.hasData = true; }\r\n else { this.hasData = false; }\r\n }\r\n\r\n add(orgId : number) {\r\n if (!this.editable) { return; }\r\n this.uos.updateOrganization(this.params.id, orgId)\r\n .subscribe((sm : SystemMessage) => {\r\n if (sm.isSuccessful) { this.sync.emit(); }\r\n this.ms.setSystemMessage(sm.message, sm.messageClass);\r\n }\r\n );\r\n }\r\n\r\n addAll() {\r\n const pcgTableInput = this.table.getPcgTableInput();\r\n const tableInput = JSON.stringify(pcgTableInput);\r\n this.uos.associateAllOrganizations(this.params.id, tableInput)\r\n .subscribe((sm : SystemMessage) => {\r\n if (sm.isSuccessful) { this.sync.emit(); }\r\n this.ms.setSystemMessage(sm.message, sm.messageClass);\r\n }\r\n );\r\n }\r\n}\r\n","

Available Organizations

\r\n\r\n\r\n \r\n \r\n \r\n @if (row.organizationId != 0) {\r\n \r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n {{ columns.get('organizationName').displayName }}\r\n {{ row.organizationName }} \r\n \r\n\r\n \r\n {{ columns.get('city').displayName }}\r\n {{ row.city }} \r\n \r\n\r\n \r\n {{ columns.get('county').displayName }}\r\n {{ row.county }} \r\n \r\n\r\n \r\n {{ columns.get('facilityCount').displayName }}\r\n {{ row.facilityCount }} \r\n \r\n\r\n \r\n \r\n \r\n All\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { faXmark, faExternalLink } from '@fortawesome/pro-solid-svg-icons';\r\n\r\nimport { SystemMessage, SystemMessageService } from 'app/core/system-message/system-message-service';\r\nimport { UserOrganizationListVm } from 'app/shared/generated/Administration/Models/Organizations/UserOrganizationListVm';\r\nimport { TableComponent } from 'app/shared/table/table.component';\r\nimport { UserOrganizationService } from '../user-organization.service';\r\nimport { GlobalVariablesService } from 'app/services/global-variables.service';\r\n\r\n@Component({\r\n selector: 'pcg-user-associated-organizations',\r\n templateUrl: './user-associated-organizations.component.html',\r\n styleUrls: ['./user-associated-organizations.component.scss'],\r\n standalone: false\r\n})\r\nexport class UserAssociatedOrganizationsComponent implements OnInit {\r\n // Setting static: true to ensure that configureColumns works correctly.\r\n // Otherwise, `delete('remove')` call errors.\r\n @ViewChild(TableComponent, {static: true }) table: TableComponent;\r\n\r\n @Input() userId : number;\r\n @Input() editable : boolean;\r\n @Output() sync = new EventEmitter();\r\n\r\n columns = UserOrganizationListVm.ColumnDefs;\r\n params = { id: 0 };\r\n\r\n hasData = false;\r\n\r\n faIcon = { \r\n faXmark\r\n , faExternalLink \r\n }\r\n\r\n constructor(\r\n public uos: UserOrganizationService\r\n , private ms : SystemMessageService\r\n , private gvs: GlobalVariablesService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.configureParams();\r\n this.configureColumns(); \r\n }\r\n \r\n private configureParams() { this.params.id = this.userId; }\r\n\r\n public configureColumns() {\r\n if (!this.editable) { this.columns.delete('remove'); }\r\n this.columns.delete('add');\r\n }\r\n\r\n tblReceive(event) {\r\n this.gvs.userName.set(event.value.userName);\r\n if(event.recordsTotal > 0){ this.hasData = true; }\r\n else { this.hasData = false; }\r\n }\r\n \r\n remove(orgId: number) {\r\n if (!this.editable) { return; }\r\n this.uos.updateOrganization(this.params.id, orgId)\r\n .subscribe((sm : SystemMessage) => {\r\n if (sm.isSuccessful) { this.sync.emit(); } \r\n this.ms.setSystemMessage(sm.message, sm.messageClass);\r\n }\r\n );\r\n }\r\n \r\n removeAll() {\r\n const pcgTableInput = this.table.getPcgTableInput();\r\n const tableInput = JSON.stringify(pcgTableInput);\r\n this.uos.unassociateAllOrganizations(this.params.id, tableInput)\r\n .subscribe((sm : SystemMessage) => {\r\n if (sm.isSuccessful) { this.sync.emit(); }\r\n this.ms.setSystemMessage(sm.message, sm.messageClass);\r\n }\r\n );\r\n }\r\n}\r\n","

Associated Organizations

\r\n\r\n\r\n \r\n \r\n \r\n @if (row.organizationId != 0) {\r\n \r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n {{ columns.get('organizationName').displayName }}\r\n {{ row.organizationName }} \r\n \r\n\r\n \r\n {{ columns.get('city').displayName }}\r\n {{ row.city }} \r\n \r\n\r\n \r\n {{ columns.get('county').displayName }}\r\n {{ row.county }} \r\n \r\n\r\n \r\n {{ columns.get('facilityCount').displayName }}\r\n {{ row.facilityCount }} \r\n \r\n\r\n \r\n \r\n \r\n All\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { faInfoCircle } from '@fortawesome/pro-solid-svg-icons';\r\nimport { UntilDestroy } from '@ngneat/until-destroy';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { BusinessAreaEnum } from 'app/core/enums/generated/BusinessAreaEnum';\r\nimport { PermissionRole } from 'app/core/enums/generated/PermissionRole';\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { UserAssociatedOrganizationsComponent } from './user-associated-organizations/user-associated-organizations.component';\r\nimport { UserNonAssociatedOrganizationsComponent } from './user-non-associated-organizations/user-non-associated-organizations.component';\r\n\r\n@UntilDestroy()\r\n@Component({\r\n selector: 'pcg-user-organizations',\r\n templateUrl: './user-organizations.component.html',\r\n styleUrls: ['./user-organizations.component.scss'],\r\n standalone: false\r\n})\r\nexport class UserOrganizationsComponent implements OnInit {\r\n \r\n @ViewChild(\"available\") availableOrgs : UserNonAssociatedOrganizationsComponent;\r\n @ViewChild(\"associated\") associatedOrgs : UserAssociatedOrganizationsComponent;\r\n\r\n faIcon = { faInfoCircle }\r\n canManageOrgs : boolean;\r\n userId: number;\r\n\r\n constructor(\r\n private sec: SecurityService\r\n , private route: ActivatedRoute\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.userId = Number(this.route.snapshot.params.id);\r\n this.canManageOrgs = this.sec.hasModuleAccess([ BusinessAreaEnum.Admin ]\r\n , [ ...SecurityService.setMinRole(PermissionRole.Manager) ])\r\n }\r\n\r\n sync() {\r\n this.availableOrgs.table.ajaxReload();\r\n this.associatedOrgs.table.ajaxReload();\r\n }\r\n}\r\n","
\r\n \r\n Select active organizations from the table below to associate them with this user.\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { FontAwesomeModule } from \"@fortawesome/angular-fontawesome\";\r\nimport { NgbTooltipModule } from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\nimport { TableModule } from \"app/shared/table/table.module\";\r\nimport { UserAssociatedOrganizationsComponent } from './user-associated-organizations/user-associated-organizations.component';\r\nimport { UserNonAssociatedOrganizationsComponent } from './user-non-associated-organizations/user-non-associated-organizations.component';\r\nimport { UserOrganizationService } from \"./user-organization.service\";\r\n\r\n@NgModule({\r\n declarations: [\r\n UserNonAssociatedOrganizationsComponent\r\n , UserAssociatedOrganizationsComponent\r\n ]\r\n , imports: [\r\n CommonModule\r\n , FontAwesomeModule\r\n , TableModule\r\n , NgbTooltipModule\r\n ]\r\n , exports: [\r\n UserNonAssociatedOrganizationsComponent\r\n , UserAssociatedOrganizationsComponent\r\n ]\r\n , providers: [\r\n UserOrganizationService\r\n ]\r\n})\r\n\r\nexport class UserOrganizationsModule {}","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { SharedModule } from 'app/shared/shared.module';\r\nimport { UserRoleInfoComponent } from './business-area-role-info/user-role-info/user-role-info.component';\r\nimport { UserRoleInfoModalComponent } from './user-role-info-modal.component';\r\nimport { RoleInfoComponent } from './business-area-role-info/role-info/role-info.component'; \r\n\r\n@NgModule({\r\n declarations: [\r\n UserRoleInfoComponent\r\n , UserRoleInfoModalComponent\r\n , RoleInfoComponent \r\n ]\r\n , imports: [\r\n RouterModule\r\n , CommonModule\r\n , SharedModule\r\n ]\r\n , exports: [\r\n UserRoleInfoComponent\r\n , UserRoleInfoModalComponent\r\n , RoleInfoComponent \r\n ]\r\n})\r\nexport class UserRoleInfoModalModule { }\r\n","// tslint:disable: quotemark\r\nexport enum RxConnectsSecurityEnum {\r\n\tRepository = 1,\r\n\tDonor = 2\r\n}\r\n\r\nexport namespace RxConnectsSecurityEnum {\r\n\texport function toDescription(val: RxConnectsSecurityEnum) {\r\n\t\tswitch (val) {\r\n\t\t\tcase 1:\r\n\t\t\t\treturn \"Repository\";\r\n\t\t\tcase 2:\r\n\t\t\t\treturn \"Donor\";\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\texport function toDisplay(val: RxConnectsSecurityEnum) {\r\n\t\tswitch (val) {\r\n\t\t\tcase 1:\r\n\t\t\t\treturn \"Repository\";\r\n\t\t\tcase 2:\r\n\t\t\t\treturn \"Donor\";\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class RxConnectsUserSecurityVm {\r\n\trepositoryId: number;\r\n\tdonorId: number;\r\n\tuserId: number;\r\n\tsecurityEnum?: any;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'repositoryId': new UntypedFormControl(0, [...(validators['repositoryId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'donorId': new UntypedFormControl(0, [...(validators['donorId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'userId': new UntypedFormControl(0, [...(validators['userId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'securityEnum': new UntypedFormControl('', [...(validators['securityEnum'] ?? []), ...[Validators.required]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): RxConnectsUserSecurityVmFromFg {\r\n\t\treturn new RxConnectsUserSecurityVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class RxConnectsUserSecurityVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget repositoryId(): number {\r\n\t\treturn this.fg.get('repositoryId').value;\r\n\t}\r\n\tset repositoryId(val) {\r\n\t\tthis.fg.get('repositoryId').setValue(val);\r\n\t}\r\n\r\n\tget donorId(): number {\r\n\t\treturn this.fg.get('donorId').value;\r\n\t}\r\n\tset donorId(val) {\r\n\t\tthis.fg.get('donorId').setValue(val);\r\n\t}\r\n\r\n\tget userId(): number {\r\n\t\treturn this.fg.get('userId').value;\r\n\t}\r\n\tset userId(val) {\r\n\t\tthis.fg.get('userId').setValue(val);\r\n\t}\r\n\r\n\tget securityEnum(): any {\r\n\t\treturn this.fg.get('securityEnum').value;\r\n\t}\r\n\tset securityEnum(val) {\r\n\t\tthis.fg.get('securityEnum').setValue(val);\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { RxConnectsSecurityEnum } from 'app/core/enums/generated/RxConnectsSecurityEnum';\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { SystemMessage, SystemMessageService } from 'app/core/system-message/system-message-service';\r\nimport { validateForm } from 'app/shared/form-elements/form-validateForm.function';\r\nimport { UserJsVm } from 'app/shared/generated/Administration/Models/Users/UserJsVm';\r\nimport { RxConnectsUserSecurityVm } from 'app/shared/generated/RxConnects/Models/RxConnectsUserSecurityVm';\r\nimport { SelectItem } from 'app/shared/models/select-item';\r\nimport { TableComponent } from 'app/shared/table/table.component';\r\n\r\n@Component({\r\n selector: 'pcg-user-rxconnects-settings',\r\n templateUrl: './user-rxconnects-settings.component.html',\r\n styleUrls: ['./user-rxconnects-settings.component.scss'],\r\n standalone: false\r\n})\r\nexport class UserRxConnectsSettingsComponent implements OnInit {\r\n\r\n\t@ViewChild(TableComponent, { static: true }) table: TableComponent;\r\n @ViewChild(TableComponent, { static: true }) credentialTable: TableComponent;\r\n\r\n\tcanEditUser = false;\r\n\tfullName: string = null;\r\n\tfilters = { userId: null };\r\n\r\n\tformGroup = RxConnectsUserSecurityVm.Form;\r\n\tmodel$: Observable;\r\n\tuser: UserJsVm;\r\n\tuserId: number;\r\n\tselectedUserId: number;\r\n\trepositoryItems: SelectItem[] = [];\r\n\tdonorItems: SelectItem[] = [];\r\n\r\n\tselectedSecurityType: RxConnectsSecurityEnum;\r\n\tpublic RxConnectsSecurityEnum = RxConnectsSecurityEnum;\r\n\r\n\tconstructor(\r\n\t\ttitle: Title\r\n\t\t, private route: ActivatedRoute\r\n\t\t, private sec: SecurityService\r\n\t\t, public sm: SystemMessageService\r\n\t\t, private httpClient: HttpClient\r\n\t) { title.setTitle('User RxConnects Security'); }\r\n\r\n\tngOnInit() {\r\n\t\tthis.route.params.subscribe(params => this.selectedUserId = params['id']);\r\n\t\tthis.loadSecurity();\r\n\t}\r\n\r\n\tloadSecurity() {\r\n\t\tthis.user = this.sec.getUser();\r\n\t\tthis.formGroup.get('userId').patchValue(this.userId);\r\n\r\n\t\tthis.httpClient.get(`api/RxConnects/Repository/GetUserRxConnectsSettings/${this.selectedUserId}`)\r\n\t\t\t.subscribe((vm: RxConnectsUserSecurityVm) => {\r\n\t\t\t\tthis.selectedSecurityType = vm.securityEnum;\r\n\t\t\t\tthis.formGroup.get('securityEnum').patchValue(vm.securityEnum);\r\n\t\t\t\tthis.formGroup.get('repositoryId').patchValue(vm.repositoryId);\r\n\t\t\t\tthis.formGroup.get('donorId').patchValue(vm.donorId);\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\t\r\n\r\n\tsaveSecurityForm() {\r\n\t\tthis.formGroup.get('userId').patchValue(this.selectedUserId);\r\n\r\n\t\tif (\r\n this.formGroup.valid \r\n && this.IsValid()\r\n ) {\r\n\t\t\tthis.sm.getHttpObservable(\r\n this\r\n , `api/RxConnects/Repository/SaveRxConnectsSecurity`\r\n , this.formGroup\r\n , null\r\n\t\t\t).subscribe((sm: SystemMessage) => {\r\n\t\t\t\tif (sm.isSuccessful) {\r\n\t\t\t\t\tthis.formGroup.setValue(sm.model);\r\n\t\t\t\t\tthis.sm.setSystemMessage(sm.message);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.formGroup.patchValue(sm.model);\r\n\t\t\t\t\tthis.sm.setSystemMessage(sm.message, 'error');\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else { validateForm(this.formGroup); }\r\n\t}\r\n\r\n\tremoveSecurity() {\r\n\t\tthis.formGroup.get('userId').patchValue(this.selectedUserId);\r\n\r\n\t\tif (this.IsValid()) {\r\n\t\t\tthis.sm.getHttpObservable(\r\n this\r\n , `api/RxConnects/Repository/DeleteRxConnectsSecurity`\r\n , this.formGroup\r\n , null\r\n\t\t\t).subscribe((sm: SystemMessage) => {\r\n\t\t\t\tif (sm.isSuccessful) {\r\n\t\t\t\t\tthis.sm.setSystemMessage(sm.message);\r\n\t\t\t\t\tthis.loadSecurity();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.sm.setSystemMessage(sm.message, 'error');\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tIsValid() {\r\n\t\tvar result: boolean = true;\r\n\t\tif (this.formGroup.get('securityEnum').value === RxConnectsSecurityEnum.Repository) {\r\n\t\t\tif (!(this.formGroup.get('repositoryId').value > 0)) {\r\n\t\t\t\tresult = false;\r\n\t\t\t\tthis.sm.setSystemMessage(\"Repository is required!\", 'error');\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (this.formGroup.get('securityEnum').value === RxConnectsSecurityEnum.Donor) {\r\n\t\t\tif (!(this.formGroup.get('donorId').value > 0)) {\r\n\t\t\t\tresult = false;\r\n\t\t\t\tthis.sm.setSystemMessage(\"Donor is required!\", 'error');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn result;\r\n\t}\r\n}\r\n","
\r\n\t

RxConnects Security

\r\n\t
\r\n
\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\tRemove\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\tRemove\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t
\r\n
","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { NgbModalModule } from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\nimport { SharedModule } from \"app/shared/shared.module\";\r\nimport { EditUserComponent } from \"./edit-user.component\";\r\nimport { RegisterAuthDeviceModalComponent } from \"./register-auth-device-modal/register-auth-device-modal.component\";\r\nimport { RegisterPinModalComponent } from \"./register-pin-modal/register-pin-modal.component\";\r\nimport { UserAuditHistoryComponent } from \"./user-audit-history/user-audit-history.component\";\r\nimport { UserChangePasswordModalComponent } from \"./user-change-password-modal/user-change-password-modal.component\";\r\nimport { UserAssociatedFacilitiesComponent } from \"./user-facilities/user-associated-facilities/user-associated-facilities.component\";\r\nimport { UserFacilitiesComponent } from \"./user-facilities/user-facilities.component\";\r\nimport { UserNonAssociatedFacilitiesComponent } from \"./user-facilities/user-non-associated-facilities/user-non-associated-facilities.component\";\r\nimport { UserFingerprintAuthenticationComponent } from \"./user-fingerprint-authentication/user-fingerprint-authentication.component\";\r\nimport { UserLoginHistoryComponent } from \"./user-login-history/user-login-history.component\";\r\nimport { UserModuleAccessComponent } from \"./user-module-access/user-module-access.component\";\r\nimport { UserMultiFactorAuthenticationComponent } from \"./user-multi-factor-authentication/user-multi-factor-authentication.component\";\r\nimport { UserNotificationsComponent } from \"./user-notifications/user-notifications.component\";\r\nimport { UserOrganizationsComponent } from \"./user-organizations/user-organizations.component\";\r\nimport { UserOrganizationsModule } from \"./user-organizations/user-organizations.module\";\r\nimport { UserRoleInfoModalModule } from \"./user-role-info-modal/user-role-info-modal.module\";\r\nimport { UserRxConnectsSettingsComponent } from \"./user-rxconnects-settings/user-rxconnects-settings.component\";\r\n\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tEditUserComponent\r\n , RegisterAuthDeviceModalComponent\r\n , UserChangePasswordModalComponent\r\n , UserLoginHistoryComponent\r\n , UserMultiFactorAuthenticationComponent\r\n , UserNotificationsComponent\r\n , UserAuditHistoryComponent\r\n , UserModuleAccessComponent\r\n , RegisterPinModalComponent\r\n , UserFacilitiesComponent\r\n , UserAssociatedFacilitiesComponent\r\n , UserNonAssociatedFacilitiesComponent\r\n , UserRxConnectsSettingsComponent\r\n , UserOrganizationsComponent\r\n , UserFingerprintAuthenticationComponent\r\n\t]\r\n , imports: [\r\n\t\tRouterModule\r\n , CommonModule\r\n , SharedModule\r\n , UserRoleInfoModalModule\r\n , NgbModalModule\r\n , UserOrganizationsModule\r\n\t]\r\n , exports: [\r\n\t\tEditUserComponent\r\n , UserLoginHistoryComponent\r\n , UserMultiFactorAuthenticationComponent\r\n , UserNotificationsComponent\r\n , UserAuditHistoryComponent\r\n , UserModuleAccessComponent\r\n , UserFacilitiesComponent\r\n , UserAssociatedFacilitiesComponent\r\n , UserNonAssociatedFacilitiesComponent\r\n\t]\r\n})\r\nexport class EditUserModule {}\r\n"],"mappings":"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","names":["ERR_SW_NOT_SUPPORTED","errorObservable","message","defer","throwError","NgswCommChannel","serviceWorker","controllerChanges","fromEvent","map","currentController","of","controllerWithChanges","concat","filter","c","switchMap","events","event","publish","action","payload","take","tap","sw","__spreadValues","type","operationNonce","waitForOperationCompleted","postMessage","result","filterFn","nonce","SwPush","Subject","NEVER","registration","workerDrivenSubscriptions","pm","merge","options","pushOptions","key","applicationServerKey","i","sub","doUnsubscribe","success","input","__ngFactoryType__","ɵɵinject","ɵɵdefineInjectable","SwUpdate","SCRIPT","InjectionToken","ngswAppInitializer","injector","script","ngZone","NgZone","appRef","ApplicationRef","onControllerChange","readyToRegister$","strategy","args","delayWithTimeout","whenStable$","from","err","timeout","delay","ngswCommChannelFactory","opts","SwRegistrationOptions","provideServiceWorker","makeEnvironmentProviders","APP_INITIALIZER","Injector","ServiceWorkerModule","ɵɵdefineNgModule","ɵɵdefineInjector","EditUserService","http","inject","HttpClient","router","Router","sec","SecurityService","moduleAccessesSignal","signal","moduleAccesses$","toObservable","setInitialSignal","id","getModuleAccesses","subscribe","r","set","get","setModuleAccesses","fg","post","value","getUserIdFromRoute","snapshot","paramId","params","getUser","path","url","replace","navigate","queryParams","replaceUrl","parseInt","factory","ɵfac","providedIn","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","bounceEmail","ɵɵelement","ɵɵadvance","ɵɵproperty","faIconName","faTennisBall","_r3","validateEmail","faEnvelope","_r4","unlockUser","faUnlock","_r5","undoSpamReport","faEnvelopesBulk","_r6","activateDeactivate","model","isActive","ɵɵclassProp","ɵɵtextInterpolate1","_r7","logout","faPowerOff","_r8","overrideAndValidate","ɵɵtemplate","EditUserComponent_Conditional_13_Conditional_2_Template","strError","ɵɵconditional","showValidateEmail","_r9","resetPassword","EditUserComponent_Conditional_25_Conditional_1_Template","canSendWelcomeEmail","fields","formGroup","EditUserComponent","editUserService","inject","EditUserService","activatedRoute","ActivatedRoute","httpClient","HttpClient","router","Router","ms","SystemMessageService","sec","SecurityService","dynForm","DynamicFormService","activationService","ActivationService","gvs","GlobalVariablesService","sseService","SseNotificationService","pinModal","navService","NavigationService","EditUserVm","Form","GetModel","userPerms","businessArea","orgLoginTypeFg","signal","customFieldsCount","id","pin","isLockedOut","canEdit","canCreate","canUnlock","canDeactivate","canSeePasswordButtons","isCurrentUser","isSysAdmin","mustActivateMfaAndInactivity","isError","phoneValidation","pattern","constructor","title","setTitle","ngOnInit","snapshot","queryParamMap","get","BusinessAreaEnum","toString","addSecuritySubscription","addRouteSubscription","disableFormControlsBasedOnPermission","queryParams","navigate","fromCheckCanDecrypt","queryParamsHandling","getModuleAccesses","parseInt","params","pipe","debounceTime","subscribe","r","moduleAccessesSignal","set","hasRxPermsSignal","computed","moduleAccess","find","m","module","RxConnects","permissionRole","PermissionRole","RxConnectsPharmacist","canViewRx","hasModuleAccess","setMinRole","Admin","SystemAdmin","setControlModuleAccess","controls","Pharmacist","User","CI","MetabolicFormula","UserAdmin","Manager","disable","enable","paramMap","map","user","getUser","getUserIdFromRoute","vm","updateFormGroupFields","length","patchValue","userId","userName","firstName","lastName","userPin","orgLoginType","LoginTypeEnum","SSO","Both","email","saveUser","msg","value","isSuccessful","navigateByUrl","skipLocationChange","then","getHttpObservable","isWelcomeEmail","post","setSystemMessage","ActivationEnum","sm","emailConfirmed","message","verdict","score","checks","domain","has_mx_or_a_record","has_valid_address_syntax","is_suspected_disposable_address","additional","has_known_bounces","has_suspected_bounces","isEmailBounced","isEmailSpamReported","emailChange","emailError","destroySSE","isNavFixed","collapseAllSubNavs","setSecurity","localStorage","removeItem","deleteAllCookies","sessionStorage","loggedInUsingSso","getItem","setItem","window","location","href","messageClass","document","cookie","split","forEach","name","trim","ɵɵdirectiveInject","Title","selectors","viewQuery","rf","ctx","EditUserComponent_Conditional_0_Template","$event","EditUserComponent_Conditional_5_Template","EditUserComponent_Conditional_6_Template","EditUserComponent_Conditional_7_Template","EditUserComponent_Conditional_8_Template","EditUserComponent_Conditional_9_Template","EditUserComponent_Conditional_12_Template","EditUserComponent_Conditional_13_Template","EditUserComponent_Conditional_19_Template","EditUserComponent_Conditional_25_Template","EditUserComponent_Conditional_33_Template","inventoryIds","ɵɵtextInterpolate","ɵɵelementStart","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","registerCredential","ɵɵtwoWayListener","$event","i0","ɵɵtwoWayBindingSet","displayNameVal","password","isFingerprint","ɵɵadvance","ɵɵtwoWayProperty","_r3","ɵɵproperty","validateForm","RegisterAuthDeviceModalComponent","activeModal","webAuthn","ms","VerifyPassword","id","displayName","constructor","ngOnInit","pwd","isFidoCompatible","dismiss","makeCredentials","subscribe","publicKeyCredentialCreationOptions","__async","status","setSystemMessage","errorMessage","FidoService","fixPublicKeyCredentialCreationOptions","credential","navigator","credentials","create","publicKey","saveCredentials","o","e","console","log","ɵɵdirectiveInject","NgbActiveModal","WebAuthnService","SystemMessageService","selectors","viewQuery","rf","ctx","ɵɵtemplate","RegisterAuthDeviceModalComponent_div_6_Template","RegisterAuthDeviceModalComponent_div_7_Template","RegisterAuthDeviceModalComponent_button_11_Template","RegisterPinForm","formGroup","constructor","UntypedFormGroup","addControl","UntypedFormControl","validators","Validators","required","minLength","maxLength","pattern","updateOn","pinEqualValidator","control","value","pin","confirmPin","pinsNotEqual","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","dismiss","emit","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","errorStr","_r3","RegisterPinModalComponent","ms","route","emitPin","EventEmitter","pinForm","id","needToChangePin","allowDismiss","hasError","onKeydownHandler","event","key","preventDefault","checkCredential","constructor","RegisterPinForm","formGroup","ngOnInit","paramMap","subscribe","map","parseInt","get","document","getElementById","focus","valid","addControl","UntypedFormControl","Validators","required","patchValue","userId","getHttpObservable","msg","isSuccessful","setSystemMessage","message","controls","value","window","location","href","getElementsByTagName","validateForm","ɵɵdirectiveInject","SystemMessageService","ActivatedRoute","selectors","hostBindings","rf","ctx","$event","ɵɵresolveDocument","ɵɵtemplate","RegisterPinModalComponent_Conditional_4_Template","RegisterPinModalComponent_Conditional_6_Template","ɵɵelement","RegisterPinModalComponent_Conditional_23_Template","RegisterPinModalComponent_Conditional_25_Template","ɵɵproperty","ɵɵconditional","ɵɵpureFunction0","_c0","_c1","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r1","columns","get","displayName","row_r3","dateChangedFormatted","row_r4","module","row_r5","recordAffected","row_r6","field","row_r7","changedFrom","row_r8","changedTo","row_r9","changedBy","UserAuditHistoryComponent","activatedRoute","sec","gvs","table","AuditHistoryVm","ColumnDefs","canEditUser","filters","userId","constructor","title","setTitle","ngOnInit","snapshot","params","hasModuleAccess","BusinessAreaEnum","Admin","PermissionRole","Pharmacist","SecurityService","anyArea","UserAdmin","setMinRole","Manager","queryParams","subscribe","ajaxReload","tableReceive","event","userName","set","value","ɵɵdirectiveInject","Title","ActivatedRoute","GlobalVariablesService","selectors","viewQuery","rf","ctx","TableComponent","ɵɵlistener","$event","i0","ɵɵrestoreView","_r1","ɵɵresetView","ɵɵelementContainerStart","ɵɵtemplate","UserAuditHistoryComponent_th_3_Template","UserAuditHistoryComponent_td_4_Template","UserAuditHistoryComponent_th_6_Template","UserAuditHistoryComponent_td_7_Template","UserAuditHistoryComponent_th_9_Template","UserAuditHistoryComponent_td_10_Template","UserAuditHistoryComponent_th_12_Template","UserAuditHistoryComponent_td_13_Template","UserAuditHistoryComponent_th_15_Template","UserAuditHistoryComponent_td_16_Template","UserAuditHistoryComponent_th_18_Template","UserAuditHistoryComponent_td_19_Template","UserAuditHistoryComponent_th_21_Template","UserAuditHistoryComponent_td_22_Template","ɵɵproperty","ɵɵpureFunction1","_c1","ɵɵpureFunction0","_c0","UserChangePasswordModalComponent","activeModal","ms","changePasswordForm","subscriptions","Subscription","constructor","http","ChangePasswordForm","formGroup","changePassword","valid","add","getHttpObservable","subscribe","msg","isSuccessful","dismiss","validateForm","ngOnDestroy","unsubscribe","ɵɵdirectiveInject","NgbActiveModal","SystemMessageService","HttpClient","selectors","standalone","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵlistener","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵproperty","ɵɵadvance","ɵɵpureFunction0","_c0","_c1","UserFacilityAgencyListVm","userFacilityId","userHEROSAgencyId","userId","facilityId","facilityIdentifier","herosAgencyId","userName","facilityName","facilityType","canDelete","canAdd","countyId","countyName","pfsFacilityId","facilityBusinessAreas","FormData","getFormData","validators","UntypedFormControl","Form","UntypedFormGroup","ColumnDefs","Map","GetModel","fg","UserFacilityAgencyListVmFromFg","constructor","get","value","val","setValue","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r1","columns","get","displayName","row_r3","facilityName","row_r4","facilityIdentifier","row_r5","countyName","row_r6","facilityType","ɵɵlistener","$event","ɵɵrestoreView","_r7","ɵɵnextContext","stopPropagation","ɵɵresetView","removeAll","ɵɵelement","ɵɵproperty","faIcon","faXmark","ɵɵtemplate","UserAssociatedFacilitiesComponent_th_17_button_1_Template","hasData","UserAssociatedFacilitiesComponent","httpClient","ms","facTable","id","canEditFacilities","reload","EventEmitter","UserFacilityAgencyListVm","ColumnDefs","filters","userId","countyId","businessArea","filterMap","initFilters","Object","assign","constructor","ngOnInit","configureColumns","delete","tblReceive","event","value","resetFilters","reloadTable","ajaxData","ajaxReload","removeFac","row","source","rowId","userHEROSAgencyId","setSystemMessage","post","params","HttpParams","set","subscribe","sm","isSuccessful","emit","message","pcgTableInput","getPcgTableInput","tableInput","JSON","stringify","__async","ɵɵdirectiveInject","HttpClient","SystemMessageService","selectors","viewQuery","rf","ctx","TableComponent","i0","_r1","ɵɵelementContainerStart","UserAssociatedFacilitiesComponent_th_5_Template","UserAssociatedFacilitiesComponent_td_6_Template","UserAssociatedFacilitiesComponent_th_8_Template","UserAssociatedFacilitiesComponent_td_9_Template","UserAssociatedFacilitiesComponent_th_11_Template","UserAssociatedFacilitiesComponent_td_12_Template","UserAssociatedFacilitiesComponent_th_14_Template","UserAssociatedFacilitiesComponent_td_15_Template","UserAssociatedFacilitiesComponent_th_17_Template","UserAssociatedFacilitiesComponent_td_18_Template","ɵɵpureFunction1","_c1","ɵɵpureFunction0","_c0","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r2","nonColumns","get","displayName","row_r4","facilityName","row_r5","facilityIdentifier","row_r6","countyName","row_r7","facilityType","ɵɵlistener","$event","ɵɵrestoreView","_r8","ɵɵnextContext","stopPropagation","ɵɵresetView","addAll","ɵɵelement","ɵɵproperty","faIcon","faPlus","ɵɵtemplate","UserNonAssociatedFacilitiesComponent_th_30_button_1_Template","hasData","UserNonAssociatedFacilitiesComponent","btnNonFilterService","httpClient","ms","gvs","nonTable","id","canEditFacilities","reload","EventEmitter","UserFacilityAgencyListVm","ColumnDefs","formGroup","Form","nonFilters","userId","countyId","businessArea","initNonFilters","nonFilterMap","constructor","ngOnInit","Object","assign","configureColumns","resetFilterData","subscribe","resetFilters","delete","tblReceive","event","value","userName","set","ajaxReload","addFac","row","source","setSystemMessage","patchValue","post","getRawValue","sm","__async","isSuccessful","emit","message","pcgTableInput","getPcgTableInput","tableInput","JSON","stringify","params","HttpParams","ɵɵdirectiveInject","ButtonFilterService","HttpClient","SystemMessageService","GlobalVariablesService","selectors","viewQuery","rf","ctx","TableComponent","_r1","nonTable_r2","ɵɵreference","ɵɵtwoWayListener","i0","ɵɵtwoWayBindingSet","ɵɵelementContainerStart","UserNonAssociatedFacilitiesComponent_th_18_Template","UserNonAssociatedFacilitiesComponent_td_19_Template","UserNonAssociatedFacilitiesComponent_th_21_Template","UserNonAssociatedFacilitiesComponent_td_22_Template","UserNonAssociatedFacilitiesComponent_th_24_Template","UserNonAssociatedFacilitiesComponent_td_25_Template","UserNonAssociatedFacilitiesComponent_th_27_Template","UserNonAssociatedFacilitiesComponent_td_28_Template","UserNonAssociatedFacilitiesComponent_th_30_Template","UserNonAssociatedFacilitiesComponent_td_31_Template","ɵɵtwoWayProperty","ɵɵpureFunction1","_c1","ɵɵpureFunction0","_c0","UserFacilitiesComponent","activatedRoute","router","sec","nonAssociatedFac","associatedFac","subscriptions","Subscription","id","canEditFacilities","filters","constructor","ngOnInit","Number","snapshot","params","hasModuleAccess","BusinessAreaEnum","Admin","SecurityService","setMinRole","PermissionRole","Manager","reloadTables","nonTable","ajaxReload","facTable","ɵɵdirectiveInject","ActivatedRoute","Router","selectors","viewQuery","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","i0","ɵɵrestoreView","_r1","ɵɵresetView","ɵɵadvance","ɵɵproperty","__decorate","UntilDestroy","ɵɵelement","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","ctx_r0","faIconName","faCheck","ɵɵadvance","ɵɵtextInterpolate1","fingerprintsRegistered","ɵɵlistener","ɵɵrestoreView","_r2","ɵɵnextContext","ɵɵresetView","removeFingerprint","ɵɵtextInterpolate","errorString","UserFingerprintAuthenticationComponent","httpClient","route","ms","fingerprint","sec","userPin","isOnPrem","isError","hasFingerprint","user","faFingerprint","constructor","ngOnInit","getUser","getFingerprintInfo","params","pipe","untilDestroyed","subscribe","id","Number","get","sm","value","model","isSuccessful","message","captureFingerprint","register","snapshot","paramMap","setSystemMessage","response","biometricXmlval","Images","Fingerprint","Base64Image","vm","FingerprintVm","biometricXml","post","msg","messageClass","ɵɵdirectiveInject","HttpClient","ActivatedRoute","SystemMessageService","FingerprintService","SecurityService","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","ɵɵtemplate","UserFingerprintAuthenticationComponent_Conditional_3_Template","UserFingerprintAuthenticationComponent_Conditional_8_Template","UserFingerprintAuthenticationComponent_Conditional_9_Template","ɵɵconditional","__decorate","UntilDestroy","LoginHistoryVm","attemptSuccessful","userName","userID","ipAddress","dateAttempted","dateAttemptedFormatted","FormData","getFormData","validators","UntypedFormControl","Validators","required","Form","UntypedFormGroup","ColumnDefs","Map","GetModel","fg","LoginHistoryVmFromFg","constructor","get","value","val","setValue","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r0","columns","get","displayName","row_r2","dateAttemptedFormatted","row_r3","attemptSuccessful","row_r4","userName","row_r5","ipAddress","UserLoginHistoryComponent","route","gvs","LoginHistoryVm","ColumnDefs","id","constructor","ngOnInit","Number","snapshot","params","tableReceive","event","set","value","ɵɵdirectiveInject","ActivatedRoute","GlobalVariablesService","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","ɵɵlistener","$event","ɵɵelementContainerStart","ɵɵtemplate","UserLoginHistoryComponent_th_2_Template","UserLoginHistoryComponent_td_3_Template","UserLoginHistoryComponent_th_5_Template","UserLoginHistoryComponent_td_6_Template","UserLoginHistoryComponent_th_8_Template","UserLoginHistoryComponent_td_9_Template","UserLoginHistoryComponent_th_11_Template","UserLoginHistoryComponent_td_12_Template","ɵɵproperty","ɵɵpureFunction1","_c0","_c2","ɵɵpureFunction0","_c1","UserRoleInfoServiceService","constructor","addSec","a","name","user","userAdmin","technician","manager","pharmacist","systemAdmin","addSecData","jsonData","modalData","permission","length","secAccessObj","PermissionName","descr","PermissionDescription","role","PermissionInfoRoles","PermissionRole","User","Manager","Pharmacist","Technician","UserAdmin","SystemAdmin","push","factory","ɵfac","providedIn","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r1","permissionRole","toDisplay","role_r1","ɵɵelement","ɵɵrepeaterCreate","UserRoleInfoComponent_Conditional_0_Conditional_0_For_3_Template","ɵɵrepeaterTrackByIdentity","ɵɵrepeater","roles","ɵɵproperty","faCheck","ɵɵtemplate","UserRoleInfoComponent_Conditional_0_For_2_For_7_Conditional_1_Template","ɵɵconditional","hasRoleAccess","role_r4","sec_r5","UserRoleInfoComponent_Conditional_0_For_2_For_7_Template","ɵɵclassMap","module","businessAreaEnum","HelpDesk","name","ɵɵsanitizeHtml","descr","ɵɵlistener","ɵɵrestoreView","_r3","ɵɵnextContext","ɵɵresetView","addModuleAccessDetails","UserRoleInfoComponent_Conditional_0_Conditional_0_Template","UserRoleInfoComponent_Conditional_0_For_2_Template","_forTrack0","UserRoleInfoComponent_Conditional_0_ForEmpty_3_Template","secAccess","length","UserRoleInfoComponent","roleInfoService","http","router","activeModal","PermissionRole","SecurityService","getMinBaseRoles","User","BusinessAreaEnum","routes","useDefault","loading","signal","constructor","ngOnInit","getRoutes","HEROS","getHEROSNav","children","PharmLog","getPharmacyNav","NDC","getNdcDirectoryNav","MetabolicFormula","getMetabolicFormulaNav","CI","getCiRepackNav","Admin","getAdminNav","SysInv","getInventoryNav","role","sec","moduleAccess","modules","permissionRoles","Object","entries","find","o","toLowerCase","navigate","convertModuleNameToRoute","close","mod","toDescription","split","join","ɵɵdirectiveInject","UserRoleInfoServiceService","HttpClient","Router","NgbActiveModal","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","UserRoleInfoComponent_Conditional_0_Template","UserRoleInfoComponent_Conditional_1_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r1","permissionRole","toDisplay","role_r1","ɵɵelement","ɵɵrepeaterCreate","RoleInfoComponent_Conditional_0_Conditional_0_For_3_Template","ɵɵrepeaterTrackByIdentity","ɵɵrepeater","roles","ɵɵproperty","faCheck","ɵɵtemplate","RoleInfoComponent_Conditional_0_For_2_For_7_Conditional_1_Template","ɵɵconditional","hasRoleAccess","role_r4","sec_r5","RoleInfoComponent_Conditional_0_For_2_For_7_Template","ɵɵclassMap","module","businessAreaEnum","HelpDesk","name","ɵɵsanitizeHtml","descr","ɵɵlistener","ɵɵrestoreView","_r3","ɵɵnextContext","ɵɵresetView","addModuleAccessDetails","RoleInfoComponent_Conditional_0_Conditional_0_Template","RoleInfoComponent_Conditional_0_For_2_Template","_forTrack0","RoleInfoComponent_Conditional_0_ForEmpty_3_Template","secAccess","length","RoleInfoComponent","UserRoleInfoComponent","ngOnInit","getModalData","loading","update","http","get","subscribe","msg","roleInfoService","addSecData","JSON","parse","model","map","o","addSec","value","__ngFactoryType__","selectors","standalone","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","RoleInfoComponent_Conditional_0_Template","RoleInfoComponent_Conditional_1_Template","UserRoleInfoModalComponent","activeModal","http","module","businessAreaEnum","BusinessAreaEnum","modalTitle","faCheck","optionalText","permissionRole","PermissionRole","constructor","ngOnInit","getOptionalText","toDescription","get","Number","subscribe","vm","text","ɵɵdirectiveInject","NgbActiveModal","HttpClient","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","dismiss","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate1","ɵɵproperty","ɵɵsanitizeHtml","ModuleAccessVm","moduleAccessId","userId","module","permissionRole","updatedByUser","updateByDate","friendlyId","displayName","FormData","getFormData","validators","UntypedFormControl","Validators","required","maxLength","Form","UntypedFormGroup","GetModel","fg","ModuleAccessVmFromFg","constructor","get","value","val","setValue","UserModulesVm","userId","userName","moduleAccess","FormData","getFormData","validators","UntypedFormControl","Validators","required","Form","UntypedFormGroup","GetModel","fg","UserModulesVmFromFg","constructor","get","value","val","setValue","ɵɵelementStart","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵrestoreView","_r3","ctx_r1","ɵɵnextContext","ɵɵresetView","createTicket","ɵɵadvance","ɵɵproperty","ɵɵpropertyInterpolate","ɵɵpipeBind2","module_r5","updateByDate","ɵɵtextInterpolate1","ɵɵpipeBind1","updatedByUser","_r4","$implicit","openRoleInfoModal","module","updateModuleAccess","ɵɵtwoWayListener","$event","i0","ɵɵtwoWayBindingSet","permissionRole","ɵɵtemplate","UserModuleAccessComponent_form_0_For_8_Conditional_7_Template","ɵɵclassMapInterpolate1","getDisplayName","ɵɵclassProp","ɵɵpropertyInterpolate1","ɵɵtwoWayProperty","ɵɵpureFunction0","_c0","canEditModuleAccess","ɵɵconditional","_r1","updateForm","model","UserModuleAccessComponent_form_0_div_4_Template","UserModuleAccessComponent_form_0_div_5_Template","ɵɵrepeaterCreate","UserModuleAccessComponent_form_0_For_8_Template","_forTrack0","formGroup","isSysAdmin","ɵɵrepeater","editUserService","moduleAccessesSignal","moduleAccess","UserModuleAccessComponent","gvs","route","inject","ActivatedRoute","router","Router","ms","SystemMessageService","httpClient","HttpClient","security","SecurityService","modalService","NgbModal","EditUserService","toastr","ToastrService","allModulesAssigned","businessAreaEnum","BusinessAreaEnum","UserModulesVm","Form","userId","routeSubscription","constructor","title","setTitle","ngOnInit","hasModuleAccess","Admin","setMinRole","PermissionRole","SystemAdmin","paramMap","subscribe","parseInt","snapshot","params","getModuleAccess","ngOnDestroy","unsubscribe","getModuleAccesses","pipe","debounceTime","r","set","userName","role","UserAdmin","Manager","patchValue","getAvailableModules","getUser","id","user","setSecurity","undefined","modalRef","open","UserRoleInfoModalComponent","size","componentInstance","availableModules","filter","value","find","m","forEach","key","addModuleAccess","updatedModuleAccesses","sort","a","b","displayName","toUpperCase","update","current","__spreadProps","__spreadValues","Object","assign","ModuleAccessVm","moduleAccessId","Number","NoAccess","businessArea","toDisplay","setModuleAccesses","isSuccessful","success","message","positionClass","timeOut","error","get","msg","navigateByUrl","setSystemMessage","ɵɵdirectiveInject","Title","GlobalVariablesService","selectors","standalone","decls","vars","consts","template","rf","ctx","UserModuleAccessComponent_form_0_Template","CredentialListVm","credentialId","displayName","dateGenerated","dateGeneratedFormatted","FormData","getFormData","validators","UntypedFormControl","Validators","required","Form","UntypedFormGroup","ColumnDefs","Map","GetModel","fg","CredentialListVmFromFg","constructor","get","value","val","setValue","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r2","ctx_r2","ɵɵnextContext","ɵɵresetView","openChangePasswordModal","ɵɵelementEnd","_r4","resetPassword","_r5","setBPHPuser","ɵɵtext","ɵɵadvance","ɵɵtextInterpolate","isInternalBphpUserFg","_r6","setInactivityTimeout","inactivityTimeoutFg","ɵɵelement","ɵɵproperty","pin","isOnPrem","faIconName","faCheck","ɵɵtemplate","UserMultiFactorAuthenticationComponent_Conditional_19_Conditional_3_Template","$event","i0","_r7","openPINModal","preventDefault","ɵɵconditional","faGrid","ɵɵtextInterpolate1","_r8","saveMainOrg","id","editUserVm","organizationName","row_r9","displayName","row_r10","dateGeneratedFormatted","row_r12","_r11","$implicit","deleteRecord","userId","credentialId","_r13","setPin","dismissPinModal","UserMultiFactorAuthenticationComponent","modalService","router","ms","sec","httpClient","route","gvs","cdRef","credentialTable","pinModal","inactivityTimeout","isInternalBphpUser","selectOrgs","formGroup","EditUserVm","Form","GetModel","isCurrentUser","canManageUsers","canResetPassword","orgLoginType","signal","credColumns","CredentialListVm","ColumnDefs","user","hasMFADevice","origInactivityTimeout","isSysAdmin","canAccessOtherUsersFingerprints","needToChangePin","isLoaded","loginTypeEnum","LoginTypeEnum","constructor","ngOnInit","Number","snapshot","params","getUserData","hasModuleAccess","BusinessAreaEnum","Admin","PermissionRole","SystemAdmin","setTimeout","data","length","getUser","email","includes","queryParams","subscribe","r","modalRef","open","RegisterPinModalComponent","beforeDismiss","componentInstance","allowDismiss","SecurityService","setMinRole","Pharmacist","get","vm","patchValue","userPin","m2SysType","set","userName","firstName","lastName","saveUsername","post","controls","value","sm","isSuccessful","setSystemMessage","message","organizationId","undefined","Traditional","additionalData","loginType","SSO","saveM2SysType","detectChanges","navigateByUrl","skipLocationChange","then","navigate","setSecurity","UserChangePasswordModalComponent","animation","isWelcomeEmail","openMultiFactorDeviceModal","modal","RegisterAuthDeviceModalComponent","ajaxReload","idParams","promptPassword","password","getHttpObservable","param","encodeURIComponent","dismissAll","ɵɵdirectiveInject","NgbModal","Router","SystemMessageService","HttpClient","ActivatedRoute","GlobalVariablesService","ChangeDetectorRef","selectors","viewQuery","rf","ctx","TableComponent","_r1","UserMultiFactorAuthenticationComponent_Conditional_4_Template","UserMultiFactorAuthenticationComponent_Conditional_5_Template","UserMultiFactorAuthenticationComponent_Conditional_7_Template","UserMultiFactorAuthenticationComponent_Conditional_8_Template","UserMultiFactorAuthenticationComponent_Conditional_10_Template","UserMultiFactorAuthenticationComponent_Conditional_11_Template","UserMultiFactorAuthenticationComponent_Conditional_18_Template","UserMultiFactorAuthenticationComponent_Conditional_19_Template","UserMultiFactorAuthenticationComponent_Conditional_24_Template","UserMultiFactorAuthenticationComponent_Conditional_25_Template","UserMultiFactorAuthenticationComponent_Conditional_30_Template","ɵɵelementContainerStart","UserMultiFactorAuthenticationComponent_th_39_Template","UserMultiFactorAuthenticationComponent_td_40_Template","UserMultiFactorAuthenticationComponent_th_42_Template","UserMultiFactorAuthenticationComponent_td_43_Template","UserMultiFactorAuthenticationComponent_th_45_Template","UserMultiFactorAuthenticationComponent_td_46_Template","UserMultiFactorAuthenticationComponent_ng_template_47_Template","ɵɵtemplateRefExtractor","ɵɵpureFunction1","_c4","_c6","ɵɵpureFunction0","_c5","SubscriptionEnum","toDescription","val","toDisplay","UserSubscriptionVm","userName","userNotificationId","userId","reportId","businessArea","subscription","sendEmail","sendPush","sendBrowser","options","canSubscribe","name","description","friendlyId","FormData","getFormData","validators","UntypedFormControl","Validators","required","Form","UntypedFormGroup","ColumnDefs","Map","GetModel","fg","UserSubscriptionVmFromFg","constructor","get","value","val","setValue","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r2","ctx_r2","ɵɵnextContext","ɵɵresetView","operatePushNotification","ɵɵelementEnd","ɵɵtext","ɵɵadvance","ɵɵproperty","pushNotificationsEnabledSignal","disablePushToggleSignal","ɵɵelementContainer","ɵɵtemplate","UserNotificationsComponent_Conditional_2_Conditional_6_Template","UserNotificationsComponent_Conditional_2_ng_container_7_Template","ɵɵconditional","iAmMeSignal","subscriptionTemplate_r4","ɵɵpureFunction1","_c0","masterSubscriptions","UserNotificationsComponent_Conditional_3_For_1_For_6_ng_container_0_Template","ɵɵpureFunction2","_c1","subscription_r5","ɵ$index_41_r6","ɵ$count_41_r7","ɵɵrepeaterCreate","UserNotificationsComponent_Conditional_3_For_1_For_6_Template","_forTrack0","ɵɵclassMap","area_r8","isSelected","getAreaSectionId","ɵɵtextInterpolate","name","ɵɵrepeater","subscriptions","UserNotificationsComponent_Conditional_3_For_1_Template","areasSignal","area_r10","_r9","$implicit","openSetting","ɵɵelementContainerStart","option_r12","_r11","optionToggle_r13","ɵɵreference","subscription_r14","subscription","toggleSubscription","checked","ɵɵtextInterpolate1","options","get","displayName","UserNotificationsComponent_ng_template_11_ng_container_4_Template","ɵɵclassProp","last_r15","reportId","highlightSignal","description","UserNotificationsComponent","swPush","_subscription","unsubscribe","Subject","http","inject","HttpClient","sec","SecurityService","route","ActivatedRoute","notification","NotificationService","editUserService","EditUserService","destroyRef","DestroyRef","gvs","GlobalVariablesService","userIdSignal","signal","computed","getUser","id","focusSignal","showSideNav","showSettings","userNotificationId","userId","sendEmail","sendPush","sendBrowser","canSubscribe","UserSubscriptionVm","ColumnDefs","httpOptions","headers","HttpHeaders","constructor","title","setTitle","subscribe","set","ngOnInit","setParamsFromRoute","getSubscriptions","subscribeToUserModuleAccess","paramId","getUserIdFromRoute","snapshot","Number","params","FormatHelperService","ToTitleCase","setFocus","GetIsNullyOrWhitespace","isNaN","SubscriptionEnum","setTimeout","area","find","o","some","s","element","document","getElementById","scrollIntoView","behavior","filter","map","moduleAccesses$","pipe","takeUntilDestroyed","httpParams","HttpParams","userName","groups","Set","i","businessArea","BusinessAreaEnum","toDescription","setMasterOptions","group","flat","option","allEnabled","every","sub","includes","replace","toLowerCase","value","updates","newSubs","push","postUpdates","length","body","JSON","stringify","post","response","showMessage","message","messageClass","unsubscribePush","endpoint","Notification","permission","showError","responseType","publicKey","requestSubscription","serverPublicKey","then","showSuccess","error","console","catch","showWarning","classList","remove","encodeURIComponent","next","ngOnDestroy","ɵɵdirectiveInject","Title","SwPush","selectors","standalone","decls","vars","consts","template","rf","ctx","UserNotificationsComponent_Conditional_2_Template","UserNotificationsComponent_Conditional_3_Template","i0","_r1","UserNotificationsComponent_For_10_Template","UserNotificationsComponent_ng_template_11_Template","ɵɵtemplateRefExtractor","UserOrganizationListVm","organizationId","organizationName","city","county","facilityCount","add","remove","FormData","getFormData","validators","UntypedFormControl","Validators","required","Form","UntypedFormGroup","ColumnDefs","Map","GetModel","fg","UserOrganizationListVmFromFg","constructor","get","value","val","setValue","UserOrganizationService","http","constructor","save","body","post","updateOrganization","_userId","_orgId","UserOrganizationRequestBody","associateAllOrganizations","_tableInput","unassociateAllOrganizations","ɵɵinject","HttpClient","factory","ɵfac","providedIn","id","orgId","associateAll","removeAll","tableInput","_id","_associateAll","_removeAll","ɵɵelement","ɵɵelementStart","ɵɵlistener","$event","i0","ɵɵrestoreView","_r2","ɵɵresetView","stopPropagation","ɵɵelementEnd","ɵɵproperty","row_r3","organizationId","ɵɵsanitizeUrl","ɵɵadvance","ctx_r3","faIcon","faExternalLink","ɵɵtemplate","UserNonAssociatedOrganizationsComponent_td_6_Conditional_1_Template","ɵɵconditional","ɵɵtext","ɵɵtextInterpolate","columns","get","displayName","row_r5","organizationName","row_r6","city","row_r7","county","row_r8","facilityCount","_r9","ɵɵnextContext","addAll","faPlus","UserNonAssociatedOrganizationsComponent_th_20_button_1_Template","hasData","UserNonAssociatedOrganizationsComponent","uos","ms","table","userId","editable","sync","EventEmitter","UserOrganizationListVm","ColumnDefs","params","id","constructor","ngOnInit","configureParams","configureColumns","delete","tblReceive","event","recordsTotal","add","orgId","updateOrganization","subscribe","sm","isSuccessful","emit","setSystemMessage","message","messageClass","pcgTableInput","getPcgTableInput","tableInput","JSON","stringify","associateAllOrganizations","ɵɵdirectiveInject","UserOrganizationService","SystemMessageService","selectors","viewQuery","rf","ctx","TableComponent","_r1","ɵɵelementContainerStart","UserNonAssociatedOrganizationsComponent_th_5_Template","UserNonAssociatedOrganizationsComponent_td_6_Template","UserNonAssociatedOrganizationsComponent_th_8_Template","UserNonAssociatedOrganizationsComponent_td_9_Template","UserNonAssociatedOrganizationsComponent_th_11_Template","UserNonAssociatedOrganizationsComponent_td_12_Template","UserNonAssociatedOrganizationsComponent_th_14_Template","UserNonAssociatedOrganizationsComponent_td_15_Template","UserNonAssociatedOrganizationsComponent_th_17_Template","UserNonAssociatedOrganizationsComponent_td_18_Template","UserNonAssociatedOrganizationsComponent_th_20_Template","UserNonAssociatedOrganizationsComponent_td_21_Template","ɵɵpureFunction1","_c1","ɵɵpureFunction0","_c0","ɵɵelement","ɵɵelementStart","ɵɵlistener","$event","i0","ɵɵrestoreView","_r2","ɵɵresetView","stopPropagation","ɵɵelementEnd","ɵɵproperty","row_r3","organizationId","ɵɵsanitizeUrl","ɵɵadvance","ctx_r3","faIcon","faExternalLink","ɵɵtemplate","UserAssociatedOrganizationsComponent_td_6_Conditional_1_Template","ɵɵconditional","ɵɵtext","ɵɵtextInterpolate","columns","get","displayName","row_r5","organizationName","row_r6","city","row_r7","county","row_r8","facilityCount","_r9","ɵɵnextContext","removeAll","faXmark","UserAssociatedOrganizationsComponent_th_20_button_1_Template","hasData","UserAssociatedOrganizationsComponent","uos","ms","gvs","table","userId","editable","sync","EventEmitter","UserOrganizationListVm","ColumnDefs","params","id","constructor","ngOnInit","configureParams","configureColumns","delete","tblReceive","event","userName","set","value","recordsTotal","remove","orgId","updateOrganization","subscribe","sm","isSuccessful","emit","setSystemMessage","message","messageClass","pcgTableInput","getPcgTableInput","tableInput","JSON","stringify","unassociateAllOrganizations","ɵɵdirectiveInject","UserOrganizationService","SystemMessageService","GlobalVariablesService","selectors","viewQuery","rf","ctx","TableComponent","_r1","ɵɵelementContainerStart","UserAssociatedOrganizationsComponent_th_5_Template","UserAssociatedOrganizationsComponent_td_6_Template","UserAssociatedOrganizationsComponent_th_8_Template","UserAssociatedOrganizationsComponent_td_9_Template","UserAssociatedOrganizationsComponent_th_11_Template","UserAssociatedOrganizationsComponent_td_12_Template","UserAssociatedOrganizationsComponent_th_14_Template","UserAssociatedOrganizationsComponent_td_15_Template","UserAssociatedOrganizationsComponent_th_17_Template","UserAssociatedOrganizationsComponent_td_18_Template","UserAssociatedOrganizationsComponent_th_20_Template","UserAssociatedOrganizationsComponent_td_21_Template","ɵɵpureFunction1","_c1","ɵɵpureFunction0","_c0","UserOrganizationsComponent","sec","route","availableOrgs","associatedOrgs","faIcon","faInfoCircle","canManageOrgs","userId","constructor","ngOnInit","Number","snapshot","params","id","hasModuleAccess","BusinessAreaEnum","Admin","SecurityService","setMinRole","PermissionRole","Manager","sync","table","ajaxReload","ɵɵdirectiveInject","ActivatedRoute","selectors","viewQuery","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵlistener","i0","ɵɵrestoreView","_r1","ɵɵresetView","ɵɵadvance","ɵɵproperty","__decorate","UntilDestroy","UserOrganizationsModule","UserOrganizationService","imports","CommonModule","FontAwesomeModule","TableModule","NgbTooltipModule","UserRoleInfoModalModule","RouterModule","CommonModule","SharedModule","RxConnectsSecurityEnum","toDescription","val","toDisplay","RxConnectsUserSecurityVm","repositoryId","donorId","userId","securityEnum","FormData","getFormData","validators","UntypedFormControl","Validators","required","Form","UntypedFormGroup","GetModel","fg","RxConnectsUserSecurityVmFromFg","constructor","get","value","val","setValue","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","removeSecurity","ɵɵtext","ɵɵadvance","ɵɵproperty","_r3","UserRxConnectsSettingsComponent","route","sec","sm","httpClient","table","credentialTable","canEditUser","fullName","filters","userId","formGroup","RxConnectsUserSecurityVm","Form","model$","user","selectedUserId","repositoryItems","donorItems","selectedSecurityType","RxConnectsSecurityEnum","constructor","title","setTitle","ngOnInit","params","subscribe","loadSecurity","getUser","get","patchValue","vm","securityEnum","repositoryId","donorId","saveSecurityForm","valid","IsValid","getHttpObservable","isSuccessful","setValue","model","setSystemMessage","message","validateForm","result","value","Repository","Donor","ɵɵdirectiveInject","Title","ActivatedRoute","SecurityService","SystemMessageService","HttpClient","selectors","viewQuery","rf","ctx","TableComponent","ɵɵtemplate","UserRxConnectsSettingsComponent_div_11_Template","UserRxConnectsSettingsComponent_div_12_Template","ɵɵpureFunction2","_c2","ɵɵpureFunction1","_c0","_c1","EditUserModule","RouterModule","CommonModule","SharedModule","UserRoleInfoModalModule","NgbModalModule","UserOrganizationsModule"],"x_google_ignoreList":[0]}