Skip to content

Commit

Permalink
14145 Update Confirm Incorporation Agreement and Article Completion (#…
Browse files Browse the repository at this point in the history
…474)

* Update incorporation agreement step description & add custom descriptions for the four corp types
* Update App version
  • Loading branch information
lambert-alex authored Nov 23, 2022
1 parent b94e22b commit 6ead125
Show file tree
Hide file tree
Showing 13 changed files with 146 additions and 121 deletions.
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "business-create-ui",
"version": "4.3.14",
"version": "4.3.15",
"private": true,
"appName": "Create UI",
"sbcName": "SBC Common Components",
Expand Down
17 changes: 9 additions & 8 deletions src/components/common/AgreementType.vue
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<!-- SUMMARY SECTION -->
<template v-if="isSummary">
<!-- Summary Warning -->
<section v-if="showErrorSummary" class="agreement-invalid-message invalid-section">
<section v-if="showErrorSummary && getShowErrors" class="agreement-invalid-message invalid-section">
<span>
<v-icon color="error">mdi-information-outline</v-icon>
<span class="error-text mx-1">This step is unfinished.</span>
Expand All @@ -22,24 +22,24 @@
</template>

<!-- EDIT SECTION -->
<template v-else-if="isTypeBcCcc">
<div v-if="isTypeBcUlcCompany" :class="{ 'invalid-section': showErrorSummary && getShowErrors }">
<v-checkbox
v-for="(item, index) in getIncorporationAgreementDocuments"
v-model="agreementType"
class="ml-6 mt-0 agreement-option-list"
:id="`agreement-type-${item.code}`"
class="agreement-option-list"
:key="index"
v-model="agreementType"
:value="item.code"
@change="changeAgreementType()"
>
<template v-slot:label>
<div v-html="item.description" class="agreement-option" />
<div v-html="item.description" class="ml-6 py-4 agreement-option" />
</template>
</v-checkbox>
</template>
</div>

<!-- EDIT SECTION -->
<div class="py-8 px-6" v-else :class="{ 'invalid-section': showErrorSummary }">
<div class="py-8 px-6" v-else :class="{ 'invalid-section': showErrorSummary && getShowErrors }">
<v-radio-group
class="mt-0 pt-0"
hide-details
Expand Down Expand Up @@ -74,8 +74,9 @@ export default class AgreementType extends Vue {
@Prop({ default: false }) readonly isSummary!: boolean
@Getter getIncorporationAgreementDocuments!: Array<IncorporationAgreementTypeIF>
@Getter isTypeBcCcc!: boolean
@Getter isTypeBcUlcCompany!: boolean
@Getter getIncorporationAgreementStep!: IncorporationAgreementIF
@Getter getShowErrors!: boolean
@Action setIncorporationAgreementStepData!: ActionBindingIF
Expand Down
6 changes: 6 additions & 0 deletions src/interfaces/resource-interfaces/resource-interface.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,12 @@ export interface IncorporationResourceIF {
shareClasses?: {
countMinimum: number
}
incorporationArticles?: {
articles: string,
articlesTooltip: string,
provisions?: string,
provisionTooltip?: string
}
incorporationAgreement?: {
helpSection: Array<HelpSectionIF>
article: string
Expand Down
10 changes: 10 additions & 0 deletions src/resources/Incorporations/benefitCompany.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,16 @@ export const BenefitCompanyResource: IncorporationResourceIF = {
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: [
{
Expand Down
23 changes: 21 additions & 2 deletions src/resources/Incorporations/communityContributionCompany.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,18 @@ export const CommunityContributionCompanyResource: IncorporationResourceIF = {
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: [
{
Expand Down Expand Up @@ -67,8 +79,15 @@ export const CommunityContributionCompanyResource: IncorporationResourceIF = {
documents: [
{
code: 'sample',
description: 'The <b>Incorporation Agreement and Articles</b> containing the community purposes has been ' +
'completed and a copy has been added to the company\'s record book.'
description: 'The <b>sample Incorporation Agreement and Articles</b> 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.'
},
{
code: 'custom',
description: 'The <b>custom Incorporation Agreement and custom Articles</b> 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.'
}
]
},
Expand Down
9 changes: 7 additions & 2 deletions src/resources/Incorporations/limitedCompany.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ export const LimitedCompanyResource: IncorporationResourceIF = {
shareClasses: {
countMinimum: 1
},
incorporationArticles: {
articles: '<br>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: [
{
Expand Down Expand Up @@ -78,8 +83,8 @@ export const LimitedCompanyResource: IncorporationResourceIF = {
article: 'Sample_articles.pdf',
documents: [
{
code: 'Table-1',
description: 'The <b>sample Incorporation Agreement and Table 1 Articles</b> ' +
code: 'sample',
description: 'The <b>sample Incorporation Agreement and Articles</b> ' +
'has been completed and a copy has been added to the company\'s record book.'
},
{
Expand Down
21 changes: 14 additions & 7 deletions src/resources/Incorporations/unlimitedCompany.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,17 @@ export const UnlimitedCompanyResource: IncorporationResourceIF = {
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: [
{
Expand Down Expand Up @@ -77,15 +88,11 @@ export const UnlimitedCompanyResource: IncorporationResourceIF = {
],
article: 'unlimited_liability_company__corporation_agreement.pdf',
documents: [
{
code: 'Table-1',
description: 'The <b>sample Incorporation Agreement and Table 1 Articles</b> ' +
'has been completed and a copy has been added to the company\'s record book.'
},
{
code: 'custom',
description: 'The <b>custom Incorporation Agreement and custom Articles</b> ' +
'has been completed and a copy has been added to the company\'s record book.'
description: 'The <b>custom Incorporation Agreement and custom Articles</b> 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.'
}
]
},
Expand Down
5 changes: 5 additions & 0 deletions src/store/getters/resource-getters.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@ export const getPeopleAndRolesResource = (state: StateIF): any => {
return state.resourceModel.peopleAndRoles
}

/** The Incorporation Articles */
export const getIncorporationArticlesResource = (state: StateIF): any => {
return state.resourceModel.incorporationArticles
}

/** The Create Rules object. */
export const getCreateRulesResource = (state: StateIF): CreateRulesResourceIF => {
return state.resourceModel.createRules
Expand Down
6 changes: 6 additions & 0 deletions src/store/state/resource-model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@ const incorporationResourceModel: IncorporationResourceIF = {
shareClasses: {
countMinimum: null
},
incorporationArticles: {
articles: null,
articlesTooltip: null,
provisions: null,
provisionTooltip: null
},
incorporationAgreement: null,
reviewAndConfirm: {
completingPartyStatement: {
Expand Down
82 changes: 14 additions & 68 deletions src/views/Incorporation/IncorporationAgreement.vue
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
</header>

<!-- Benefit Company header-->
<p v-if="isTypeBcomp">
Before submitting your incorporation application you <b>must complete, sign, and date</b> an
<div class="pt-2 pb-3">
<span>Before submitting your incorporation application you <b>must complete, sign, and date</b> an</span>
<v-tooltip top max-width="20rem" content-class="top-tooltip" transition="fade-transition">
<template v-slot:activator="{ on }">
<span v-on="on" class="tool-tip"> Incorporation Agreement</span>
Expand All @@ -18,68 +18,24 @@
incorporators and the first shareholders of the corporation.
</span>
</v-tooltip>
, and a set of
<span>, and a set of </span>
<v-tooltip top max-width="20rem" content-class="top-tooltip" transition="fade-transition">
<template v-slot:activator="{ on }">
<span v-on="on" class="tool-tip"> Benefit Company Articles</span>
<span v-on="on" class="tool-tip" v-html="getIncorporationArticlesResource.articles"></span>
</template>
<span>
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.
</span>
</v-tooltip>
containing a
<v-tooltip top max-width="20rem" content-class="top-tooltip" transition="fade-transition">
<template v-slot:activator="{ on }">
<span v-on="on" class="tool-tip"> benefit provision</span>
</template>
<span>
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.
</span>
</v-tooltip>
for the company you are about to incorporate.
</p>

<!-- All other entities -->
<p v-else>
Before submitting your incorporation application you <b>must complete, sign, and date</b> an
<v-tooltip top max-width="20rem" content-class="top-tooltip" transition="fade-transition">
<template v-slot:activator="{ on }">
<span v-on="on" class="tool-tip"> Incorporation Agreement</span>
</template>
<span>
A document that is signed and dated by the people who agree to form the corporation. They are the
incorporators and the first shareholders of the corporation.
</span>
<span v-html="getIncorporationArticlesResource.articlesTooltip"></span>
</v-tooltip>
, and a set of
<v-tooltip top max-width="20rem" content-class="top-tooltip" transition="fade-transition">
<template v-slot:activator="{ on }">
<span v-on="on" class="tool-tip">Articles</span>
</template>
<span>
The articles for a company must outline the rules and procedures for corporate matters such as holding
meetings, issuing and transferring shares, and duties of directors and officers.
</span>
</v-tooltip>
<template v-if="isTypeBcCcc">
containing the
<template v-if="isTypeBcomp || isTypeBcUlcCompany || isTypeBcCcc">
containing a
<v-tooltip top max-width="20rem" content-class="top-tooltip" transition="fade-transition">
<template v-slot:activator="{ on }">
<span v-on="on" class="tool-tip">community purposes</span>
<span v-on="on" class="tool-tip" v-html="getIncorporationArticlesResource.provisions"></span>
</template>
<span>
One or more of the primary purposes of a community contribution company must be community purposes and those
community purposes must be set out in its articles.
</span>
<span v-html="getIncorporationArticlesResource.provisionTooltip"></span>
</v-tooltip>
for the company you are about to incorporate.
</template>
<template v-else>.</template>
</p>
</div>

<!-- Help Section -->
<span class="help-btn" @click="helpToggle = !helpToggle">
Expand Down Expand Up @@ -140,21 +96,8 @@
</v-expand-transition>
</section>

<!-- Agreement Type -->
<template v-if="isTypeBcCcc">
<section class="mt-10">
<header id="confirm-agreement">
<h2>2. Confirm Incorporation Agreement and Article Completion</h2>
</header>

<v-card flat class="mt-6">
<AgreementType :showErrorSummary="!getIncorporationAgreementStep.valid" />
</v-card>
</section>
</template>

<!-- Sample Templates -->
<template v-else>
<template>
<section class="mt-10">
<header>
<h2>2. Sample Templates</h2>
Expand Down Expand Up @@ -235,9 +178,12 @@ import { GetCorpFullDescription } from '@bcrs-shared-components/corp-type-module
export default class IncorporationAgreement extends Mixins(CommonMixin) {
@Getter isTypeBcomp!: boolean
@Getter isTypeBcCcc!: boolean
@Getter isTypeBcCompany!: boolean
@Getter isTypeBcUlcCompany!: boolean
@Getter getEntityType!: CorpTypeCd
@Getter getIncorporationAgreementStep!: IncorporationAgreementIF
@Getter getIncorporationAgreementResource!: any
@Getter getIncorporationArticlesResource!: any
@Getter getSampleArticle!: string
@Getter getShowErrors!: boolean
Expand Down
6 changes: 4 additions & 2 deletions tests/jest-wrapper-factory.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,8 @@ export const wrapperFactory = (
propsData = null,
stateValues = null,
routeName = null,
resource = null
resource = null,
computed = null
) => {
const store = getVuexStore()
if (routeName) router.push({ name: routeName }).catch(() => {})
Expand All @@ -67,7 +68,8 @@ export const wrapperFactory = (
localVue,
router,
store,
vuetify
vuetify,
computed
})
}

Expand Down
Loading

0 comments on commit 6ead125

Please sign in to comment.