diff --git a/ppr-ui/package-lock.json b/ppr-ui/package-lock.json
index d8352d80b..fa3847acd 100644
--- a/ppr-ui/package-lock.json
+++ b/ppr-ui/package-lock.json
@@ -24,14 +24,14 @@
"@vuelidate/core": "^2.0.3",
"@vuelidate/validators": "^2.0.4",
"@vuepic/vue-datepicker": "^7.2.2",
- "axios": "^0.21.1",
+ "axios": "^0.26.1",
"flush-promises": "^1.0.2",
"http-status-codes": "^2.1.4",
"material-design-icons": "^3.0.1",
"moment": "^2.29.1",
"moment-timezone": "^0.5.34",
"pinia": "^2.1.3",
- "sbc-common-components": "^4.0.1",
+ "sbc-common-components": "4.0.2",
"vue": "^2.0.0 || >=3.3.4",
"vue-pdf-embed": "1.1.6",
"vue-plugin-helper-decorator": "^0.0.12",
@@ -3379,11 +3379,11 @@
}
},
"node_modules/axios": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
- "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
+ "version": "0.26.1",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
+ "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
"dependencies": {
- "follow-redirects": "^1.14.0"
+ "follow-redirects": "^1.14.8"
}
},
"node_modules/babel-merge": {
@@ -7479,9 +7479,9 @@
}
},
"node_modules/sbc-common-components": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/sbc-common-components/-/sbc-common-components-4.0.1.tgz",
- "integrity": "sha512-UTHkXhdCgPgA3Y1gn2p7sIVVxt1F3EhzdEuqENe2QsM8Aqm3RE5X9zVjHZUuY98avRAXpdAbB+xETsFR5+t4Dw==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/sbc-common-components/-/sbc-common-components-4.0.2.tgz",
+ "integrity": "sha512-U3RWmDjXuWK365OnyKyzzA454AVu6oLeH7xicT5U21A9S5giIL4BxTrTTCn2kbboRkyAWOBD/TsNbLfV6J5y+g==",
"dependencies": {
"@mdi/font": "^4.5.95",
"@vue/compiler-dom": "^3.2.45",
@@ -7547,14 +7547,6 @@
"vue": "3.3.4"
}
},
- "node_modules/sbc-common-components/node_modules/axios": {
- "version": "0.26.1",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
- "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
- "dependencies": {
- "follow-redirects": "^1.14.8"
- }
- },
"node_modules/sbc-common-components/node_modules/vue": {
"version": "3.3.4",
"resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz",
@@ -11411,11 +11403,11 @@
"dev": true
},
"axios": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
- "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
+ "version": "0.26.1",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
+ "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
"requires": {
- "follow-redirects": "^1.14.0"
+ "follow-redirects": "^1.14.8"
}
},
"babel-merge": {
@@ -14452,9 +14444,9 @@
}
},
"sbc-common-components": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/sbc-common-components/-/sbc-common-components-4.0.1.tgz",
- "integrity": "sha512-UTHkXhdCgPgA3Y1gn2p7sIVVxt1F3EhzdEuqENe2QsM8Aqm3RE5X9zVjHZUuY98avRAXpdAbB+xETsFR5+t4Dw==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/sbc-common-components/-/sbc-common-components-4.0.2.tgz",
+ "integrity": "sha512-U3RWmDjXuWK365OnyKyzzA454AVu6oLeH7xicT5U21A9S5giIL4BxTrTTCn2kbboRkyAWOBD/TsNbLfV6J5y+g==",
"requires": {
"@mdi/font": "^4.5.95",
"@vue/compiler-dom": "^3.2.45",
@@ -14517,14 +14509,6 @@
"@vue/shared": "3.3.4"
}
},
- "axios": {
- "version": "0.26.1",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
- "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
- "requires": {
- "follow-redirects": "^1.14.8"
- }
- },
"vue": {
"version": "3.3.4",
"resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz",
diff --git a/ppr-ui/package.json b/ppr-ui/package.json
index 27ffa5d45..db2249d7f 100644
--- a/ppr-ui/package.json
+++ b/ppr-ui/package.json
@@ -29,14 +29,14 @@
"@vuelidate/core": "^2.0.3",
"@vuelidate/validators": "^2.0.4",
"@vuepic/vue-datepicker": "^7.2.2",
- "axios": "^0.21.1",
+ "axios": "^0.26.1",
"flush-promises": "^1.0.2",
"http-status-codes": "^2.1.4",
"material-design-icons": "^3.0.1",
"moment": "^2.29.1",
"moment-timezone": "^0.5.34",
"pinia": "^2.1.3",
- "sbc-common-components": "^4.0.1",
+ "sbc-common-components": "4.0.2",
"vue": "^2.0.0 || >=3.3.4",
"vue-pdf-embed": "1.1.6",
"vue-plugin-helper-decorator": "^0.0.12",
diff --git a/ppr-ui/src/App.vue b/ppr-ui/src/App.vue
index 09eecc90b..d60b0807f 100644
--- a/ppr-ui/src/App.vue
+++ b/ppr-ui/src/App.vue
@@ -235,7 +235,7 @@ export default defineComponent({
// When we are authenticated, allow time for session storage propagation from auth, then initialize application
// (since we won't get the event from Signin component)
if (isAuthenticated.value) {
- setTimeout(() => { onProfileReady(true) }, 3000)
+ setTimeout(() => { onProfileReady(true) }, 1000)
}
}
})
@@ -613,9 +613,7 @@ export default defineComponent({
const proceedAfterError = (proceed: boolean): void => {
localState.errorDisplay = false
// Navigate to Registries dashboard in the event of a login or access error.
- if (localState.errorOptions === loginError || localState.errorOptions === authPprError ||
- localState.errorOptions === authAssetsError
- ) {
+ if ([loginError.title, authPprError.title, authAssetsError.title].includes(localState.errorOptions.title)) {
navigateTo(localState.registryUrl)
}
// for now just refresh app
diff --git a/ppr-ui/src/assets/img/BCReg_Generic_Login_image.jpg b/ppr-ui/src/assets/img/BCReg_Generic_Login_image.jpg
new file mode 100644
index 000000000..9d230dcaa
Binary files /dev/null and b/ppr-ui/src/assets/img/BCReg_Generic_Login_image.jpg differ
diff --git a/ppr-ui/src/components/collateral/vehicleCollateral/EditCollateral.vue b/ppr-ui/src/components/collateral/vehicleCollateral/EditCollateral.vue
index b833971ef..0ded0a9f9 100644
--- a/ppr-ui/src/components/collateral/vehicleCollateral/EditCollateral.vue
+++ b/ppr-ui/src/components/collateral/vehicleCollateral/EditCollateral.vue
@@ -56,22 +56,14 @@
v-model="currentVehicle.type"
class="vehicle-type-select"
:items="vehicleTypesNoMH"
+ itemTitle="text"
variant="filled"
label="Vehicle Type"
:errorMessages="
errors.type.message ? errors.type.message : ''
"
@update:model-value="resetSerialError()"
- >
-
-
- {{ item.text }}
-
-
-
+ />
-
+
- isRoleQualifiedSupplier.value &&
- localState.item.lienRegistrationType &&
- localState.item.lienRegistrationType !== APIRegistrationTypes.SECURITY_AGREEMENT
- ),
- hasLockedForQS: computed(() =>
- hasLockedState(localState.item) && isRoleQualifiedSupplier.value
- )
+ hasLienForQS: computed(() => {
+ return isRoleQualifiedSupplier.value &&
+ localState.item.lienRegistrationType &&
+ localState.item.lienRegistrationType !== APIRegistrationTypes.SECURITY_AGREEMENT
+ }),
+ hasLockedForQS: computed(() => {
+ return hasLockedState(localState.item) && isRoleQualifiedSupplier.value
+ })
})
const hasRequiredTransfer = (item: MhRegistrationSummaryIF) => {
diff --git a/ppr-ui/src/main.ts b/ppr-ui/src/main.ts
index c076f96b3..b6b81609a 100644
--- a/ppr-ui/src/main.ts
+++ b/ppr-ui/src/main.ts
@@ -48,33 +48,36 @@ async function start () {
}
// configure KeyCloak Service
- console.info('Starting Keycloak service...') // eslint-disable-line no-console
+ await syncSession()
+
+ // start Vue application
+ console.info('Starting app...')
+ app.use(Vuelidate)
+ app.use(router)
+ app.use(pinia)
+ app.use(vuetify)
+ app.mount('#app')
+}
+
+async function syncSession () {
+ console.info('Starting Keycloak service...')
const keycloakConfig: any = {
url: `${window.keycloakAuthUrl}`,
realm: `${window.keycloakRealm}`,
clientId: `${window.keycloakClientId}`
}
+
await KeycloakService.setKeycloakConfigUrl(keycloakConfig)
// Auto authenticate user only if they are not trying a login or logout
if (!isSigningIn() && !isSigningOut()) {
- console.log('inside initalize token')
// Initialize token service which will do a check-sso to initiate session
await KeycloakService.initializeToken(null).then(() => { }).catch(err => {
- console.log(err)
if (err?.message !== 'NOT_AUTHENTICATED') {
throw err
}
})
}
-
- // start Vue application
- console.info('Starting app...')
- app.use(Vuelidate)
- app.use(router)
- app.use(pinia)
- app.use(vuetify)
- app.mount('#app')
}
// execution and error handling
diff --git a/ppr-ui/src/views/auth/Signin.vue b/ppr-ui/src/views/auth/Signin.vue
index 3b93a41e1..48dc17ca9 100644
--- a/ppr-ui/src/views/auth/Signin.vue
+++ b/ppr-ui/src/views/auth/Signin.vue
@@ -5,7 +5,6 @@