diff --git a/package-lock.json b/package-lock.json
index 49db6d82d..6fb4bc197 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "business-create-ui",
- "version": "5.6.43",
+ "version": "5.7.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "business-create-ui",
- "version": "5.6.43",
+ "version": "5.7.0",
"dependencies": {
"@babel/compat-data": "^7.21.5",
"@bcrs-shared-components/approval-type": "1.0.19",
diff --git a/package.json b/package.json
index f52776a85..ce17fa94d 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "business-create-ui",
- "version": "5.6.43",
+ "version": "5.7.0",
"private": true,
"appName": "Create UI",
"sbcName": "SBC Common Components",
diff --git a/src/App.vue b/src/App.vue
index cd7cbd6c8..b37fbbaf9 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -156,8 +156,9 @@
lg="9"
>
- {{ getFilingName }}
+ {{ header }}
+
void
@Action(useStore) setLastAnnualReportDate!: (x: string) => void
@Action(useStore) setLastDirectorChangeDate!: (x: string) => void
- @Action(useStore) setNameRequest!: (x: NameRequestIF) => void
+ // @Action(useStore) setNameRequest!: (x: NameRequestIF) => void
@Action(useStore) setParties!: (x: Array) => void
@Action(useStore) setResources!: (x: ResourceIF) => void
@Action(useStore) setUserAddress!: (x: AddressIF) => void
@@ -389,6 +393,19 @@ export default class App extends Mixins(CommonMixin, DateMixin, FilingTemplateMi
return crumbs
}
+ /** The page header (title). */
+ get header (): string {
+ if (this.isAmalgamationFilingRegular) {
+ return `${this.getFilingName} (Regular)`
+ } else if (this.isAmalgamationFilingHorizontal) {
+ return `${this.getFilingName} (Horizontal Short-form)`
+ } else if (this.isAmalgamationFilingVertical) {
+ return `${this.getFilingName} (Vertical Short-form)`
+ } else {
+ return this.getFilingName
+ }
+ }
+
/** Data for fee summary component. */
get feeFilingData (): Array {
let filingData = [] as Array
@@ -733,7 +750,13 @@ export default class App extends Mixins(CommonMixin, DateMixin, FilingTemplateMi
if (this.$route.meta.filingType !== this.getFilingType) {
switch (this.getFilingType) {
case FilingTypes.AMALGAMATION_APPLICATION:
- this.$router.push(RouteNames.AMALG_REG_INFORMATION).catch(() => {})
+ if (this.isAmalgamationFilingRegular) {
+ this.$router.push(RouteNames.AMALG_REG_INFORMATION).catch(() => {})
+ } else if (this.isAmalgamationFilingHorizontal || this.isAmalgamationFilingVertical) {
+ this.$router.push(RouteNames.AMALG_SHORT_INFORMATION).catch(() => {})
+ } else {
+ throw new Error('invalid amalgamation filing type')
+ }
return
case FilingTypes.DISSOLUTION:
if (this.isTypeFirm) {
@@ -884,12 +907,19 @@ export default class App extends Mixins(CommonMixin, DateMixin, FilingTemplateMi
let resources: ResourceIF
switch (this.getFilingType) {
case FilingTypes.AMALGAMATION_APPLICATION:
+ // *** TODO: review/clean up this code
draftFiling = {
...this.buildAmalgamationFiling(),
...draftFiling
}
this.parseAmalgamationDraft(draftFiling)
- resources = AmalgamationRegResources.find(x => x.entityType === this.getEntityType) as ResourceIF
+ if (this.isAmalgamationFilingRegular) {
+ resources = AmalgamationRegResources.find(x => x.entityType === this.getEntityType) as ResourceIF
+ } else if (this.isAmalgamationFilingHorizontal || this.isAmalgamationFilingVertical) {
+ resources = AmalgamationShortResources.find(x => x.entityType === this.getEntityType) as ResourceIF
+ } else {
+ throw new Error('invalid amalgamation filing type')
+ }
break
case FilingTypes.INCORPORATION_APPLICATION:
draftFiling = {
@@ -968,7 +998,7 @@ export default class App extends Mixins(CommonMixin, DateMixin, FilingTemplateMi
}
// ensure types match
- if (nrResponse.legalType !== this.getEntityType) {
+ if ((nrResponse.legalType as unknown as CorpTypeCd) !== this.getEntityType) {
console.log('NR legal type doesn\'t match entity type') // eslint-disable-line no-console
this.nameRequestInvalidType = NameRequestStates.INVALID
this.nameRequestInvalidErrorDialog = true
@@ -1252,6 +1282,7 @@ export default class App extends Mixins(CommonMixin, DateMixin, FilingTemplateMi
// enable validation when review pages are shown
if (
this.isRouteName(RouteNames.AMALG_REG_REVIEW_CONFIRM) ||
+ this.isRouteName(RouteNames.AMALG_SHORT_REVIEW_CONFIRM) ||
this.isRouteName(RouteNames.DISSOLUTION_REVIEW_CONFIRM) ||
this.isRouteName(RouteNames.INCORPORATION_REVIEW_CONFIRM) ||
this.isRouteName(RouteNames.REGISTRATION_REVIEW_CONFIRM) ||
diff --git a/src/components/common/Actions.vue b/src/components/common/Actions.vue
index afaeec0ad..c87072c30 100644
--- a/src/components/common/Actions.vue
+++ b/src/components/common/Actions.vue
@@ -139,7 +139,7 @@ export default class Actions extends Mixins(AmalgamationMixin, CommonMixin,
get isSummaryStep (): boolean {
return (
- this.$route.name === RouteNames.AMALG_REG_REVIEW_CONFIRM ||
+ this.$route.name === RouteNames.AMALGAMATION_REVIEW_CONFIRM ||
this.$route.name === RouteNames.DISSOLUTION_REVIEW_CONFIRM ||
this.$route.name === RouteNames.INCORPORATION_REVIEW_CONFIRM ||
this.$route.name === RouteNames.REGISTRATION_REVIEW_CONFIRM ||
diff --git a/src/components/common/CardHeader.vue b/src/components/common/CardHeader.vue
index e6c342702..6c3766bc6 100644
--- a/src/components/common/CardHeader.vue
+++ b/src/components/common/CardHeader.vue
@@ -1,9 +1,18 @@
@@ -12,8 +21,8 @@ import { Component, Prop, Vue } from 'vue-property-decorator'
@Component({})
export default class CardHeader extends Vue {
- @Prop({ required: true }) readonly icon!: string
- @Prop({ required: true }) readonly label!: string
+ @Prop({ default: null }) readonly icon!: string
+ @Prop({ default: null }) readonly label!: string
}
diff --git a/src/components/common/ListPeopleAndRoles.vue b/src/components/common/ListPeopleAndRoles.vue
index f5e367e9c..35bdf32f5 100644
--- a/src/components/common/ListPeopleAndRoles.vue
+++ b/src/components/common/ListPeopleAndRoles.vue
@@ -9,21 +9,25 @@
mdi-information-outline
This step is unfinished.
+
Return to this step to finish it
+
Return to this step to finish it
+
Return to this step to finish it
+
mdi-information-outline
This step is unfinished.
+
+
Return to this step to finish it
+
@Getter(useStore) getValidateSteps!: boolean
@Getter(useStore) isAddPeopleAndRolesValid!: boolean
@Getter(useStore) isAffidavitValid!: boolean
+ @Getter(useStore) isAmalgamationInformationValid!: boolean
@Getter(useStore) isBusySaving!: boolean
@Getter(useStore) isCreateShareStructureValid!: boolean
@Getter(useStore) isDefineCompanyValid!: boolean
@@ -91,11 +91,11 @@ export default class Stepper extends Vue {
/** Returns true if the step route is valid. */
isValid (route: RouteNames): boolean {
switch (route) {
- case RouteNames.AMALG_REG_INFORMATION: return this.isAmalgamationInformationRegValid
- case RouteNames.AMALG_REG_BUSINESS_INFO: return this.isDefineCompanyValid
- case RouteNames.AMALG_REG_PEOPLE_ROLES: return this.isAddPeopleAndRolesValid
- case RouteNames.AMALG_REG_SHARE_STRUCTURE: return this.isCreateShareStructureValid
- case RouteNames.AMALG_REG_REVIEW_CONFIRM: return this.isFilingValid
+ case RouteNames.AMALGAMATION_INFORMATION: return this.isAmalgamationInformationValid
+ case RouteNames.AMALGAMATION_BUSINESS_INFO: return this.isDefineCompanyValid
+ case RouteNames.AMALGAMATION_PEOPLE_ROLES: return this.isAddPeopleAndRolesValid
+ case RouteNames.AMALGAMATION_SHARE_STRUCTURE: return this.isCreateShareStructureValid
+ case RouteNames.AMALGAMATION_REVIEW_CONFIRM: return this.isFilingValid
case RouteNames.DISSOLUTION_AFFIDAVIT: return this.isAffidavitValid
case RouteNames.DISSOLUTION_DEFINE_DISSOLUTION: return this.isDissolutionDefineDissolutionValid
diff --git a/src/components/common/SummaryDefineCompany.vue b/src/components/common/SummaryDefineCompany.vue
index f5b49bd55..440e949fb 100644
--- a/src/components/common/SummaryDefineCompany.vue
+++ b/src/components/common/SummaryDefineCompany.vue
@@ -9,17 +9,29 @@
mdi-information-outline
This step is unfinished.
-
+
Return to this step to finish it
+
Return to this step to finish it
+
+ Return to this step to finish it
+ Return to this step to finish it
+
+
- Regular
- Horizontal
- Vertical
- [Unknown]
+ {{ amalgamationType || '[Unknown]' }}
@@ -205,11 +214,11 @@ export default class SummaryDefineCompany extends Vue {
@Getter(useStore) getFolioNumber!: string
@Getter(useStore) getNameRequestApprovedName!: string
@Getter(useStore) getNameTranslations!: NameTranslationIF[]
- @Getter(useStore) isAmalgamationInformationRegValid!: boolean
@Getter(useStore) isAmalgamationFiling!: boolean
@Getter(useStore) isAmalgamationFilingRegular!: boolean
@Getter(useStore) isAmalgamationFilingHorizontal!: boolean
@Getter(useStore) isAmalgamationFilingVertical!: boolean
+ @Getter(useStore) isAmalgamationInformationValid!: boolean
@Getter(useStore) isDefineCompanyValid!: boolean
@Getter(useStore) isFullRestorationFiling!: boolean
@Getter(useStore) isIncorporationFiling!: boolean
@@ -222,11 +231,19 @@ export default class SummaryDefineCompany extends Vue {
/** Whether this section is invalid. */
get invalidSection (): boolean {
if (this.isAmalgamationFiling) {
- return (!this.isAmalgamationInformationRegValid || !this.isDefineCompanyValid)
+ // *** TODO: need to update this for short-form amalgamation?
+ return (!this.isAmalgamationInformationValid || !this.isDefineCompanyValid)
}
return !this.isDefineCompanyValid
}
+ get amalgamationType (): string {
+ if (this.isAmalgamationFilingRegular) return 'Regular'
+ if (this.isAmalgamationFilingHorizontal) return 'Horizontal'
+ if (this.isAmalgamationFilingVertical) return 'Vertical'
+ return null
+ }
+
/** The company name. */
get companyName (): string {
// check if we have a name from a NR
diff --git a/src/enums/routeNames.ts b/src/enums/routeNames.ts
index 4d4447fc2..f753ba519 100644
--- a/src/enums/routeNames.ts
+++ b/src/enums/routeNames.ts
@@ -6,6 +6,19 @@ export enum RouteNames {
SIGN_IN = 'signin',
SIGN_OUT = 'signout',
+ // Amalgamation (regular) route names
+ AMALG_REG_BUSINESS_INFO = 'amalg-reg-business-info',
+ AMALG_REG_INFORMATION = 'amalg-reg-information',
+ AMALG_REG_PEOPLE_ROLES = 'amalg-reg-people-roles',
+ AMALG_REG_REVIEW_CONFIRM = 'amalg-reg-review-confirm',
+ AMALG_REG_SHARE_STRUCTURE = 'amalg-reg-share-structure',
+
+ // Amalgamation (horizontal and vertical short-form) route names
+ AMALG_SHORT_BUSINESS_INFO = 'amalg-short-business-info',
+ AMALG_SHORT_INFORMATION = 'amalg-short-information',
+ AMALG_SHORT_PEOPLE_ROLES = 'amalg-short-people-roles',
+ AMALG_SHORT_REVIEW_CONFIRM = 'amalg-short-review-confirm',
+
// Dissolution route names
DISSOLUTION_AFFIDAVIT = 'dissolution-affidavit',
DISSOLUTION_DEFINE_DISSOLUTION = 'dissolution-define-dissolution',
@@ -34,11 +47,4 @@ export enum RouteNames {
RESTORATION_BUSINESS_INFORMATION = 'restoration-business-information',
RESTORATION_BUSINESS_NAME = 'restoration-business-name',
RESTORATION_REVIEW_CONFIRM = 'restoration-review-confirm',
-
- // Amalgamation (regular) route names
- AMALG_REG_BUSINESS_INFO = 'amalg-reg-business-info',
- AMALG_REG_INFORMATION = 'amalg-reg-information',
- AMALG_REG_PEOPLE_ROLES = 'amalg-reg-people-roles',
- AMALG_REG_REVIEW_CONFIRM = 'amalg-reg-review-confirm',
- AMALG_REG_SHARE_STRUCTURE = 'amalg-reg-share-structure',
}
diff --git a/src/enums/views.ts b/src/enums/views.ts
index 29fe23d8c..dc75e810b 100644
--- a/src/enums/views.ts
+++ b/src/enums/views.ts
@@ -6,12 +6,12 @@ export enum Views {
SIGN_IN = 'signin',
SIGN_OUT = 'signout',
- // Amalgamation views
- AMALGAMATION_REG_BUSINESS_INFO = 'amalg-reg-business-info',
- AMALGAMATION_REG_INFORMATION = 'amalg-reg-information',
- AMALGAMATION_REG_PEOPLE_ROLES = 'amalg-reg-people-roles',
- AMALGAMATION_REG_REVIEW_CONFIRM = 'amalg-reg-review-confirm',
- AMALGAMATION_REG_SHARE_STRUCTURE = 'amalg-reg-share-structure',
+ // Amalgamation (regular and short-form) views
+ AMALGAMATION_BUSINESS_INFO = 'amalgamation-business-info',
+ AMALGAMATION_INFORMATION = 'amalgamation-information',
+ AMALGAMATION_PEOPLE_ROLES = 'amalgamation-people-roles',
+ AMALGAMATION_REVIEW_CONFIRM = 'amalgamation-review-confirm',
+ AMALGAMATION_SHARE_STRUCTURE = 'amalgamation-share-structure', // regular only
// Dissolution views
DISSOLUTION_AFFIDAVIT = 'dissolution-affidavit',
diff --git a/src/interfaces/resource-interfaces/resource-interface.ts b/src/interfaces/resource-interfaces/resource-interface.ts
index 6c3d7fa3d..bafa2b7a0 100644
--- a/src/interfaces/resource-interfaces/resource-interface.ts
+++ b/src/interfaces/resource-interfaces/resource-interface.ts
@@ -5,8 +5,8 @@ import {
} from '@/interfaces'
import { CorpTypeCd } from '@bcrs-shared-components/corp-type-module'
-/** Amalgamation (regular) resource interface. */
-export interface AmalgamationRegResourceIF {
+/** Amalgamation (regular and short-form) resource interface. */
+export interface AmalgamationResourceIF {
entityType: CorpTypeCd
displayName: string
steps: Array
@@ -106,5 +106,5 @@ export interface RestorationResourceIF {
}
}
-export interface ResourceIF extends AmalgamationRegResourceIF, DissolutionResourceIF,
+export interface ResourceIF extends AmalgamationResourceIF, DissolutionResourceIF,
IncorporationResourceIF, RegistrationResourceIF, RestorationResourceIF {}
diff --git a/src/mixins/amalgamation-mixin.ts b/src/mixins/amalgamation-mixin.ts
index 8ea7be459..12883d8d8 100644
--- a/src/mixins/amalgamation-mixin.ts
+++ b/src/mixins/amalgamation-mixin.ts
@@ -16,6 +16,8 @@ export default class AmalgamationMixin extends Vue {
@Getter(useStore) getAmalgamatingBusinesses!: AmalgamatingBusinessIF[]
@Getter(useStore) getCurrentDate!: string
@Getter(useStore) isAmalgamationFilingHorizontal!: boolean
+ @Getter(useStore) isAmalgamationFilingRegular!: boolean
+ @Getter(useStore) isAmalgamationFilingVertical!: boolean
@Getter(useStore) isRoleStaff!: boolean
@Getter(useStore) isTypeBcCcc!: boolean
@Getter(useStore) isTypeBcUlcCompany!: boolean
diff --git a/src/resources/AmalgamationRegular/BC.ts b/src/resources/AmalgamationRegular/BC.ts
index a03db098f..ff4869e35 100644
--- a/src/resources/AmalgamationRegular/BC.ts
+++ b/src/resources/AmalgamationRegular/BC.ts
@@ -1,9 +1,9 @@
-import { AmalgamationRegResourceIF } from '@/interfaces'
+import { AmalgamationResourceIF } from '@/interfaces'
import { FilingCodes, RuleIds } from '@/enums'
import { AmalgamationRegularSteps } from './steps'
import { CorpTypeCd, GetCorpFullDescription } from '@bcrs-shared-components/corp-type-module'
-export const AmalgamationRegResourceBc: AmalgamationRegResourceIF = {
+export const AmalgamationRegResourceBc: AmalgamationResourceIF = {
entityType: CorpTypeCd.BC_COMPANY,
displayName: GetCorpFullDescription(CorpTypeCd.BC_COMPANY),
steps: AmalgamationRegularSteps,
@@ -32,39 +32,6 @@ export const AmalgamationRegResourceBc: AmalgamationRegResourceIF = {
shareClasses: {
countMinimum: 1
},
- incorporationArticles: {
- articles: '
BC LTD Articles.', // Line break is required to prevent tooltip from splitting the screen.
- articlesTooltip: 'Articles should outline the rules and procedures for corporate matters such as holding ' +
- 'meetings, issuing and transferring shares, and duties of directors and officers.'
- },
- incorporationAgreement: {
- helpSection: [
- {
- header: 'What is the sample Incorporation Agreement and Company Articles?',
- helpText: [
- `The sample Incorporation Agreement and Company Articles is a template that you can use to create an
- incorporation agreement and articles for your company. It uses all the standard provisions by legislation.
- There are three types of samples depending on if you're incorporating a Limited Company, a Benefit Company,
- or a Community Contribution Company.`,
- `If you would like to customize any other provisions in the Articles, you cannot use these samples.
- We recommend seeking professional assistance from a lawyer or accountant to help you prepare your articles.`
- ]
- }
- ],
- article: 'bc_limited_company_incorporation_agreement.pdf',
- documents: [
- {
- code: 'sample',
- description: 'The sample Incorporation Agreement and Articles ' +
- 'has been completed and a copy has been added to the company\'s record book.'
- },
- {
- code: 'custom',
- description: 'The custom Incorporation Agreement and custom Articles ' +
- 'has been completed and a copy has been added to the company\'s record book.'
- }
- ]
- },
reviewAndConfirm: {
completingPartyStatement: {
certifyStatements: [],
diff --git a/src/resources/AmalgamationRegular/BEN.ts b/src/resources/AmalgamationRegular/BEN.ts
index 82e46958c..e6b6e9b6b 100644
--- a/src/resources/AmalgamationRegular/BEN.ts
+++ b/src/resources/AmalgamationRegular/BEN.ts
@@ -1,9 +1,9 @@
-import { AmalgamationRegResourceIF } from '@/interfaces'
+import { AmalgamationResourceIF } from '@/interfaces'
import { FilingCodes, RuleIds } from '@/enums'
import { AmalgamationRegularSteps } from './steps'
import { CorpTypeCd, GetCorpFullDescription } from '@bcrs-shared-components/corp-type-module'
-export const AmalgamationRegResourceBen: AmalgamationRegResourceIF = {
+export const AmalgamationRegResourceBen: AmalgamationResourceIF = {
entityType: CorpTypeCd.BENEFIT_COMPANY,
displayName: GetCorpFullDescription(CorpTypeCd.BENEFIT_COMPANY),
steps: AmalgamationRegularSteps,
@@ -32,75 +32,6 @@ export const AmalgamationRegResourceBen: AmalgamationRegResourceIF = {
shareClasses: {
countMinimum: 1
},
- incorporationArticles: {
- articles: 'Benefit Company Articles',
- articlesTooltip: 'The Articles for a Benefit Company must state the benefits the company intends to provide to ' +
- 'society, as well as outlining the rules and procedures for corporate matters such as holding meetings, ' +
- 'issuing and transferring shares, and duties of directors and officers.',
- provisions: ' benefit provision',
- provisionTooltip: 'Clauses in the Articles which specify the public benefits to be promoted by the Benefit ' +
- 'Company and the company\'s commitment to promote those benefits and to conduct business in a responsible and ' +
- 'sustainable manner.'
- },
- incorporationAgreement: {
- helpSection: [
- {
- header: 'What is the sample Incorporation Agreement and Benefit Company Articles?',
- helpText: [
- `The sample Incorporation Agreement and Benefit Company Articles is a template that you can use
- to create an incorporation agreement and articles for your company. It uses all the standard
- provisions suggested by legislation and also includes a place to specify the company's benefit
- provision.`,
- `If you would like to customize any other provisions in the Articles, you cannot use this sample. We
- recommend seeking professional assistance from a lawyer or accountant to help you prepare your Articles.`
- ]
- },
- {
- header: 'What is a Benefit Provision?',
- helpText: [
- `A Benefit Provision is a statement by the company of its public benefits and its commitments to promote
- those public benefits and to conduct business in a responsible and sustainable manner.`,
- 'A Benefit Company must include a benefit provision in its Articles.'
- ]
- },
- {
- header: 'Can I use the sample Incorporation Agreement and Benefit Company Articles?'
- },
- {
- header: 'You can use the sample Articles if:',
- icon: 'mdi-check',
- iconColor: 'green darken-2',
- statements: [
- `There are no special rights or restrictions attached to any class or series of shares in
- the corporation’s authorized share structure.`,
- 'You do not wish to change any of the standard provisions in the sample Articles.'
- ]
- },
- {
- header: 'You cannot use the sample Articles if:',
- icon: 'mdi-close',
- iconColor: 'red',
- statements: [
- `There are special rights or restrictions attached to any class or series of shares in the corporation's
- authorized share structure.`,
- 'You wish to change any of the standard provisions in the sample Articles.'
- ]
- }
- ],
- article: 'benefit_company_incorporation_agreement.pdf',
- documents: [
- {
- code: 'sample',
- description: 'The sample Incorporation Agreement and Articles containing a benefit provision ' +
- 'has been completed and a copy has been added to the company\'s record book.'
- },
- {
- code: 'custom',
- description: 'The custom Incorporation Agreement and custom Articles containing a benefit provision ' +
- 'has been completed and a copy has been added to the company\'s record book.'
- }
- ]
- },
reviewAndConfirm: {
completingPartyStatement: {
certifyStatements: [],
diff --git a/src/resources/AmalgamationRegular/CC.ts b/src/resources/AmalgamationRegular/CC.ts
index f7e267469..54e3b3f48 100644
--- a/src/resources/AmalgamationRegular/CC.ts
+++ b/src/resources/AmalgamationRegular/CC.ts
@@ -1,9 +1,9 @@
-import { AmalgamationRegResourceIF } from '@/interfaces'
+import { AmalgamationResourceIF } from '@/interfaces'
import { FilingCodes, RuleIds } from '@/enums'
import { AmalgamationRegularSteps } from './steps'
import { CorpTypeCd, GetCorpFullDescription } from '@bcrs-shared-components/corp-type-module'
-export const AmalgamationRegResourceCc: AmalgamationRegResourceIF = {
+export const AmalgamationRegResourceCc: AmalgamationResourceIF = {
entityType: CorpTypeCd.BC_CCC,
displayName: GetCorpFullDescription(CorpTypeCd.BC_CCC),
steps: AmalgamationRegularSteps,
@@ -32,50 +32,6 @@ export const AmalgamationRegResourceCc: AmalgamationRegResourceIF = {
shareClasses: {
countMinimum: 1
},
- incorporationArticles: {
- articles: 'Community Contribution Company Articles',
- articlesTooltip: 'The Articles for a Community Contribution Company must include the following statements “This ' +
- 'company is a community contribution company, and, as such, has purposes beneficial to society. This company is ' +
- 'restricted, in accordance with Part 2.2 of the Business Corporations Act, in its ability to pay dividends and ' +
- 'to distribute its assets on dissolution or otherwise.” Articles should also outline the rules and procedures ' +
- 'for corporate matters such as holding meetings, issuing and transferring shares, and duties of directors ' +
- 'and officers.',
- provisions: 'community provision',
- provisionTooltip: 'A clause in the Articles which communicates the liability statement required by the Business ' +
- 'Corporations Act 51.11.'
- },
- incorporationAgreement: {
- helpSection: [
- {
- header: 'What is the sample Incorporation Agreement and Company Articles?',
- helpText: [
- `The sample Incorporation Agreement and Company Articles is a template that you can use to create an
- Incorporation Agreement and articles for your company. It uses all the standard provisions by legislation.
- There are three types of samples depending on if you're incorporating a Limited Company, a Benefit Company,
- Unlimited Liability Company, or a Community Contribution Company.`,
- `If you would like to customize any other provisions in the Articles, you cannot use these samples.
- We recommend seeking professional assistance from a lawyer or accountant to help you prepare your articles.`
- ]
- },
- {
- header: 'What is a Community Provision?',
- helpText: [
- `A Community Provision is a statement by the company of its benefits to society and its restrictions in its
- ability to pay dividends and distribute assets.`,
- `A Community Contribution Company must include a community provision in its Articles.`
- ]
- }
- ],
- article: 'community_contribution_company_incorporation_agreement.pdf',
- documents: [
- {
- code: 'custom',
- description: 'The custom Incorporation Agreement and custom Articles containing the community' +
- ' provision required by the Business Corporations Act 51.911 has been completed and a copy has been added' +
- ' to the company\'s record book.'
- }
- ]
- },
reviewAndConfirm: {
completingPartyStatement: {
certifyStatements: [],
diff --git a/src/resources/AmalgamationRegular/ULC.ts b/src/resources/AmalgamationRegular/ULC.ts
index 2e559c762..09058bfc6 100644
--- a/src/resources/AmalgamationRegular/ULC.ts
+++ b/src/resources/AmalgamationRegular/ULC.ts
@@ -1,9 +1,9 @@
-import { AmalgamationRegResourceIF } from '@/interfaces'
+import { AmalgamationResourceIF } from '@/interfaces'
import { FilingCodes, RuleIds } from '@/enums'
import { AmalgamationRegularSteps } from './steps'
import { CorpTypeCd, GetCorpFullDescription } from '@bcrs-shared-components/corp-type-module'
-export const AmalgamationRegResourceUlc: AmalgamationRegResourceIF = {
+export const AmalgamationRegResourceUlc: AmalgamationResourceIF = {
entityType: CorpTypeCd.BC_ULC_COMPANY,
displayName: GetCorpFullDescription(CorpTypeCd.BC_ULC_COMPANY),
steps: AmalgamationRegularSteps,
@@ -32,49 +32,6 @@ export const AmalgamationRegResourceUlc: AmalgamationRegResourceIF = {
shareClasses: {
countMinimum: 1
},
- incorporationArticles: {
- articles: 'Unlimited Liability Company Articles',
- articlesTooltip: 'The Articles for an Unlimited Liability Company must include the following statement: “The ' +
- 'shareholders of this company are jointly and severally liable to satisfy the debts and liabilities of this ' +
- 'company to the extent provided in section 51.3 of the Business Corporations Act.” Articles should also outline ' +
- 'the rules and procedures for corporate matters such as holding meetings, issuing and transferring shares, and ' +
- 'duties of directors and officers.',
- provisions: 'liability provision',
- provisionTooltip: 'A clause in the Articles which communicates the liability statement required by the Business ' +
- 'Corporations Act 51.11.'
- },
- incorporationAgreement: {
- helpSection: [
- {
- header: 'What is the sample Incorporation Agreement and Company Articles?',
- helpText: [
- `The sample Incorporation Agreement and Company Articles is a template that you can use to create an
- incorporation agreement and articles for your company. It uses all the standard provisions by legislation.
- There are three types of samples depending on if you're incorporating a Limited Company, a Benefit Company,
- or a Community Contribution Company.`,
- `If you would like to customize any other provisions in the Articles, you cannot use these samples.
- We recommend seeking professional assistance from a lawyer or accountant to help you prepare your articles.`
- ]
- },
- {
- header: 'What is a Liability Provision?',
- helpText: [
- `A Liability Provision is a statement by the company of the shareholders joint liability to satisfy all debts
- and liabilities of the company.`,
- 'An Unlimited Liability Company must include a Liability Provision in its Articles.'
- ]
- }
- ],
- article: 'unlimited_liability_company_incorporation_agreement.pdf',
- documents: [
- {
- code: 'custom',
- description: 'The custom Incorporation Agreement and custom Articles containing the liability' +
- ' provision required by the Business Corporations Act 51.11 has been completed and a copy has been added' +
- ' to the company\'s record book.'
- }
- ]
- },
reviewAndConfirm: {
completingPartyStatement: {
certifyStatements: [],
diff --git a/src/resources/AmalgamationRegular/steps.ts b/src/resources/AmalgamationRegular/steps.ts
index 12486c1ae..d0549a164 100644
--- a/src/resources/AmalgamationRegular/steps.ts
+++ b/src/resources/AmalgamationRegular/steps.ts
@@ -10,24 +10,24 @@ export const AmalgamationRegularSteps = [
step: 1,
icon: 'mdi-domain-plus',
text: 'Amalgamation\nInformation',
- to: RouteNames.AMALG_REG_INFORMATION,
- component: Views.AMALGAMATION_REG_INFORMATION
+ to: RouteNames.AMALGAMATION_INFORMATION,
+ component: Views.AMALGAMATION_INFORMATION
},
{
id: 'step-2-btn',
step: 2,
icon: 'mdi-domain',
- text: 'Amalgamated Business\nInformation',
- to: RouteNames.AMALG_REG_BUSINESS_INFO,
- component: Views.AMALGAMATION_REG_BUSINESS_INFO
+ text: 'Amalgamated\nBusiness Information',
+ to: RouteNames.AMALGAMATION_BUSINESS_INFO,
+ component: Views.AMALGAMATION_BUSINESS_INFO
},
{
id: 'step-3-btn',
step: 3,
icon: 'mdi-account-multiple-plus',
text: 'Add People\nand Roles',
- to: RouteNames.AMALG_REG_PEOPLE_ROLES,
- component: Views.AMALGAMATION_REG_PEOPLE_ROLES
+ to: RouteNames.AMALGAMATION_PEOPLE_ROLES,
+ component: Views.AMALGAMATION_PEOPLE_ROLES
},
{
@@ -35,15 +35,15 @@ export const AmalgamationRegularSteps = [
step: 4,
icon: 'mdi-sitemap',
text: 'Create Share\nStructure',
- to: RouteNames.AMALG_REG_SHARE_STRUCTURE,
- component: Views.AMALGAMATION_REG_SHARE_STRUCTURE
+ to: RouteNames.AMALGAMATION_SHARE_STRUCTURE,
+ component: Views.AMALGAMATION_SHARE_STRUCTURE
},
{
id: 'step-5-btn',
step: 5,
icon: 'mdi-text-box-check-outline',
text: 'Review\nand Confirm',
- to: RouteNames.AMALG_REG_REVIEW_CONFIRM,
- component: Views.AMALGAMATION_REG_REVIEW_CONFIRM
+ to: RouteNames.AMALGAMATION_REVIEW_CONFIRM,
+ component: Views.AMALGAMATION_REVIEW_CONFIRM
}
]
diff --git a/src/resources/AmalgamationShort/BC.ts b/src/resources/AmalgamationShort/BC.ts
new file mode 100644
index 000000000..124fb57cb
--- /dev/null
+++ b/src/resources/AmalgamationShort/BC.ts
@@ -0,0 +1,42 @@
+import { AmalgamationResourceIF } from '@/interfaces'
+import { FilingCodes, RuleIds } from '@/enums'
+import { AmalgamationShortSteps } from './steps'
+import { CorpTypeCd, GetCorpFullDescription } from '@bcrs-shared-components/corp-type-module'
+
+export const AmalgamationShortResourceBc: AmalgamationResourceIF = {
+ entityType: CorpTypeCd.BC_COMPANY,
+ displayName: GetCorpFullDescription(CorpTypeCd.BC_COMPANY),
+ steps: AmalgamationShortSteps,
+ filingData: [
+ // order matters - see getFilingData()
+ {
+ entityType: CorpTypeCd.BC_COMPANY,
+ filingTypeCode: FilingCodes.AMALGAMATION_HORIZONTAL
+ },
+ {
+ entityType: CorpTypeCd.BC_COMPANY,
+ filingTypeCode: FilingCodes.AMALGAMATION_VERTICAL
+ }
+ ],
+ peopleAndRoles: {
+ header: '1. Add People to your Application',
+ blurb: 'Add the Completing Party to this application',
+ helpSection: null,
+ rules: [
+ {
+ id: RuleIds.NUM_COMPLETING_PARTY,
+ text: 'The Completing Party',
+ test: (num) => { return (num === 1) }
+ }
+ ]
+ },
+ reviewAndConfirm: {
+ completingPartyStatement: {
+ certifyStatements: [],
+ certifyClause: `Note: It is an offence to make a false or misleading statement in respect
+ of a material fact in a record submitted to the Corporate Registry for filing.
+ See section 427 of the Business Corporations Act.`,
+ entityDisplay: null
+ }
+ }
+}
diff --git a/src/resources/AmalgamationShort/BEN.ts b/src/resources/AmalgamationShort/BEN.ts
new file mode 100644
index 000000000..68d8f4ca2
--- /dev/null
+++ b/src/resources/AmalgamationShort/BEN.ts
@@ -0,0 +1,42 @@
+import { AmalgamationResourceIF } from '@/interfaces'
+import { FilingCodes, RuleIds } from '@/enums'
+import { AmalgamationShortSteps } from './steps'
+import { CorpTypeCd, GetCorpFullDescription } from '@bcrs-shared-components/corp-type-module'
+
+export const AmalgamationShortResourceBen: AmalgamationResourceIF = {
+ entityType: CorpTypeCd.BENEFIT_COMPANY,
+ displayName: GetCorpFullDescription(CorpTypeCd.BENEFIT_COMPANY),
+ steps: AmalgamationShortSteps,
+ filingData: [
+ // order matters - see getFilingData()
+ {
+ entityType: CorpTypeCd.BENEFIT_COMPANY,
+ filingTypeCode: FilingCodes.AMALGAMATION_HORIZONTAL
+ },
+ {
+ entityType: CorpTypeCd.BENEFIT_COMPANY,
+ filingTypeCode: FilingCodes.AMALGAMATION_VERTICAL
+ }
+ ],
+ peopleAndRoles: {
+ header: '1. Add People to your Application',
+ blurb: 'Add the Completing Party to this application',
+ helpSection: null,
+ rules: [
+ {
+ id: RuleIds.NUM_COMPLETING_PARTY,
+ text: 'The Completing Party',
+ test: (num) => { return (num === 1) }
+ }
+ ]
+ },
+ reviewAndConfirm: {
+ completingPartyStatement: {
+ certifyStatements: [],
+ certifyClause: `Note: It is an offence to make a false or misleading statement in respect
+ of a material fact in a record submitted to the Corporate Registry for filing.
+ See section 427 of the Business Corporations Act.`,
+ entityDisplay: null
+ }
+ }
+}
diff --git a/src/resources/AmalgamationShort/CC.ts b/src/resources/AmalgamationShort/CC.ts
new file mode 100644
index 000000000..056d703ed
--- /dev/null
+++ b/src/resources/AmalgamationShort/CC.ts
@@ -0,0 +1,42 @@
+import { AmalgamationResourceIF } from '@/interfaces'
+import { FilingCodes, RuleIds } from '@/enums'
+import { AmalgamationShortSteps } from './steps'
+import { CorpTypeCd, GetCorpFullDescription } from '@bcrs-shared-components/corp-type-module'
+
+export const AmalgamationShortResourceCc: AmalgamationResourceIF = {
+ entityType: CorpTypeCd.BC_CCC,
+ displayName: GetCorpFullDescription(CorpTypeCd.BC_CCC),
+ steps: AmalgamationShortSteps,
+ filingData: [
+ // order matters - see getFilingData()
+ {
+ entityType: CorpTypeCd.BC_CCC,
+ filingTypeCode: FilingCodes.AMALGAMATION_HORIZONTAL
+ },
+ {
+ entityType: CorpTypeCd.BC_CCC,
+ filingTypeCode: FilingCodes.AMALGAMATION_VERTICAL
+ }
+ ],
+ peopleAndRoles: {
+ header: '1. Add People to your Application',
+ blurb: 'Add the Completing Party to this application',
+ helpSection: null,
+ rules: [
+ {
+ id: RuleIds.NUM_COMPLETING_PARTY,
+ text: 'The Completing Party',
+ test: (num) => { return (num === 1) }
+ }
+ ]
+ },
+ reviewAndConfirm: {
+ completingPartyStatement: {
+ certifyStatements: [],
+ certifyClause: `Note: It is an offence to make a false or misleading statement in respect
+ of a material fact in a record submitted to the Corporate Registry for filing.
+ See section 427 of the Business Corporations Act.`,
+ entityDisplay: null
+ }
+ }
+}
diff --git a/src/resources/AmalgamationShort/ULC.ts b/src/resources/AmalgamationShort/ULC.ts
new file mode 100644
index 000000000..9712c0823
--- /dev/null
+++ b/src/resources/AmalgamationShort/ULC.ts
@@ -0,0 +1,42 @@
+import { AmalgamationResourceIF } from '@/interfaces'
+import { FilingCodes, RuleIds } from '@/enums'
+import { AmalgamationShortSteps } from './steps'
+import { CorpTypeCd, GetCorpFullDescription } from '@bcrs-shared-components/corp-type-module'
+
+export const AmalgamationShortResourceUlc: AmalgamationResourceIF = {
+ entityType: CorpTypeCd.BC_ULC_COMPANY,
+ displayName: GetCorpFullDescription(CorpTypeCd.BC_ULC_COMPANY),
+ steps: AmalgamationShortSteps,
+ filingData: [
+ // order matters - see getFilingData()
+ {
+ entityType: CorpTypeCd.BC_ULC_COMPANY,
+ filingTypeCode: FilingCodes.AMALGAMATION_HORIZONTAL
+ },
+ {
+ entityType: CorpTypeCd.BC_ULC_COMPANY,
+ filingTypeCode: FilingCodes.AMALGAMATION_VERTICAL
+ }
+ ],
+ peopleAndRoles: {
+ header: '1. Add People to your Application',
+ blurb: 'Add the Completing Party to this application',
+ helpSection: null,
+ rules: [
+ {
+ id: RuleIds.NUM_COMPLETING_PARTY,
+ text: 'The Completing Party',
+ test: (num) => { return (num === 1) }
+ }
+ ]
+ },
+ reviewAndConfirm: {
+ completingPartyStatement: {
+ certifyStatements: [],
+ certifyClause: `Note: It is an offence to make a false or misleading statement in respect
+ of a material fact in a record submitted to the Corporate Registry for filing.
+ See section 427 of the Business Corporations Act.`,
+ entityDisplay: null
+ }
+ }
+}
diff --git a/src/resources/AmalgamationShort/index.ts b/src/resources/AmalgamationShort/index.ts
new file mode 100644
index 000000000..9c794c663
--- /dev/null
+++ b/src/resources/AmalgamationShort/index.ts
@@ -0,0 +1,4 @@
+export * from './BC'
+export * from './BEN'
+export * from './CC'
+export * from './ULC'
diff --git a/src/resources/AmalgamationShort/steps.ts b/src/resources/AmalgamationShort/steps.ts
new file mode 100644
index 000000000..a1fe056c5
--- /dev/null
+++ b/src/resources/AmalgamationShort/steps.ts
@@ -0,0 +1,41 @@
+import { RouteNames, Views } from '@/enums'
+
+/**
+ * The amalgamation (short-form) steps object.
+ * Currently used for BC, BEN, CC and ULC.
+ */
+export const AmalgamationShortSteps = [
+ {
+ id: 'step-1-btn',
+ step: 1,
+ icon: 'mdi-domain-plus',
+ text: 'Amalgamation\nInformation',
+ to: RouteNames.AMALGAMATION_INFORMATION,
+ component: Views.AMALGAMATION_INFORMATION
+ },
+ {
+ id: 'step-2-btn',
+ step: 2,
+ icon: 'mdi-domain',
+ text: 'Amalgamated\nBusiness Information',
+ to: RouteNames.AMALGAMATION_BUSINESS_INFO,
+ component: Views.AMALGAMATION_BUSINESS_INFO
+ },
+ {
+ id: 'step-3-btn',
+ step: 3,
+ icon: 'mdi-account-multiple-plus',
+ text: 'Add People\nand Roles',
+ to: RouteNames.AMALGAMATION_PEOPLE_ROLES,
+ component: Views.AMALGAMATION_PEOPLE_ROLES
+
+ },
+ {
+ id: 'step-4-btn',
+ step: 4,
+ icon: 'mdi-text-box-check-outline',
+ text: 'Review\nand Confirm',
+ to: RouteNames.AMALGAMATION_REVIEW_CONFIRM,
+ component: Views.AMALGAMATION_REVIEW_CONFIRM
+ }
+]
diff --git a/src/resources/Restoration/BC.ts b/src/resources/Restoration/BC.ts
index 231da862f..eb710d62b 100644
--- a/src/resources/Restoration/BC.ts
+++ b/src/resources/Restoration/BC.ts
@@ -8,7 +8,7 @@ export const RestorationResourceBc: RestorationResourceIF = {
displayName: GetCorpFullDescription(CorpTypeCd.BC_COMPANY),
steps: RestorationSteps,
filingData: [
- // order matters - see resource-getters.ts
+ // order matters - see getFilingData()
{
entityType: CorpTypeCd.BC_COMPANY,
filingTypeCode: FilingCodes.RESTORATION_FULL
diff --git a/src/resources/Restoration/BEN.ts b/src/resources/Restoration/BEN.ts
index a3551fd86..b8b74fd9e 100644
--- a/src/resources/Restoration/BEN.ts
+++ b/src/resources/Restoration/BEN.ts
@@ -8,7 +8,7 @@ export const RestorationResourceBen: RestorationResourceIF = {
displayName: GetCorpFullDescription(CorpTypeCd.BENEFIT_COMPANY),
steps: RestorationSteps,
filingData: [
- // order matters - see resource-getters.ts
+ // order matters - see getFilingData()
{
entityType: CorpTypeCd.BENEFIT_COMPANY,
filingTypeCode: FilingCodes.RESTORATION_FULL
diff --git a/src/resources/Restoration/CC.ts b/src/resources/Restoration/CC.ts
index 737668923..a9a3004b9 100644
--- a/src/resources/Restoration/CC.ts
+++ b/src/resources/Restoration/CC.ts
@@ -8,7 +8,7 @@ export const RestorationResourceCc: RestorationResourceIF = {
displayName: GetCorpFullDescription(CorpTypeCd.BC_CCC),
steps: RestorationSteps,
filingData: [
- // order matters - see resource-getters.ts
+ // order matters - see getFilingData()
{
entityType: CorpTypeCd.BC_CCC,
filingTypeCode: FilingCodes.RESTORATION_FULL
diff --git a/src/resources/Restoration/ULC.ts b/src/resources/Restoration/ULC.ts
index bf1518bab..fc67ba1e7 100644
--- a/src/resources/Restoration/ULC.ts
+++ b/src/resources/Restoration/ULC.ts
@@ -8,7 +8,7 @@ export const RestorationResourceUlc: RestorationResourceIF = {
displayName: GetCorpFullDescription(CorpTypeCd.BC_ULC_COMPANY),
steps: RestorationSteps,
filingData: [
- // order matters - see resource-getters.ts
+ // order matters - see getFilingData()
{
entityType: CorpTypeCd.BC_ULC_COMPANY,
filingTypeCode: FilingCodes.RESTORATION_FULL
diff --git a/src/resources/index.ts b/src/resources/index.ts
index c3b907b19..93f259320 100644
--- a/src/resources/index.ts
+++ b/src/resources/index.ts
@@ -1,5 +1,5 @@
import {
- AmalgamationRegResourceIF,
+ AmalgamationResourceIF,
DissolutionResourceIF,
IncorporationResourceIF,
RegistrationResourceIF,
@@ -13,6 +13,13 @@ import {
AmalgamationRegResourceUlc
} from './AmalgamationRegular/'
+import {
+ AmalgamationShortResourceBc,
+ AmalgamationShortResourceBen,
+ AmalgamationShortResourceCc,
+ AmalgamationShortResourceUlc
+} from './AmalgamationShort/'
+
import {
DissolutionResourceBc,
DissolutionResourceBen,
@@ -43,13 +50,20 @@ import {
RestorationResourceUlc
} from './Restoration/'
-export const AmalgamationRegResources: Array = [
+export const AmalgamationRegResources: Array = [
AmalgamationRegResourceBc,
AmalgamationRegResourceBen,
AmalgamationRegResourceCc,
AmalgamationRegResourceUlc
]
+export const AmalgamationShortResources: Array = [
+ AmalgamationShortResourceBc,
+ AmalgamationShortResourceBen,
+ AmalgamationShortResourceCc,
+ AmalgamationShortResourceUlc
+]
+
export const DissolutionResources: Array = [
DissolutionResourceBc,
DissolutionResourceBen,
diff --git a/src/router/routes.ts b/src/router/routes.ts
index 52699884a..8f9b998d5 100644
--- a/src/router/routes.ts
+++ b/src/router/routes.ts
@@ -1,5 +1,14 @@
-import { AmalgamationTypes, FilingTypes, RouteNames } from '@/enums'
+import { RouteNames } from '@/enums'
import * as Views from '@/views'
+import {
+ AmalgamationRegularRoutes,
+ AmalgamationShortRoutes,
+ DissolutionFirmRoutes,
+ DissolutionRoutes,
+ IncorporationRoutes,
+ RegistrationRoutes,
+ RestorationRoutes
+} from './routes/index'
export const routes = [
{
@@ -20,252 +29,13 @@ export const routes = [
requiresAuth: false
}
},
- {
- path: '/incorporation-define-company',
- name: RouteNames.INCORPORATION_DEFINE_COMPANY,
- component: Views.IncorporationDefineCompany,
- meta: {
- step: 1,
- requiresAuth: true,
- filingType: FilingTypes.INCORPORATION_APPLICATION
- }
- },
- {
- path: '/incorporation-people-roles',
- name: RouteNames.INCORPORATION_PEOPLE_ROLES,
- component: Views.IncorporationPeopleRoles,
- meta: {
- step: 2,
- requiresAuth: true,
- filingType: FilingTypes.INCORPORATION_APPLICATION
- }
- },
- {
- path: '/incorporation-share-structure',
- name: RouteNames.INCORPORATION_SHARE_STRUCTURE,
- component: Views.IncorporationShareStructure,
- meta: {
- step: 3,
- requiresAuth: true,
- filingType: FilingTypes.INCORPORATION_APPLICATION
- }
- },
- {
- path: '/incorporation-rules',
- name: RouteNames.INCORPORATION_RULES,
- component: Views.IncorporationRules,
- meta: {
- step: 3,
- requiresAuth: true,
- filingType: FilingTypes.INCORPORATION_APPLICATION
- }
- },
- {
- path: '/incorporation-agreement',
- name: RouteNames.INCORPORATION_AGREEMENT,
- component: Views.IncorporationAgreement,
- meta: {
- step: 4,
- requiresAuth: true,
- filingType: FilingTypes.INCORPORATION_APPLICATION
- }
- },
- {
- path: '/incorporation-memorandum',
- name: RouteNames.INCORPORATION_MEMORANDUM,
- component: Views.IncorporationMemorandum,
- meta: {
- step: 4,
- requiresAuth: true,
- filingType: FilingTypes.INCORPORATION_APPLICATION
- }
- },
- {
- path: '/incorporation-review-confirm',
- name: RouteNames.INCORPORATION_REVIEW_CONFIRM,
- component: Views.IncorporationReviewConfirm,
- meta: {
- step: 5,
- requiresAuth: true,
- filingType: FilingTypes.INCORPORATION_APPLICATION
- }
- },
- {
- path: '/dissolution-define-dissolution',
- name: RouteNames.DISSOLUTION_DEFINE_DISSOLUTION,
- component: Views.DissolutionDefineDissolution,
- meta: {
- step: 1,
- requiresAuth: true,
- filingType: FilingTypes.DISSOLUTION
- }
- },
- {
- path: '/dissolution-resolution',
- name: RouteNames.DISSOLUTION_RESOLUTION,
- component: Views.DissolutionResolution,
- meta: {
- step: 2,
- requiresAuth: true,
- filingType: FilingTypes.DISSOLUTION
- }
- },
- {
- path: '/dissolution-affidavit',
- name: RouteNames.DISSOLUTION_AFFIDAVIT,
- component: Views.DissolutionAffidavit,
- meta: {
- step: 3,
- requiresAuth: true,
- filingType: FilingTypes.DISSOLUTION
- }
- },
- {
- path: '/dissolution-review-confirm',
- name: RouteNames.DISSOLUTION_REVIEW_CONFIRM,
- component: Views.DissolutionReviewConfirm,
- meta: {
- step: 4,
- requiresAuth: true,
- filingType: FilingTypes.DISSOLUTION
- }
- },
- {
- path: '/registration-define-business',
- name: RouteNames.REGISTRATION_DEFINE_BUSINESS,
- component: Views.RegistrationDefineBusiness,
- meta: {
- step: 1,
- requiresAuth: true,
- filingType: FilingTypes.REGISTRATION
- }
- },
- {
- path: '/registration-people-roles',
- name: RouteNames.REGISTRATION_PEOPLE_ROLES,
- component: Views.RegistrationPeopleRoles,
- meta: {
- step: 2,
- requiresAuth: true,
- filingType: FilingTypes.REGISTRATION
- }
- },
- {
- path: '/registration-review-confirm',
- name: RouteNames.REGISTRATION_REVIEW_CONFIRM,
- component: Views.RegistrationReviewConfirm,
- meta: {
- step: 3,
- requiresAuth: true,
- filingType: FilingTypes.REGISTRATION
- }
- },
- {
- path: '/dissolution-firm',
- name: RouteNames.DISSOLUTION_FIRM,
- component: Views.DissolutionFirm,
- meta: {
- step: 1,
- requiresAuth: true,
- filingType: FilingTypes.DISSOLUTION,
- noStepper: true // hide stepper for this route/filing type
- }
- },
- {
- path: '/restoration-business-name',
- name: RouteNames.RESTORATION_BUSINESS_NAME,
- component: Views.RestorationBusinessName,
- meta: {
- step: 1,
- requiresAuth: true,
- filingType: FilingTypes.RESTORATION
- }
- },
- {
- path: '/restoration-applicant-information',
- name: RouteNames.RESTORATION_APPLICANT_INFORMATION,
- component: Views.RestorationApplicantInformation,
- meta: {
- step: 2,
- requiresAuth: true,
- filingType: FilingTypes.RESTORATION
- }
- },
- {
- path: '/restoration-business-information',
- name: RouteNames.RESTORATION_BUSINESS_INFORMATION,
- component: Views.RestorationBusinessInformation,
- meta: {
- step: 3,
- requiresAuth: true,
- filingType: FilingTypes.RESTORATION
- }
- },
- {
- path: '/restoration-review-confirm',
- name: RouteNames.RESTORATION_REVIEW_CONFIRM,
- component: Views.RestorationReviewConfirm,
- meta: {
- step: 4,
- requiresAuth: true,
- filingType: FilingTypes.RESTORATION
- }
- },
- {
- path: '/amalg-reg-information',
- name: RouteNames.AMALG_REG_INFORMATION,
- component: Views.AmalgRegInformation,
- meta: {
- step: 1,
- requiresAuth: true,
- filingType: FilingTypes.AMALGAMATION_APPLICATION,
- filingSubType: AmalgamationTypes.REGULAR
- }
- },
- {
- path: '/amalg-reg-business-info',
- name: RouteNames.AMALG_REG_BUSINESS_INFO,
- component: Views.AmalgRegBusinessInfo,
- meta: {
- step: 2,
- requiresAuth: true,
- filingType: FilingTypes.AMALGAMATION_APPLICATION,
- filingSubType: AmalgamationTypes.REGULAR
- }
- },
- {
- path: '/amalg-reg-people-roles',
- name: RouteNames.AMALG_REG_PEOPLE_ROLES,
- component: Views.AmalgRegPeopleRoles,
- meta: {
- step: 3,
- requiresAuth: true,
- filingType: FilingTypes.AMALGAMATION_APPLICATION,
- filingSubType: AmalgamationTypes.REGULAR
- }
- },
- {
- path: '/amalg-reg-share-structure',
- name: RouteNames.AMALG_REG_SHARE_STRUCTURE,
- component: Views.AmalgRegShareStructure,
- meta: {
- step: 4,
- requiresAuth: true,
- filingType: FilingTypes.AMALGAMATION_APPLICATION,
- filingSubType: AmalgamationTypes.REGULAR
- }
- },
- {
- path: '/amalg-reg-review-confirm',
- name: RouteNames.AMALG_REG_REVIEW_CONFIRM,
- component: Views.AmalgRegReviewConfirm,
- meta: {
- step: 5,
- requiresAuth: true,
- filingType: FilingTypes.AMALGAMATION_APPLICATION,
- filingSubType: AmalgamationTypes.REGULAR
- }
- },
+ ...AmalgamationRegularRoutes,
+ ...AmalgamationShortRoutes,
+ ...DissolutionFirmRoutes,
+ ...DissolutionRoutes,
+ ...IncorporationRoutes,
+ ...RegistrationRoutes,
+ ...RestorationRoutes,
{
// default/fallback route
// must be last
diff --git a/src/router/routes/amalgamation-regular-routes.ts b/src/router/routes/amalgamation-regular-routes.ts
new file mode 100644
index 000000000..f566b2676
--- /dev/null
+++ b/src/router/routes/amalgamation-regular-routes.ts
@@ -0,0 +1,55 @@
+import { FilingTypes, RouteNames } from '@/enums'
+import * as Views from '@/views'
+
+export const AmalgamationRegularRoutes = [
+ {
+ path: '/amalg-reg-information',
+ name: RouteNames.AMALG_REG_INFORMATION,
+ component: Views.AmalgamationInformation,
+ meta: {
+ step: 1,
+ requiresAuth: true,
+ filingType: FilingTypes.AMALGAMATION_APPLICATION
+ }
+ },
+ {
+ path: '/amalg-reg-business-info',
+ name: RouteNames.AMALG_REG_BUSINESS_INFO,
+ component: Views.AmalgamationBusinessInfo,
+ meta: {
+ step: 2,
+ requiresAuth: true,
+ filingType: FilingTypes.AMALGAMATION_APPLICATION
+ }
+ },
+ {
+ path: '/amalg-reg-people-roles',
+ name: RouteNames.AMALG_REG_PEOPLE_ROLES,
+ component: Views.AmalgamationPeopleRoles,
+ meta: {
+ step: 3,
+ requiresAuth: true,
+ filingType: FilingTypes.AMALGAMATION_APPLICATION
+ }
+ },
+ {
+ path: '/amalg-reg-share-structure',
+ name: RouteNames.AMALG_REG_SHARE_STRUCTURE,
+ component: Views.AmalgamationShareStructure,
+ meta: {
+ step: 4,
+ requiresAuth: true,
+ filingType: FilingTypes.AMALGAMATION_APPLICATION
+ }
+ },
+ {
+ path: '/amalg-reg-review-confirm',
+ name: RouteNames.AMALG_REG_REVIEW_CONFIRM,
+ component: Views.AmalgamationReviewConfirm,
+ meta: {
+ step: 5,
+ requiresAuth: true,
+ filingType: FilingTypes.AMALGAMATION_APPLICATION
+ }
+ }
+]
diff --git a/src/router/routes/amalgamation-short-routes.ts b/src/router/routes/amalgamation-short-routes.ts
new file mode 100644
index 000000000..b8e70f9cd
--- /dev/null
+++ b/src/router/routes/amalgamation-short-routes.ts
@@ -0,0 +1,45 @@
+import { FilingTypes, RouteNames } from '@/enums'
+import * as Views from '@/views'
+
+export const AmalgamationShortRoutes = [
+ {
+ path: '/amalg-short-information',
+ name: RouteNames.AMALG_SHORT_INFORMATION,
+ component: Views.AmalgamationInformation,
+ meta: {
+ step: 1,
+ requiresAuth: true,
+ filingType: FilingTypes.AMALGAMATION_APPLICATION
+ }
+ },
+ {
+ path: '/amalg-short-business-info',
+ name: RouteNames.AMALG_SHORT_BUSINESS_INFO,
+ component: Views.AmalgamationBusinessInfo,
+ meta: {
+ step: 2,
+ requiresAuth: true,
+ filingType: FilingTypes.AMALGAMATION_APPLICATION
+ }
+ },
+ {
+ path: '/amalg-short-people-roles',
+ name: RouteNames.AMALG_SHORT_PEOPLE_ROLES,
+ component: Views.AmalgamationPeopleRoles,
+ meta: {
+ step: 3,
+ requiresAuth: true,
+ filingType: FilingTypes.AMALGAMATION_APPLICATION
+ }
+ },
+ {
+ path: '/amalg-short-review-confirm',
+ name: RouteNames.AMALG_SHORT_REVIEW_CONFIRM,
+ component: Views.AmalgamationReviewConfirm,
+ meta: {
+ step: 4,
+ requiresAuth: true,
+ filingType: FilingTypes.AMALGAMATION_APPLICATION
+ }
+ }
+]
diff --git a/src/router/routes/dissolution-routes.ts b/src/router/routes/dissolution-routes.ts
new file mode 100644
index 000000000..ae489690e
--- /dev/null
+++ b/src/router/routes/dissolution-routes.ts
@@ -0,0 +1,59 @@
+import { FilingTypes, RouteNames } from '@/enums'
+import * as Views from '@/views'
+
+export const DissolutionRoutes = [
+ {
+ path: '/dissolution-define-dissolution',
+ name: RouteNames.DISSOLUTION_DEFINE_DISSOLUTION,
+ component: Views.DissolutionDefineDissolution,
+ meta: {
+ step: 1,
+ requiresAuth: true,
+ filingType: FilingTypes.DISSOLUTION
+ }
+ },
+ {
+ path: '/dissolution-resolution',
+ name: RouteNames.DISSOLUTION_RESOLUTION,
+ component: Views.DissolutionResolution,
+ meta: {
+ step: 2,
+ requiresAuth: true,
+ filingType: FilingTypes.DISSOLUTION
+ }
+ },
+ {
+ path: '/dissolution-affidavit',
+ name: RouteNames.DISSOLUTION_AFFIDAVIT,
+ component: Views.DissolutionAffidavit,
+ meta: {
+ step: 3,
+ requiresAuth: true,
+ filingType: FilingTypes.DISSOLUTION
+ }
+ },
+ {
+ path: '/dissolution-review-confirm',
+ name: RouteNames.DISSOLUTION_REVIEW_CONFIRM,
+ component: Views.DissolutionReviewConfirm,
+ meta: {
+ step: 4,
+ requiresAuth: true,
+ filingType: FilingTypes.DISSOLUTION
+ }
+ }
+]
+
+export const DissolutionFirmRoutes = [
+ {
+ path: '/dissolution-firm',
+ name: RouteNames.DISSOLUTION_FIRM,
+ component: Views.DissolutionFirm,
+ meta: {
+ step: 1,
+ requiresAuth: true,
+ filingType: FilingTypes.DISSOLUTION,
+ noStepper: true // hide stepper for this route/filing type
+ }
+ }
+]
diff --git a/src/router/routes/incorporation-routes.ts b/src/router/routes/incorporation-routes.ts
new file mode 100644
index 000000000..de33f682b
--- /dev/null
+++ b/src/router/routes/incorporation-routes.ts
@@ -0,0 +1,75 @@
+import { FilingTypes, RouteNames } from '@/enums'
+import * as Views from '@/views'
+
+export const IncorporationRoutes = [
+ {
+ path: '/incorporation-define-company',
+ name: RouteNames.INCORPORATION_DEFINE_COMPANY,
+ component: Views.IncorporationDefineCompany,
+ meta: {
+ step: 1,
+ requiresAuth: true,
+ filingType: FilingTypes.INCORPORATION_APPLICATION
+ }
+ },
+ {
+ path: '/incorporation-people-roles',
+ name: RouteNames.INCORPORATION_PEOPLE_ROLES,
+ component: Views.IncorporationPeopleRoles,
+ meta: {
+ step: 2,
+ requiresAuth: true,
+ filingType: FilingTypes.INCORPORATION_APPLICATION
+ }
+ },
+ {
+ path: '/incorporation-share-structure',
+ name: RouteNames.INCORPORATION_SHARE_STRUCTURE,
+ component: Views.IncorporationShareStructure,
+ meta: {
+ step: 3,
+ requiresAuth: true,
+ filingType: FilingTypes.INCORPORATION_APPLICATION
+ }
+ },
+ {
+ path: '/incorporation-rules',
+ name: RouteNames.INCORPORATION_RULES,
+ component: Views.IncorporationRules,
+ meta: {
+ step: 3,
+ requiresAuth: true,
+ filingType: FilingTypes.INCORPORATION_APPLICATION
+ }
+ },
+ {
+ path: '/incorporation-agreement',
+ name: RouteNames.INCORPORATION_AGREEMENT,
+ component: Views.IncorporationAgreement,
+ meta: {
+ step: 4,
+ requiresAuth: true,
+ filingType: FilingTypes.INCORPORATION_APPLICATION
+ }
+ },
+ {
+ path: '/incorporation-memorandum',
+ name: RouteNames.INCORPORATION_MEMORANDUM,
+ component: Views.IncorporationMemorandum,
+ meta: {
+ step: 4,
+ requiresAuth: true,
+ filingType: FilingTypes.INCORPORATION_APPLICATION
+ }
+ },
+ {
+ path: '/incorporation-review-confirm',
+ name: RouteNames.INCORPORATION_REVIEW_CONFIRM,
+ component: Views.IncorporationReviewConfirm,
+ meta: {
+ step: 5,
+ requiresAuth: true,
+ filingType: FilingTypes.INCORPORATION_APPLICATION
+ }
+ }
+]
diff --git a/src/router/routes/index.ts b/src/router/routes/index.ts
new file mode 100644
index 000000000..fc1f88ebd
--- /dev/null
+++ b/src/router/routes/index.ts
@@ -0,0 +1,6 @@
+export * from './amalgamation-regular-routes'
+export * from './amalgamation-short-routes'
+export * from './dissolution-routes'
+export * from './incorporation-routes'
+export * from './registration-route'
+export * from './restoration-routes'
diff --git a/src/router/routes/registration-route.ts b/src/router/routes/registration-route.ts
new file mode 100644
index 000000000..a16aa69b5
--- /dev/null
+++ b/src/router/routes/registration-route.ts
@@ -0,0 +1,35 @@
+import { FilingTypes, RouteNames } from '@/enums'
+import * as Views from '@/views'
+
+export const RegistrationRoutes = [
+ {
+ path: '/registration-define-business',
+ name: RouteNames.REGISTRATION_DEFINE_BUSINESS,
+ component: Views.RegistrationDefineBusiness,
+ meta: {
+ step: 1,
+ requiresAuth: true,
+ filingType: FilingTypes.REGISTRATION
+ }
+ },
+ {
+ path: '/registration-people-roles',
+ name: RouteNames.REGISTRATION_PEOPLE_ROLES,
+ component: Views.RegistrationPeopleRoles,
+ meta: {
+ step: 2,
+ requiresAuth: true,
+ filingType: FilingTypes.REGISTRATION
+ }
+ },
+ {
+ path: '/registration-review-confirm',
+ name: RouteNames.REGISTRATION_REVIEW_CONFIRM,
+ component: Views.RegistrationReviewConfirm,
+ meta: {
+ step: 3,
+ requiresAuth: true,
+ filingType: FilingTypes.REGISTRATION
+ }
+ }
+]
diff --git a/src/router/routes/restoration-routes.ts b/src/router/routes/restoration-routes.ts
new file mode 100644
index 000000000..0a6c02bfa
--- /dev/null
+++ b/src/router/routes/restoration-routes.ts
@@ -0,0 +1,45 @@
+import { FilingTypes, RouteNames } from '@/enums'
+import * as Views from '@/views'
+
+export const RestorationRoutes = [
+ {
+ path: '/restoration-business-name',
+ name: RouteNames.RESTORATION_BUSINESS_NAME,
+ component: Views.RestorationBusinessName,
+ meta: {
+ step: 1,
+ requiresAuth: true,
+ filingType: FilingTypes.RESTORATION
+ }
+ },
+ {
+ path: '/restoration-applicant-information',
+ name: RouteNames.RESTORATION_APPLICANT_INFORMATION,
+ component: Views.RestorationApplicantInformation,
+ meta: {
+ step: 2,
+ requiresAuth: true,
+ filingType: FilingTypes.RESTORATION
+ }
+ },
+ {
+ path: '/restoration-business-information',
+ name: RouteNames.RESTORATION_BUSINESS_INFORMATION,
+ component: Views.RestorationBusinessInformation,
+ meta: {
+ step: 3,
+ requiresAuth: true,
+ filingType: FilingTypes.RESTORATION
+ }
+ },
+ {
+ path: '/restoration-review-confirm',
+ name: RouteNames.RESTORATION_REVIEW_CONFIRM,
+ component: Views.RestorationReviewConfirm,
+ meta: {
+ step: 4,
+ requiresAuth: true,
+ filingType: FilingTypes.RESTORATION
+ }
+ }
+]
diff --git a/src/store/store.ts b/src/store/store.ts
index caf6ca9d6..a4aaf0bc9 100644
--- a/src/store/store.ts
+++ b/src/store/store.ts
@@ -69,9 +69,10 @@ import {
ValidationDetailIF
} from '@/interfaces'
-// Possible to move getters / actions into seperate files:
+// It's possible to move getters / actions into seperate files:
// https://github.com/vuejs/pinia/issues/802#issuecomment-1018780409
-// Not sure if I'd recommend that though.
+// Not sure if that's a good idea though.
+
export const useStore = defineStore('store', {
state: (): StateIF => ({ resourceModel, stateModel }),
getters: {
@@ -89,17 +90,32 @@ export const useStore = defineStore('store', {
/** Whether the current filing is a Regular Amalgamation. */
isAmalgamationFilingRegular (): boolean {
- return (this.getAmalgamationType === AmalgamationTypes.REGULAR)
+ return (
+ this.isAmalgamationFiling &&
+ this.getAmalgamationType === AmalgamationTypes.REGULAR
+ )
},
/** Whether the current filing is a Horizontal Amalgamation. */
isAmalgamationFilingHorizontal (): boolean {
- return (this.getAmalgamationType === AmalgamationTypes.HORIZONTAL)
+ return (
+ this.isAmalgamationFiling &&
+ this.getAmalgamationType === AmalgamationTypes.HORIZONTAL
+ )
},
/** Whether the current filing is a Vertical Amalgamation. */
isAmalgamationFilingVertical (): boolean {
- return (this.getAmalgamationType === AmalgamationTypes.VERTICAL)
+ return (
+ this.isAmalgamationFiling &&
+ this.getAmalgamationType === AmalgamationTypes.VERTICAL
+ )
+ },
+
+ // *** TODO: use this instead of isAmalgamationFilingHorizontal/isAmalgamationFilingVertical ?
+ /** Whether the current filing is a Short Amalgamation (horizontal or vertical). */
+ isAmalgamationFilingShort (): boolean {
+ return (this.isAmalgamationFilingHorizontal || this.isAmalgamationFilingVertical)
},
/** Whether the current filing is an Incorporation Application. */
@@ -521,12 +537,7 @@ export const useStore = defineStore('store', {
/** Whether the subject filing is valid. */
isFilingValid (): boolean {
- if (this.isAmalgamationFiling) {
- if (this.isAmalgamationFilingRegular) return this.isAmalgamationRegularValid
- if (this.isAmalgamationFilingHorizontal) return false // FUTURE
- if (this.isAmalgamationFilingVertical) return false // FUTURE
- return false // should never happen
- }
+ if (this.isAmalgamationFiling) return this.isAmalgamationValid
if (this.isIncorporationFiling) return this.isIncorporationApplicationValid
if (this.isDissolutionFiling) return this.isDissolutionValid
if (this.isRegistrationFiling) return this.isRegistrationValid
@@ -577,24 +588,31 @@ export const useStore = defineStore('store', {
)
},
- /** Whether Amalgamation Information (regular) step is valid. */
- isAmalgamationInformationRegValid (): boolean {
- return (
- this.getAmalgamatingBusinessesValid &&
- !!this.getCorrectNameOption &&
- this.getNameTranslationsValid
- )
+ /** Whether Amalgamation Information step is valid. */
+ isAmalgamationInformationValid (): boolean {
+ if (this.isAmalgamationFilingRegular) {
+ return (
+ this.getAmalgamatingBusinessesValid &&
+ !!this.getCorrectNameOption &&
+ this.getNameTranslationsValid
+ )
+ } else {
+ return (
+ // *** TODO: verify/update this as needed
+ this.getAmalgamatingBusinessesValid
+ )
+ }
},
- /** Whether all the amalgamation (regular) steps are valid. */
- isAmalgamationRegularValid (): boolean {
+ /** Whether all the amalgamation steps are valid. */
+ isAmalgamationValid (): boolean {
const isCertifyValid = this.getCertifyState.valid && !!this.getCertifyState.certifiedBy
const isCourtOrderValid = this.isRoleStaff ? this.getCourtOrderStep.valid : true
const isFolioNumberValid = !this.isPremiumAccount || this.getFolioNumberValid
const isStaffPaymentValid = this.isRoleStaff ? this.getStaffPaymentStep.valid : true
return (
- this.isAmalgamationInformationRegValid &&
+ this.isAmalgamationInformationValid &&
this.isDefineCompanyValid &&
this.isAddPeopleAndRolesValid &&
this.isCreateShareStructureValid &&
@@ -908,13 +926,13 @@ export const useStore = defineStore('store', {
/** The resource filing data. */
getFilingData (): Array {
- if (this.isFullRestorationFiling) {
- return [this.resourceModel.filingData[0]]
- }
- if (this.isLimitedRestorationFiling) {
- return [this.resourceModel.filingData[1]]
+ switch (true) {
+ case this.isFullRestorationFiling: return [this.resourceModel.filingData[0]]
+ case this.isLimitedRestorationFiling: return [this.resourceModel.filingData[1]]
+ case this.isAmalgamationFilingHorizontal: return [this.resourceModel.filingData[0]]
+ case this.isAmalgamationFilingVertical: return [this.resourceModel.filingData[1]]
+ default: return this.resourceModel.filingData
}
- return this.resourceModel.filingData
},
/** The incorporation agreement sample article. */
diff --git a/src/views/AmalgamationRegular/BusinessInfo.vue b/src/views/Amalgamation/BusinessInfo.vue
similarity index 70%
rename from src/views/AmalgamationRegular/BusinessInfo.vue
rename to src/views/Amalgamation/BusinessInfo.vue
index a1577828b..c23f7fd57 100644
--- a/src/views/AmalgamationRegular/BusinessInfo.vue
+++ b/src/views/Amalgamation/BusinessInfo.vue
@@ -1,5 +1,5 @@
-
+
Registered and Records Office Addresses
-
+
Enter the Registered Office and Records Office Mailing and Delivery Addresses of the Resulting
businesses. All addresses must be located in BC.
+
+ The resulting business will adopt the following Registered Office and Records Office Mailing
+ and Delivery Addresses of the holding / primary company in this amalgamation.
+
-
-
-
+
+
+
+
+
+ Important: To update the registered office and records office addresses,
+ save this draft application and visit the holding company's dashboard. Make the address
+ changes there and come back to this application.
+
+
+
+
+
+
+
+
+
@@ -32,10 +60,15 @@
>
void
@@ -168,7 +206,13 @@ export default class AmalgamationRegularBusinessInfo extends Mixins(CommonMixin)
@Watch('$route')
private async scrollToInvalidComponent (): Promise {
- if (this.getShowErrors && this.$route.name === RouteNames.AMALG_REG_BUSINESS_INFO) {
+ if (
+ this.getShowErrors &&
+ (
+ this.$route.name === RouteNames.AMALG_REG_BUSINESS_INFO ||
+ this.$route.name === RouteNames.AMALG_SHORT_BUSINESS_INFO
+ )
+ ) {
// scroll to invalid components
await this.$nextTick()
await this.validateAndScroll(this.validFlags, this.validComponents)
@@ -180,7 +224,7 @@ export default class AmalgamationRegularBusinessInfo extends Mixins(CommonMixin)