Skip to content

chm-878 New legal framework overview edit form #1470

Open
Mitch1000 wants to merge 42 commits intomasterfrom
mitchell/new-cf-legal-framework-overview--edit-form-CHM-878
Open

chm-878 New legal framework overview edit form #1470
Mitch1000 wants to merge 42 commits intomasterfrom
mitchell/new-cf-legal-framework-overview--edit-form-CHM-878

Conversation

@Mitch1000
Copy link
Collaborator

@Mitch1000 Mitch1000 commented Jan 29, 2026

General description

Creating an edit form for the new common format Legal Framework Overview

Task: CHM-878
Parent: CHM-852

Designs

Design document can be found in issue CHM-852.

Screenshot 2026-01-29 at 2 18 52 PM

Testing instructions

  1. Visit the new LFO page: http://localhost:2010/en/register/LFO/new
  2. Click the Submission form navigation header below the Legal Framework Overview (LFO) header.
  3. Ensure the form that appears matches the form described in the Word document in issue CHM-852.
  4. Visit the LFO documents list page http://localhost:2010/en/register/LFO/status/drafts
  5. Click the edit button next to an existing LFO document.
  6. Ensure the edit page appears populated with the expected data under the Submission form header.
  7. Review the code.

Checklist before merging

  • Branch name / PR includes the related Jira ticket Id.
  • Tests to check core implementation / bug fix added.
  • All checks in Continuous Integration workflow pass.
  • Feature functionally tested by reviewer(s).
  • Code reviewed by reviewer(s).
  • Documentation updated (README, CHANGELOG...) (if required)

NOTE:

The following files come from existing PR #1467 and can be ignored.

app/types/common/document-report.ts
app/types/common/documents.ts

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
$scope.header = { indentifier: '', schema: '', languages: [] }
$scope.header = { identifier: '', schema: '', languages: [] }

@blaisefonseca blaisefonseca changed the title Mitchell/new cf legal framework overview edit form chm 878 Mitchell/new cf legal framework overview edit form chm-878 Jan 29, 2026
@blaisefonseca blaisefonseca changed the title Mitchell/new cf legal framework overview edit form chm-878 chm-878 New legal framework overview edit form Jan 29, 2026
@Mitch1000 Mitch1000 force-pushed the mitchell/new-cf-legal-framework-overview--edit-form-CHM-878 branch from ea3caf9 to ebaaf2b Compare January 29, 2026 20:43
@Mitch1000 Mitch1000 force-pushed the mitchell/new-cf-legal-framework-overview--edit-form-CHM-878 branch from 05f86b0 to b66fd8c Compare January 30, 2026 00:14
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you make sure all questions have number?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why are you passing vue t function here, can we not do it just like the nr reports are doing?

type: 'option',
options: measureOptions,
key: 'establishedMeasure',
title: t('establishedMeasure', { establishedMeasuresInclude: `<br/><span class="text-focus">${t('establishedMeasuresInclude')}</span>` })
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mixing text this way will be a problem for translators, we need to have a better way for this. can we explore markdown?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is one potential solution: https://vue-i18n.intlify.dev/guide/essentials/syntax#custom-modifiers

Can we discuss this further?

Comment on lines 10 to 26
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The interface is not in sync with the backend schema

import { ETerm } from "./eTerm";
import { lstring } from "./lstring";
import { NrResponse } from "./nrResponse";
import { EHeader } from "./eHeader";
import { ELink } from "./eLink";

export interface EAbsLegalFramework extends ENationalRecordBase {
    jurisdiction: ETerm;
    jurisdictionImplementation: lstring;
    establishedMesasure: NrResponse;
    agrSubjectToPic: NrResponse<lstring>;
    agrMesasureForAccess: NrResponse<lstring>;
    agrCommercialPermitRequired: NrResponse<lstring>;
    agrCommercialPermitException: NrResponse<lstring>;
    agrNonCommercialPermitRequired: NrResponse<lstring>;
    agrNonCommercialPermitException: NrResponse<lstring>;
    tkSubjectToPic: NrResponse<lstring>;
    tkMesasureForAccess: NrResponse<lstring>;
    tkCommercialPermitRequired: NrResponse<lstring>;
    tkCommercialPermitException: NrResponse<lstring>;
    tkNonCommercialPermitRequired: NrResponse<lstring>;
    tkNonCommercialPermitException: NrResponse<lstring>;
    article53Implemented: NrResponse<lstring>;
    article55Implemented: NrResponse<lstring>;
    article15Implemented: NrResponse<lstring>;
    article16Implemented: NrResponse<lstring>;
    article17Implemented: NrResponse<lstring>;
}

export interface ENationalRecordBase extends ERecordBase {
    government: ETerm;
}

export interface EReferenceRecordBase extends ERecordBase {

}

export interface ERecordBase {
    header: EHeader;
    additionalInformation: lstring;
    additionalDocuments: ELink[];
    notes: string;
}```

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

    value: V;
    additionalInformation: T;
}

export interface NrLinkResponse {
    url: string;
    name: string;
    tags: string;
    language: string;
}

export interface NrLinkResponse<T> {
    additionalInformation: T;
    links: NrLinkResponse[];
}```

if (vueCleanDocument) { return vueCleanDocument?.getCleanDocument(doc) }
$scope.getCleanDocument = (doc) => {
if (vueCleanDocument) {
const cleanDocument = vueCleanDocument?.getCleanDocument(doc)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

here you should clean values if they are not required. for eg. if they answer Yes to a question that required additional info and then if they switch the answer to no, then additional info is not required and will not be accepted by backend.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not a big deal, thesaurus is anonymous access, no need to pass token

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should be a computed prop

Comment on lines 245 to 249
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can me move this logic to onMounted?

Comment on lines 265 to 266
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you see how ebsa does the country loading and do it the same way?

Comment on lines 262 to 263
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see ebsa const options = { countries : thesaurusApi.getDomainTerms(THESAURUS.COUNTRIES), ebsaRegions : thesaurusApi.getDomainTerms(THESAURUS_EBSA_REGION) };

@Mitch1000 Mitch1000 force-pushed the mitchell/new-cf-legal-framework-overview--edit-form-CHM-878 branch from 79b4c3c to b34709b Compare February 3, 2026 04:14
@Mitch1000 Mitch1000 force-pushed the mitchell/new-cf-legal-framework-overview--edit-form-CHM-878 branch from a4947ac to 01bce7e Compare February 4, 2026 22:46
@Mitch1000 Mitch1000 force-pushed the mitchell/new-cf-legal-framework-overview--edit-form-CHM-878 branch from 01bce7e to 7a889bb Compare February 4, 2026 22:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments