legalese / legalese.github.io

Static assets for legalese.com
https://legalese.com/
70 stars 27 forks source link

change all percentage variables so they are in the variable and not the template. #94

Closed mengwong closed 8 years ago

mengwong commented 8 years ago

At present, templates have <?= data.percentage ?>%

the getDisplayValues trick described in issue #82 would have the % character as part of data.percentage.

So, go through every template and remove a % as part of fixing #82.

Binary file build/indesignlog-20150517.txt.gz matches
www/templates/jfdi.asia/founderagreement.xml:</Table><? if (data.agreed_percentage) { ?>The Conversion Percentage has been tentatively agreed at <?= data.agreed_percentage ?>%. Confirmation will be subject to delivery and acceptance of substantiating evidence.<? }
www/templates/jfdi.asia/founderagreement.xml:As an example, if the previous round of financing established a post-money valuation for the Startup at <?= data.previous_post_money_valuation ?>, then JFDI's total investment of <?= jfdi_investor.money ?> (cash) plus <?= data.intangibles_value ?> (intangibles) determines the Conversion Percentage at <?= data.agreed_percentage ?>%.
www/templates/jfdi.asia/founderagreement.xml:<?   } else if (data.valuation_basis == "fixed") { ?> <?= data.agreed_percentage ?>%<?
www/templates/jfdi.asia/founderagreement.xml:if(data._orig_tranche_1_percentage){?> in two tranches: the first being <?=data.tranche_1_amount?> for <?=data.tranche_1_percentage?>%, and the second being <?=data.tranche_2_amount?> for <?=data.tranche_2_percentage?>%<?}?>.
www/templates/jfdi.asia/founderagreement.xml:After Accelerate begins, the Startup's Singapore bank account is ready, and the Startup and Founders have signed the JFDI Investment Agreement, the Shareholders' Agreement, the Founders Agreement, and the Class F agreement, JFDI.2014 will transfer <? if (data.skip_hoops != true) { ?><?=data.tranche_1_amount?>, that being the first tranche of its total cash investment, in return for a future <?=data.tranche_1_percentage?>% of the business.
www/templates/jfdi.asia/founderagreement.xml:JFDI.2014 shall make the second tranche payment of <?=data.tranche_2_amount?> on or around Demo Day. This payment shall be made at JFDI.Asia's sole discretion, but is typically conditional upon the Founders participating in the Singapore component of the bootcamp, and the Startup demonstrating product/market fit in the form of a revenue commitment from at least two external, arms-length customers. The second tranche payment will entail a further <?=data.tranche_2_percentage?>% in the business. If the second tranche payment is not paid, JFDI.2014 will maintain its interest at the first-tranche level of <?=data.tranche_1_percentage?>%. The Startup may not decline the second tranche investment.
www/templates/jfdi.asia/jfdi_03_convertible_note_agreement.xml:<?=data.agreed_percentage?>% of the fully-diluted capital of the Company.</recitals>
www/templates/jfdi.asia/jfdi_03_convertible_note_agreement.xml:<definition>Interest Rate    The <?=data.security_type_short_singular?> <? if (data.interest > 0) { ?>accrues <?= data.interest ?>% simple interest, to be payable in full on the earlier of the Maturity Date or the date on which the <?=data.security_type_short_singular?> is converted or redeemed in full,<?}else{?>carries no interest.<?}?></definition>
www/templates/jfdi.asia/jfdi_03_convertible_note_agreement.xml:<?= data.parties.jfdi_investor[0].name ?> shall own <?=data.agreed_percentage?>% ("Conversion Percentage") of the total share capital in the Company, such total being calculated </numbered_2_para>
www/templates/jfdi.asia/jfdi_03_convertible_note_agreement.xml:<? if(data.agreed_percentage_adjustable && data.agreed_percentage_minimum){ ?><numbered_2_para>The Conversion Percentage may be adjusted by mutual agreement of the Company and the Investor to no lower than <?= data.agreed_percentage_minimum ?>% according to the terms of the Founder Agreement, but shall in any event be fixed by <?= data.agreed_percentage_adjustment_date ?>.</numbered_2_para>
www/templates/jfdi.asia/kissing.xml:shall mean <?=data.discount_formula_start?>% plus <?=data.discount_formula_monthly?>% per month that elapses between the date of this Agreement and the date of the Next Equity Financing, up to a maximum of <?=data.discount_formula_cap?>%.<? } else { ?>
www/templates/jfdi.asia/kissing.xml:shall mean <?= data.discount ?>%.<?}?>
www/templates/jfdi.asia/kissing.xml:<? if (data.security_essential == "debt") { ?><definition>Interest Rate shall mean <?= data.interest ?>%.</definition>
www/templates/jfdi.asia/kissing.xml:<numbered_2_firstbold xname="maturity_conversion">Maturity Conversion. Unless earlier converted to Conversion Shares or paid pursuant to Clause <xref to="nef" /> or <xref to="corp_txn"/>, at the election of the Majority in Interest at any time on or after the Maturity Date, this KISS shall be converted into that number of Conversion Shares equal to the quotient obtained by dividing the Purchase Price<? if (data.interest && data.security_essential == "debt") {?> and unpaid accrued interest on this KISS<? } ?> by the Conversion Price<? if (data.maturity_conversion_discount) { ?> less <?= data.maturity_conversion_discount ?>%<? } ?>.</numbered_2_firstbold>
www/templates/jfdi.asia/preemptive_notice.xml:How do pre-emptive rights work? <span_ucnum><?= data.company.short_name ?></span_ucnum> is a <?= data.stake ?>% shareholder in <?= data.parties.startup[0].short_name ?>, so <span_ucnum><?= data.company.short_name ?></span_ucnum> now has the right to participate in this round to maintain its <?= data.stake ?>% stake. You are, in turn, a<? if(data.shareholder.pro_rata_in_class){?> <?=data.shareholder.pro_rata_in_class?>%<?}?> shareholder in <span_ucnum><?= data.company.short_name ?></span_ucnum>. JFDI&#8217;s decision to exercise our pre-emptive rights depends on you. If you want to put money into the startup via <span_ucnum><?= data.company.short_name ?></span_ucnum>, we need to receive your expressions of interest by <?= data.expiry_date ?>. We would then transfer our rights to you so you can invest. The actual amount of your participation will depend on how many other <span_ucnum><?= data.company.short_name ?></span_ucnum> shareholders want to participate. If only you want to invest, and nobody else wants to, then you would get the full amount accorded by our pre-emptive rights, and you would become a <?= data.post_percentage ?>% shareholder in <?= data.parties.startup[0].short_name ?>. If other JFDI shareholders also want to join the round, then that <?= data.stake ?>% would be divided among the other shareholders, pro-rata. If other shareholders decline the round, you will have the opportunity to subscribe for their excess rights.
www/templates/jfdi.asia/preemptive_notice.xml:<b>If the round is oversubscribed:</b> we will attempt to transfer our pre-emptive rights to you to exercise. JFDI has the right to participate in new issues to avoid dilution. As a <?= data.stake ?>% shareholder in <?= data.parties.startup[0].name ?>, JFDI has the right to participate in <?= data.stake ?>% of any new issue.<? if(data.shareholder.pro_rata_in_class){ ?> (In turn, you, <?= data.shareholder.name ?>, are a <?= data.shareholder.pro_rata_in_class ?>% shareholder in <?= data.company.name ?>, within your class of RCPS.)<? } ?> In this <?= data.amount_raising ?> round, JFDI is entitled to invest up to <?= data.allocation ?>. If there are multiple interested JFDI shareholders, that <?= data.allocation ?> will be divided pro rata according to your relative shareholdings. If JFDI&#8217;s shareholders took up the entire <?= data.allocation ?> available to us, those shareholders would end up owning approximately <?= data.post_percentage ?>% of the overall shares.</para_2>
www/templates/jfdi.asia/preemptive_waiver.xml:Given that you presently hold <?= data.capTable.getActiveRound().old_investors[data.shareholder.name].shares ?> out of <?= data.capTable.getActiveRound().pre_money.shares ?> existing shares, you have the right to subscribe for up to <?= pro_rata ?>% of this new issue: <?
www/templates/jfdi.asia/simplified_note.xml:Interest on the Notes will accrue on an annual basis at the rate of <?= data.interest ?>% per annum based on a 365 days year.<? } else { ?>
www/templates/jfdi.asia/simplified_note.xml:  <numbered_3_para><?= data.hundred_minus_discount ?>% of the per share price paid by the purchasers of such Equity Securities in the Qualified Financing (the &#8220;<b>Discounted Conversion Price</b>&#8221;), or</numbered_3_para>
www/templates/jfdi.asia/simplified_note.xml:<numbered_2_para>The "Conversion Price" shall be fixed at <?= data.hundred_minus_discount ?>% of the per share price paid by the purchasers of such Equity Securities in the Qualified Financing (the &#8220;<b>Discounted Conversion Price</b>&#8221;).</numbered_2_para>
www/templates/jfdi.asia/simplified_note.xml:  <numbered_2_para><b>Automatic Conversion at the Maturity Date.</b> If the Notes have not been previously converted pursuant to a Qualified Financing, then, effective upon the Maturity Date, the Notes, and any accrued but unpaid interest thereon, will automatically convert into Equity Securities at <?= (100 - data.maturity_conversion_discount).toFixed(2) ?>% of the Valuation Cap.</numbered_2_para>
www/templates/jfdi.asia/super_simple_note.xml:Interest on the Note will accrue on an annual basis at the rate of <?= data.interest ?>% per annum based on a 365 days year.<? } else { ?>
www/templates/jfdi.asia/super_simple_note.xml:  <numbered_2_para><b>Automatic Conversion at the Maturity Date.</b> On the Maturity Date, the Note, and any accrued but unpaid interest thereon, will automatically convert into Equity Securities at <?= (100 - data.maturity_conversion_discount).toFixed(2) ?>% of the Conversion Price.</numbered_2_para>
www/templates/jfdi.asia/termsheet.xml:Interest will accrue on an annual basis at the rate of <?= data.interest ?>% per annum based on a 365 day year.<?
www/templates/jfdi.asia/termsheet.xml:<?!= cell_r ?><?= data.term ?> after the date of the <?= data.security_type_short_singular ?> Agreement (the "Maturity Date"), the Investor may opt for <?= data.security_type_operation ?><? if (data.maturity_conversion_discount && parseFloat(data.maturity_conversion_discount) > 0) { ?> at a <?= data.maturity_conversion_discount ?>% discount<? } ?>.</cell_fl></Cell>
www/templates/jfdi.asia/termsheet.xml:<? if (data.discount != "formula") {?><?= (100*(1 - data._orig_discount)).toFixed(2) ?>% of the <?}else{?>The <?}?>per share price paid by the purchasers of securities in the Qualified Financing (the "Discounted Conversion Price")<? if (data.discount=="formula") {?> less a discount ranging between <?=data.discount_formula_start?>% and <?=data.discount_formula_cap?>%<?}?>, or
www/templates/jfdi.asia/termsheet.xml:<b>&#8230; at the Maturity Date.</b> If the <?=data.security_type_short_plural?> have not been previously converted pursuant to a Qualified Financing, then, effective upon the Maturity Date, the <?=data.security_type_short_plural?><?= data.interest > 0 ? ", and any accrued but unpaid interest thereon," :""?> will automatically convert into Equity Securities at the Valuation Cap<? if (data.maturity_conversion_discount) { ?> less <?= data.maturity_conversion_discount ?>%<?}?>.</cell_fl></Cell>
www/templates/legal.cf.sg/darius.ghtml:    <p>Interest on the Notes will accrue on an annual basis at the rate of <?= data.interest ?>% per annum based on a 365-day year.</p>
www/templates/legal.cf.sg/darius.ghtml:            <?= 100 - data.conversion_discount ?>% of the per share price paid by the purchasers of such Equity Securities in the Qualified Financing (the "Discounted Conversion Price"), or
www/templates/legal.cf.sg/darius.ghtml: <p>At the Maturity Date, the Notes<? if (data.interest) { ?>, and any accrued but unpaid interest thereon,<? } ?> will automatically convert into Equity Securities at <?= 100 - data.maturity_conversion_discount ?>% of the Valuation Cap.</p>
www/templates/seriesseed.com/seriesseed_investment_agreement_sg.xml:<para_2_hanging><b>"Unallocated Post-Money Option Pool Percent"</b> means <?= data.capTable.getRound("TOTAL").new_investors.ESOP.percentage ?>%.</para_2_hanging>
www/templates/seriesseed.com/seriesseed_termsheet.xml:    <definition>Price per Share. Price per share (the <b><i>“Original Issue Price”</i></b>), based on a pre-money valuation of <? =data.pre_money_valuation ?>, including an available option pool of <? =data.option_pool ?>%.</definition>
www/templates/ycombinator-safe/multisafe.xml:The <b>"Discount Rate"</b> is <?= data.hundred_minus_discount ?>%.
www/templates/ycombinator-safe/multisafe.xml:<numbered_2_para>"Discount Price" means the price per share of the Standard Preferred Stock sold in the Equity Financing multiplied by the Discount Rate (<?= data.hundred_minus_discount ?>%).</numbered_2_para>
chiahli commented 8 years ago

I can do this. Looks like it's just founderagreement.xml that's affected given you had grep '?>%' ALL?

mengwong commented 8 years ago

I forgot to say a few other things in the original issue description …

Since this is something that affects the production service, this work should be committed to a development branch.

Issues #82 and #94 go together, in the sense that if we change one without changing the other, we will get output that has either no % signs or two %% signs everywhere, lol.

To add complication, there are two repositories. So, in the google-app repository there is now a branch called currencyformats. In the legalese-io.github.io repository I have just created a branch called currencyformats.

If you do your work in those branches, and test them using a development environment that is separate from the production environment for both the JS google-app code and the XML templates, then it should be possible to resolve both 82 and 94 at the same time and push both sets of changes in both branches to the master branch with confidence.

The second thing I forgot to include in the original issue description was the full output of the grep. I will fix that now.