diff --git a/package-lock.json b/package-lock.json
index db1b06e0b..78c602e68 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "business-create-ui",
- "version": "3.4.9",
+ "version": "3.4.10",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -17730,8 +17730,8 @@
"dev": true
},
"vue-test-utils-helpers": {
- "version": "git://github.com/bcgov/vue-test-utils-helpers.git#aeffe77a87b9a37dacf4b38d77bc1833db02a8a2",
- "from": "git://github.com/bcgov/vue-test-utils-helpers.git",
+ "version": "git+https://github.com/bcgov/vue-test-utils-helpers.git#aeffe77a87b9a37dacf4b38d77bc1833db02a8a2",
+ "from": "git+https://github.com/bcgov/vue-test-utils-helpers.git",
"dev": true,
"requires": {
"lodash.clonedeep": "^4.5.0"
diff --git a/package.json b/package.json
index 3d98cb6aa..7f68986fd 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "business-create-ui",
- "version": "3.4.9",
+ "version": "3.4.10",
"private": true,
"appName": "Create UI",
"sbcName": "SBC Common Components",
@@ -74,7 +74,7 @@
"vue-plugin-helper-decorator": "^0.0.12",
"vue-property-decorator": "^8.5.1",
"vue-template-compiler": "2.6.12",
- "vue-test-utils-helpers": "git://github.com/bcgov/vue-test-utils-helpers.git",
+ "vue-test-utils-helpers": "https://github.com/bcgov/vue-test-utils-helpers.git",
"vuetify-loader": "^1.6.0",
"vuex-class": "^0.3.2",
"vuex-module-decorators": "^0.16.1"
diff --git a/src/App.vue b/src/App.vue
index 4b456f99a..faf70e1f1 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -98,8 +98,11 @@
+
+ {{ getFilingSubtitle }}
+
-
+
@@ -244,6 +247,7 @@ export default class App extends Mixins(
@Getter getAccountInformation!: AccountInformationIF
@Getter getOrgInformation!: OrgInformationIF
@Getter isSbcStaff!: boolean
+ @Getter getFilingSubtitle!: string
@Action setBusinessId!: ActionBindingIF
@Action setCurrentStep!: ActionBindingIF
@@ -380,6 +384,10 @@ export default class App extends Mixins(
case FilingTypes.VOLUNTARY_DISSOLUTION: return 'Filing'
}
}
+ // check to use stepper view or not
+ get isStepperView (): boolean {
+ return !this.$route.meta.noStepper
+ }
/** Helper to check is the current route matches */
private isRouteName (routeName: RouteNames): boolean {
diff --git a/src/enums/filingNames.ts b/src/enums/filingNames.ts
index 9a6ba8dc1..1e88726bf 100644
--- a/src/enums/filingNames.ts
+++ b/src/enums/filingNames.ts
@@ -2,4 +2,10 @@ export enum FilingNames {
INCORPORATION_APPLICATION = 'Incorporation Application',
REGISTRATION = 'Registration',
VOLUNTARY_DISSOLUTION = 'Voluntary Dissolution',
+ DISSOLUTION_FIRM = 'Dissolution',
+}
+
+export enum FilingTypesSubTitle {
+ SOLE_PROP_SUB_TITLE = 'Confirm the following information,' +
+ ' select the dissolution date and certify your dissolution before filing.',
}
diff --git a/src/enums/routeNames.ts b/src/enums/routeNames.ts
index 2064fd5a3..90afc7013 100644
--- a/src/enums/routeNames.ts
+++ b/src/enums/routeNames.ts
@@ -25,4 +25,8 @@ export enum RouteNames {
REGISTRATION_DEFINE_BUSINESS = 'registration-define-business',
REGISTRATION_PEOPLE_ROLES = 'registration-people-roles',
REGISTRATION_REVIEW_CONFIRM = 'registration-review-confirm',
+
+ // firm Dissolution (SP and GP)
+ DISSOLUTION_FIRM = 'dissolution-firm',
+
}
diff --git a/src/enums/viewComponentNames.ts b/src/enums/viewComponentNames.ts
index c29284601..8e893b637 100644
--- a/src/enums/viewComponentNames.ts
+++ b/src/enums/viewComponentNames.ts
@@ -25,4 +25,8 @@ export enum ViewComponentNames {
REGISTRATION_DEFINE_BUSINESS = 'registration-define-business',
REGISTRATION_PEOPLE_ROLES = 'registration-people-roles',
REGISTRATION_REVIEW_CONFIRM = 'registration-review-confirm',
+
+// Entity dissolution
+ DISSOLUTION_FIRM = 'dissolution-firm',
+
}
diff --git a/src/interfaces/resource-interfaces/resource-interface.ts b/src/interfaces/resource-interfaces/resource-interface.ts
index 43a0a3911..1f1eee25d 100644
--- a/src/interfaces/resource-interfaces/resource-interface.ts
+++ b/src/interfaces/resource-interfaces/resource-interface.ts
@@ -61,9 +61,9 @@ export interface DissolutionResourceIF {
steps: Array
filingData: Array
detailsTitle: string
- custodialRecords: CustodianResourceIF
+ custodialRecords?: CustodianResourceIF
dissolutionStatements?: Array
- affidavit: AffidavitResourceIF
+ affidavit?: AffidavitResourceIF
reviewAndConfirm: {
completingPartyStatement: {
certifyStatementHeader: string
diff --git a/src/interfaces/stepper-interfaces/CreateResolution/create-resolution-resource-interface.ts b/src/interfaces/stepper-interfaces/CreateResolution/create-resolution-resource-interface.ts
index 9a82242c4..5b8761c70 100644
--- a/src/interfaces/stepper-interfaces/CreateResolution/create-resolution-resource-interface.ts
+++ b/src/interfaces/stepper-interfaces/CreateResolution/create-resolution-resource-interface.ts
@@ -1,6 +1,6 @@
export interface CreateResolutionResourceIF {
reviewConfirmHeader: string
- helpSection: {
+ helpSection?: {
header: string
helpText: any
}
diff --git a/src/resources/Dissolutions/index.ts b/src/resources/Dissolutions/index.ts
index 9dd203fc1..799d6723e 100644
--- a/src/resources/Dissolutions/index.ts
+++ b/src/resources/Dissolutions/index.ts
@@ -3,3 +3,5 @@ export { CommunityContributionCompanyDissolutionResource } from '@/resources/Dis
export { CooperativeDissolutionResource } from '@/resources/Dissolutions/cooperative'
export { LimitedCompanyDissolutionResource } from '@/resources/Dissolutions/limitedCompany'
export { UnlimitedDissolutionResource } from '@/resources/Dissolutions/unlimitedCompany'
+
+export { SoleProprietorshipDissolutionResource } from '@/resources/Dissolutions/soleProprietorship'
diff --git a/src/resources/Dissolutions/soleProprietorship.ts b/src/resources/Dissolutions/soleProprietorship.ts
new file mode 100644
index 000000000..e19b04566
--- /dev/null
+++ b/src/resources/Dissolutions/soleProprietorship.ts
@@ -0,0 +1,69 @@
+import { DissolutionResourceIF } from '@/interfaces'
+import { CorpTypeCd, FilingCodes, ItemTypes } from '@/enums'
+import { GetCorpFullDescription } from '@bcrs-shared-components/corp-type-module'
+import { CorpFirmDissolutionSteps } from '@/resources/Dissolutions/stepTemplates'
+
+// SB TODO : cleanup this code
+export const SoleProprietorshipDissolutionResource: DissolutionResourceIF = {
+ entityType: CorpTypeCd.SOLE_PROP,
+ displayName: GetCorpFullDescription(CorpTypeCd.SOLE_PROP),
+ steps: CorpFirmDissolutionSteps,
+ filingData: [{
+ entityType: CorpTypeCd.SOLE_PROP,
+ filingTypeCode: FilingCodes.DISSOLUTION_VOLUNTARY
+ }],
+ detailsTitle: 'Company Details',
+
+ reviewAndConfirm: {
+ completingPartyStatement: {
+ certifyStatementHeader: null,
+ certifyStatements: [],
+ certifyClause: `Note: It is an offence to make or assist in making a false or misleading statement
+ in a record filed under the Partnership Act.
+ A person who commits this offence is subject to a maximum fine of $5,000.`,
+ entityDisplay: GetCorpFullDescription(CorpTypeCd.SOLE_PROP)
+ }
+ },
+ createResolution: {
+ reviewConfirmHeader: 'Resolution',
+ introSection: {
+ header: '1. Resolution',
+ items: [
+ {
+ type: ItemTypes.TEXT,
+ value: 'Before submitting your voluntary dissolution you must complete, sign, and date a '
+ },
+ {
+ type: ItemTypes.TOOLTIP,
+ value: {
+ label: 'resolution',
+ text: 'Resolution - A formal statement of a decision.'
+ }
+ },
+ {
+ type: ItemTypes.TEXT,
+ value: 'and deposit the resolution in the Company\'s records book.'
+ }
+ ]
+ },
+
+ confirmSection: {
+ header: '2. Confirm Resolution Completion',
+ text: [
+ {
+ type: ItemTypes.TEXT,
+ value: 'I confirm a resolution was passed by'
+ },
+ {
+ type: ItemTypes.PLACEHOLDER,
+ value: 'legal_name'
+ },
+ {
+ type: ItemTypes.TEXT,
+ value: 'and has been deposited in the Company\'s records book.'
+ }
+ ],
+ items: []
+ }
+ }
+}
diff --git a/src/resources/Dissolutions/stepTemplates.ts b/src/resources/Dissolutions/stepTemplates.ts
index 31e2ae1bc..3983ff5eb 100644
--- a/src/resources/Dissolutions/stepTemplates.ts
+++ b/src/resources/Dissolutions/stepTemplates.ts
@@ -79,3 +79,22 @@ export const CorpDissolutionSteps = [
component: ViewComponentNames.DISSOLUTION_REVIEW_CONFIRM
}
]
+
+/**
+ * The stepper template is not needed for SP and GP filing types
+ * Hiding of stepper is done by passign meta from route,
+ * Still we need one minimum step to render component
+ * Currently used for SP, GP.
+ * Later we can fix, if we didnt pass stepper, UI should render without stepper
+ */
+
+export const CorpFirmDissolutionSteps = [
+ {
+ id: 'step-1-btn',
+ step: 1,
+ icon: 'mdi-domain-remove',
+ text: 'Dissolution',
+ to: RouteNames.DISSOLUTION_FIRM,
+ component: ViewComponentNames.DISSOLUTION_FIRM
+ }
+]
diff --git a/src/resources/index.ts b/src/resources/index.ts
index a5b4efaeb..11e14806f 100644
--- a/src/resources/index.ts
+++ b/src/resources/index.ts
@@ -18,7 +18,8 @@ import {
CommunityContributionCompanyDissolutionResource,
CooperativeDissolutionResource,
LimitedCompanyDissolutionResource,
- UnlimitedDissolutionResource
+ UnlimitedDissolutionResource,
+ SoleProprietorshipDissolutionResource
} from './Dissolutions'
export const IncorporationResources: Array = [
@@ -39,7 +40,8 @@ export const DissolutionResources: Array = [
CommunityContributionCompanyDissolutionResource,
CooperativeDissolutionResource,
LimitedCompanyDissolutionResource,
- UnlimitedDissolutionResource
+ UnlimitedDissolutionResource,
+ SoleProprietorshipDissolutionResource
]
export * from './BreadCrumbResource'
diff --git a/src/router/routes.ts b/src/router/routes.ts
index f69645ecb..413bbe8a9 100644
--- a/src/router/routes.ts
+++ b/src/router/routes.ts
@@ -160,6 +160,18 @@ export const routes = [
filingType: FilingTypes.REGISTRATION
}
},
+ {
+ path: '/dissolution-firm',
+ name: RouteNames.DISSOLUTION_FIRM,
+ component: Views.DissolutionFirm,
+ meta: {
+ step: 1,
+ requiresAuth: true,
+ filingType: FilingTypes.VOLUNTARY_DISSOLUTION,
+ noStepper: true // to hide stepper for this view
+ }
+ },
+
{
// default/fallback route
// must be last
diff --git a/src/store/getters/state-getters.ts b/src/store/getters/state-getters.ts
index 181c165c4..4e35bedcf 100644
--- a/src/store/getters/state-getters.ts
+++ b/src/store/getters/state-getters.ts
@@ -4,7 +4,8 @@ import {
CorpTypeCd,
DissolutionTypes,
FilingNames,
- FilingTypes
+ FilingTypes,
+ FilingTypesSubTitle
} from '@/enums'
import {
AccountInformationIF,
@@ -64,7 +65,12 @@ export const getFilingName = (state: StateIF): FilingNames => {
switch (getFilingType(state)) {
case FilingTypes.INCORPORATION_APPLICATION: return FilingNames.INCORPORATION_APPLICATION
case FilingTypes.REGISTRATION: return FilingNames.REGISTRATION
- case FilingTypes.VOLUNTARY_DISSOLUTION: return FilingNames.VOLUNTARY_DISSOLUTION
+ case FilingTypes.VOLUNTARY_DISSOLUTION:
+ if (isTypeSoleProp(state)) {
+ return FilingNames.DISSOLUTION_FIRM
+ }
+ return FilingNames.VOLUNTARY_DISSOLUTION
+
default: return null // should never happen
}
}
@@ -644,3 +650,11 @@ export const isDissolutionDefineDissolutionValid = (state: StateIF): boolean =>
export const getRegistration = (state: StateIF): RegistrationStateIF => {
return state.stateModel.registration
}
+
+// current filing subtitle
+export const getFilingSubtitle = (state: StateIF): string => {
+ if (isDissolutionFiling(state) && isTypeSoleProp(state)) {
+ return FilingTypesSubTitle.SOLE_PROP_SUB_TITLE
+ }
+ return null
+}
diff --git a/src/views/DissolutionFirm/DissolutionFirm.vue b/src/views/DissolutionFirm/DissolutionFirm.vue
new file mode 100644
index 000000000..9d3e91eab
--- /dev/null
+++ b/src/views/DissolutionFirm/DissolutionFirm.vue
@@ -0,0 +1,416 @@
+
+
+
+
+
+
+
diff --git a/src/views/index.ts b/src/views/index.ts
index 2be3b4049..a763b2cbf 100644
--- a/src/views/index.ts
+++ b/src/views/index.ts
@@ -22,3 +22,5 @@ export { default as IncorporationShareStructure } from './Incorporation/Incorpor
export { default as RegistrationDefineBusiness } from './Registration/RegistrationDefineBusiness.vue'
export { default as RegistrationPeopleRoles } from './Registration/RegistrationPeopleRoles.vue'
export { default as RegistrationReviewConfirm } from './Registration/RegistrationReviewConfirm.vue'
+
+export { default as DissolutionFirm } from './DissolutionFirm/DissolutionFirm.vue'