Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions webroot/docs/ADD_COMPACT.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ Needed when exercising the new compact under the mock API:
(Cosmetology and social work are omitted there on purpose because they do not allow registration.)
- [ ] Add or extend licensee / search fixtures only if you need mock flows for that compact (many fixtures stay on `octp` by default)
- [ ] Add mock overlay to `mockProviderCompactOverlays()`
- [ ] If the new compact's `AppGroupMode` is `PRIVILEGE_PURCHASE`, add its privilege fees to `mockPrivilegeFeesByCompact`. Include one `licenseTypeAbbreviation` per license type the purchase-options API returns. Cosmetology, social work, and PSYPACT are omitted because they are `MULTI_STATE` and do not sell privileges.

### 8. Optional / situational UI

Expand Down
2 changes: 1 addition & 1 deletion webroot/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
"uuid": "^14.0.1",
"vue": "^3.5.41",
"vue-facing-decorator": "^3.0.4",
"vue-i18n": "^11.4.8",
"vue-i18n": "^11.4.16",
"vue-responsiveness": "^0.2.5",
"vue-router": "^4.5.1",
"vue3-lazyload": "^0.4.2",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import { AcceptedAttestationToSend } from '@models/AcceptedAttestationToSend/Acc
import { PrivilegeAttestation } from '@models/PrivilegeAttestation/PrivilegeAttestation.model';
import { PurchaseFlowStep } from '@/models/PurchaseFlowStep/PurchaseFlowStep.model';
import { State } from '@/models/State/State.model';
import { CompactType } from '@/utils/compactConfig';
import { dataApi } from '@network/data.api';
import moment from 'moment';
import Joi from 'joi';
Expand Down Expand Up @@ -229,6 +230,16 @@ export default class PrivilegePurchaseSelect extends mixins(MixinForm) {
return this.numPrivilegesChosen > 0;
}

get jurisprudenceExplanationTextKey(): string {
let key = 'licensing.jurisprudenceExplanationText';

if (this.currentCompactType === CompactType.DIETITIANS) {
key = 'licensing.jurisprudenceExamExplanationText';
}

return key;
}

get jurisprudenceAttestation(): PrivilegeAttestation {
return this.attestationRecords.find((record) => ((record as any)?.id === 'jurisprudence-confirmation')) || new PrivilegeAttestation();
}
Expand Down Expand Up @@ -307,7 +318,7 @@ export default class PrivilegePurchaseSelect extends mixins(MixinForm) {
this.formData[`jurisprudence-${stateAbbrev}`] = new FormInput({
id: `jurisprudence-${stateAbbrev}`,
name: `jurisprudence-${stateAbbrev}`,
label: computed(() => this.$t('licensing.jurisprudenceExplanationText')),
label: computed(() => this.$t(this.jurisprudenceExplanationTextKey)),
Comment thread
coderabbitai[bot] marked this conversation as resolved.
value: false,
validation: Joi.boolean().invalid(false).required().messages(this.joiMessages.boolean),
});
Expand Down
3 changes: 2 additions & 1 deletion webroot/src/locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -707,7 +707,8 @@
"noHistory": "No history",
"historyDisclaimer": "For further information regarding disciplinary action, please visit the website of the relevant licensing board in the state where the license or privilege is held.",
"twoHomeStateErrorMessage": "Two states have you listed as a resident. Please update your information with those states to reflect your current residency status.",
"jurisprudenceExplanationText": "I attest I have successfully completed a jurisprudence exam for this state, if required",
"jurisprudenceExplanationText": "I attest that I have successfully completed or will successfully complete the jurisprudence requirement for that state within the timeframe required by that state.",
"jurisprudenceExamExplanationText": "I attest I have successfully completed a jurisprudence exam for this state, if required",
"scopeAttestTitle": "Scope of practice attestation",
"scopeAttestLabel": "Click here to read and affirm the scope of practice attestation.",
"attestations": "Attestations",
Expand Down
3 changes: 2 additions & 1 deletion webroot/src/locales/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -687,7 +687,8 @@
"jurisdictionFee": "Tarifa Estatal",
"jurisdictionFeeMilitary": "Tarifa Estatal (militar)",
"disciplineStatus": "Estado de disciplina",
"jurisprudenceExplanationText": "Certifico que he completado con éxito un examen de jurisprudencia para este estado, si es necesario.",
"jurisprudenceExplanationText": "Certifico que he completado con éxito o completaré con éxito el requisito de jurisprudencia para ese estado dentro del plazo requerido por ese estado.",
"jurisprudenceExamExplanationText": "Certifico que he completado con éxito un examen de jurisprudencia para este estado, si es necesario.",
"scopeAttestTitle": "Alcance de la certificación de práctica",
"scopeAttestLabel": "Haga clic aquí para leer y afirmar el alcance de la certificación de práctica.",
"noDiscipline": "No disciplina",
Expand Down
14 changes: 10 additions & 4 deletions webroot/src/network/mocks/mock.data.api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import {
licensees,
users,
pets,
privilegePurchaseOptionsResponse,
getPrivilegePurchaseOptionsResponse,
getAttestation,
compactStates,
compactStatesForRegistration,
Expand Down Expand Up @@ -685,9 +685,15 @@ export class DataApi {
// Get Privilege Purchase Information for Licensee User
public getPrivilegePurchaseInformation() {
return wait(500).then(() => {
const { items } = privilegePurchaseOptionsResponse;
const privilegePurchaseOptions = items.filter((serverItem) => (serverItem.type === 'jurisdiction')).map((serverPurchaseOption) => (PrivilegePurchaseOptionSerializer.fromServer(serverPurchaseOption)));
const compactCommissionFee = items.filter((serverItem) => (serverItem.type === 'compact')).map((serverFeeObject) => (CompactFeeConfigSerializer.fromServer(serverFeeObject)))[0];
const { items } = getPrivilegePurchaseOptionsResponse(getCurrentCompact());
const privilegePurchaseOptions = items
.filter((serverItem) => (serverItem.type === 'jurisdiction'))
.map((serverPurchaseOption) => (
PrivilegePurchaseOptionSerializer.fromServer(serverPurchaseOption)
));
const compactCommissionFee = items
.filter((serverItem) => (serverItem.type === 'compact'))
.map((serverFeeObject) => CompactFeeConfigSerializer.fromServer(serverFeeObject))[0];

return { privilegePurchaseOptions, compactCommissionFee };
});
Expand Down
Loading
Loading