From fcfdf4629f09fdb8b361954c5dc3cd2221306cdc Mon Sep 17 00:00:00 2001 From: Fang Date: Thu, 4 Jun 2026 17:24:52 -0400 Subject: [PATCH] add checkbox for email --- .../src/app/form-base/form-base.component.html | 13 +++++++++++++ .../src/app/form-base/form-base.component.ts | 17 +++++------------ .../src/app/form-base/form-base.service.ts | 17 +++++++++-------- apps/pbv-co/src/assets/i18n/en.json | 3 ++- apps/pbv-co/src/assets/i18n/fr.json | 4 ++-- 5 files changed, 31 insertions(+), 23 deletions(-) diff --git a/apps/pbv-co/src/app/form-base/form-base.component.html b/apps/pbv-co/src/app/form-base/form-base.component.html index e48c96525..54a29cbc5 100644 --- a/apps/pbv-co/src/app/form-base/form-base.component.html +++ b/apps/pbv-co/src/app/form-base/form-base.component.html @@ -81,6 +81,19 @@

{{'company.rep'|translate}} controlId="certifyPrivacy" label="consent.privacy"> + +
+ +
+ + diff --git a/apps/pbv-co/src/app/form-base/form-base.component.ts b/apps/pbv-co/src/app/form-base/form-base.component.ts index d3a14e5ab..4412380aa 100644 --- a/apps/pbv-co/src/app/form-base/form-base.component.ts +++ b/apps/pbv-co/src/app/form-base/form-base.component.ts @@ -146,18 +146,11 @@ export class FormBaseComponent implements OnInit, AfterViewInit { } private _updateErrorList(errorObjs) { - let consentPrivacyTempError = []; - if (errorObjs) { - errorObjs.forEach( - error => { - if (error.label === 'consent.privacy') { - consentPrivacyTempError.push(error); - } - } - ); - } - - this._consentPrivacyError = consentPrivacyTempError; + this._consentPrivacyError = errorObjs + .filter(e => + e.controlId === 'certifyPrivacy' || + e.controlId === 'certifyPrivacyOnEmail' + ); } processErrors() { diff --git a/apps/pbv-co/src/app/form-base/form-base.service.ts b/apps/pbv-co/src/app/form-base/form-base.service.ts index cbf84db9a..500b1401a 100644 --- a/apps/pbv-co/src/app/form-base/form-base.service.ts +++ b/apps/pbv-co/src/app/form-base/form-base.service.ts @@ -16,8 +16,8 @@ import { ProductLineService } from '../product-line/product-line.service'; export class FormBaseService { constructor( - private _entityBaseService: EntityBaseService, - private _utilsService: UtilsService, + private _entityBaseService: EntityBaseService, + private _utilsService: UtilsService, private _globalService: GlobalService, private _companyEnrolmentService: CompanyEnrolmentService, private _productLineService: ProductLineService, @@ -39,6 +39,7 @@ export class FormBaseService { } return fb.group({ certifyPrivacy: [false, Validators.required], + certifyPrivacyOnEmail: [false, Validators.required], }); } @@ -46,7 +47,7 @@ export class FormBaseService { const enrollment: Company = { COMPANY_ENROL: this.getEmptyCompanyEnrol() }; - + return enrollment; } @@ -65,7 +66,7 @@ export class FormBaseService { contact_record: this.getEmptyContactRecordList(), product_line_checkbox: this.getEmptyProductLine() }; - + return companyEnrol; } @@ -83,7 +84,7 @@ export class FormBaseService { public getEmptyContactRecordList(): ContactRecord[] { return []; } - + public getEmptyContactRecord(): ContactRecord { const contactRecord : ContactRecord = { manufacturer: '', @@ -123,7 +124,7 @@ export class FormBaseService { let addressModelList = []; - + if (addressFormArray) { for (let i = 0; i < addressFormArray.length; i++) { let addressModel: AddressRecord = this.getEmptyAddressRecord(); @@ -136,13 +137,13 @@ export class FormBaseService { companyEnrol.address_record = addressModelList; } - + public mapContactsFormToOutput(companyEnrol: CompanyEnrol, contactsFormArray) { const lang = this._globalService.currLanguage; const languageList = this._globalService.languageList; let contactModelList = []; - + if (contactsFormArray) { for (let i = 0; i < contactsFormArray.length; i++) { let contactModel: ContactRecord = this.getEmptyContactRecord(); diff --git a/apps/pbv-co/src/assets/i18n/en.json b/apps/pbv-co/src/assets/i18n/en.json index d7bfbba32..fbdc818e8 100644 --- a/apps/pbv-co/src/assets/i18n/en.json +++ b/apps/pbv-co/src/assets/i18n/en.json @@ -100,7 +100,8 @@ "mailto.07": "Body: The draft CO XML file is attached.", "mailto.08": "Attachment: The draft CO XML.", - "consent.privacy": "By submitting your personal information, you are consenting to its collection, use and disclosure in accordance with the privacy notice statement.", + "consent.privacy": "By providing your personal information, you consent to its collection, use, and disclosure in accordance with the privacy notice statement.", + "consent.privacy.OnEmail": "By providing the email addresses in this CO XML, you understand and acknowledge that this company will be enrolled in Health Canda’s electronic billing (e-Billing) system. Health Canada does not accept any liability for any errors or omissions in the email addresses provided by the company. Health Canada does not accept any liability for information not delivered or delivered to or intercepted by a third party unintended recipient.", "email.subject": "Client information", "email.to": "(client.information@hc-sc.gc.ca)", diff --git a/apps/pbv-co/src/assets/i18n/fr.json b/apps/pbv-co/src/assets/i18n/fr.json index 0cc14f53e..e05b9b1e8 100644 --- a/apps/pbv-co/src/assets/i18n/fr.json +++ b/apps/pbv-co/src/assets/i18n/fr.json @@ -99,8 +99,8 @@ "mailto.06": "Objet : Ébauche de fichier CO XML – [insérer le nom de votre compagnie] [insérer votre Identifiant de la compagnie, le cas échéant]", "mailto.07": "Corps : L’ébauche de fichier CO XML est jointe.", "mailto.08": "Pièce jointe : Ébauche de fichier CO XML.", - "consent.privacy": "En soumettant vos renseignements personnels, vous consentez à sa collecte, à son utilisation et à sa divulgation conformément à l'énoncé de confidentialité.", - + "consent.privacy": "En fournissant vos renseignements personnels, vous consentez à leur collecte, utilisation et divulgation conformément à l'énoncé de confidentialité.", + "consent.privacy.onEmail": "En fournissant les adresses courriel dans ce fichier CO XML, vous comprenez et reconnaissez que cette compagnie sera inscrite au système de facturation électronique (e-Billing) de Santé Canada. Santé Canada décline toute responsabilité pour toute erreur ou omission dans les adresses courriel fournies par la compagnie. Santé Canada n’accepte aucune responsabilité pour les renseignements non-reçues ou qui ont été livrés à ou interceptés par une tierce partie involontairement. ", "email.subject": "Unité des renseignements sur le client", "email.to": "(client.information@hc-sc.gc.ca)", "email.draft": "Ébauche de fichier CO XML - ",