From 3037c6010574289b441f7d254f65d1b7ab79118e Mon Sep 17 00:00:00 2001 From: Shaoyun Tong <144159934+tshyun24@users.noreply.github.com> Date: Fri, 19 Jan 2024 14:47:50 -0800 Subject: [PATCH] 11550 - AmalgamaTING and TED Business Summary PDF (#2398) * AmalTED pdf * Amalgamating pdf * remove Dissolution/Restoration Information section * fix lint error * lint with flake8 * lint --- .../report-templates/businessSummary.html | 1 + .../business-summary/amalgamating.html | 24 ++++++++++++ .../business-summary/amalgamations.html | 6 +-- .../business-summary/stateTransition.html | 2 +- .../legal_api/reports/business_document.py | 37 ++++++++++++++++++- 5 files changed, 65 insertions(+), 5 deletions(-) create mode 100644 legal-api/report-templates/template-parts/business-summary/amalgamating.html diff --git a/legal-api/report-templates/businessSummary.html b/legal-api/report-templates/businessSummary.html index 66615f7342..13da103a93 100644 --- a/legal-api/report-templates/businessSummary.html +++ b/legal-api/report-templates/businessSummary.html @@ -35,6 +35,7 @@ [[business-summary/stateTransition.html]] [[business-summary/recordKeeper.html]] [[business-summary/amalgamations.html]] + [[business-summary/amalgamating.html]] [[common/addresses.html]] {% if business.legalType in ['GP', 'SP'] %} [[business-summary/parties.html]] diff --git a/legal-api/report-templates/template-parts/business-summary/amalgamating.html b/legal-api/report-templates/template-parts/business-summary/amalgamating.html new file mode 100644 index 0000000000..fd4a948ab4 --- /dev/null +++ b/legal-api/report-templates/template-parts/business-summary/amalgamating.html @@ -0,0 +1,24 @@ +{% if business.isAmalgamating %} +
+
+
Amalgamated Into
+
+ +
+ Name of Amalgamated Company: + {% if business.amalgamatedInto is defined %} + {{business.amalgamatedInto.legalName}} + {% else %} + Not Available + {% endif %} +
+ +
+ Incorporation Number: + {% if business.amalgamatedInto is defined %} + {{business.amalgamatedInto.identifier}} + {% else %} + Not Available + {% endif %} +
+{% endif %} \ No newline at end of file diff --git a/legal-api/report-templates/template-parts/business-summary/amalgamations.html b/legal-api/report-templates/template-parts/business-summary/amalgamations.html index a9cfde5ddf..c0a2277984 100644 --- a/legal-api/report-templates/template-parts/business-summary/amalgamations.html +++ b/legal-api/report-templates/template-parts/business-summary/amalgamations.html @@ -1,15 +1,15 @@ {% if business.amalgamatedEntity %}
-
Amalgamating {{ entityShortDescription }}s Information
+
Amalgamating Corporation(s) Information
{% for entity in amalgamatedEntities %} diff --git a/legal-api/report-templates/template-parts/business-summary/stateTransition.html b/legal-api/report-templates/template-parts/business-summary/stateTransition.html index 2b0405368d..818141f0c7 100644 --- a/legal-api/report-templates/template-parts/business-summary/stateTransition.html +++ b/legal-api/report-templates/template-parts/business-summary/stateTransition.html @@ -1,4 +1,4 @@ -{% if stateFilings|length > 0 %} +{% if stateFilings|length > 0 and not business.isAmalgamating %}
diff --git a/legal-api/src/legal_api/reports/business_document.py b/legal-api/src/legal_api/reports/business_document.py index 0146a2ddf9..cb95797679 100644 --- a/legal-api/src/legal_api/reports/business_document.py +++ b/legal-api/src/legal_api/reports/business_document.py @@ -22,6 +22,7 @@ from flask import current_app, jsonify from legal_api.models import Alias, Business, CorpType, Filing +from legal_api.models.amalgamation import Amalgamation from legal_api.reports.registrar_meta import RegistrarInfo from legal_api.resources.v2.business import get_addresses, get_directors from legal_api.resources.v2.business.business_parties import get_parties @@ -85,6 +86,7 @@ def _substitute_template_parts(template_code): template_parts = [ 'business-summary/alterations', 'business-summary/amalgamations', + 'business-summary/amalgamating', 'business-summary/businessDetails', 'business-summary/liquidation', 'business-summary/nameChanges', @@ -134,6 +136,7 @@ def _get_template_data(self, get_json=False): self._set_name_translations(business_json) self._set_business_changes(business_json) self._set_amalgamation_details(business_json) + self._set_amalgamating_details(business_json) self._set_liquidation_details(business_json) if self._business.legal_type in ['SP', 'GP']: @@ -309,6 +312,14 @@ def _set_business_state_changes(self, business: dict): 'voluntaryLiquidation', 'putBackOn', 'continuationOut']): state_filings.append(self._format_state_filing(filing)) + # If it is amalgamating business + if ((business.get('business').get('state') == 'HISTORICAL') + and (business.get('business').get('amalgamatedInto'))): + amalgamating_business_temp = Business.find_by_identifier(business.get('business').get('identifier')) + amalgamating_business = amalgamating_business_temp.amalgamating_businesses.one_or_none() + amalgamation = Amalgamation.find_by_id(amalgamating_business.amalgamation_id) + filing = Filing.find_by_id(amalgamation.filing_id) + state_filings.append(self._format_state_filing(filing)) business['stateFilings'] = state_filings def _set_record_keepers(self, business: dict): @@ -412,6 +423,8 @@ def _format_state_filing(self, filing: Filing) -> dict: continuation_out_date = LegislationDatetime.as_legislation_timezone_from_date_str( filing_meta['continuationOut']['continuationOutDate']) filing_info['continuationOutDate'] = continuation_out_date.strftime(OUTPUT_DATE_FORMAT) + elif filing.filing_type == 'amalgamationApplication': + filing_info['filingName'] = 'Amalgamation' else: filing_info['filingName'] = BusinessDocument.\ _get_summary_display_name(filing.filing_type, None, None) @@ -423,15 +436,37 @@ def _set_amalgamation_details(self, business: dict): amalgamation_application = Filing.get_filings_by_types(self._business.id, ['amalgamationApplication']) if amalgamation_application: business['business']['amalgamatedEntity'] = True - # else condition will have to be added when we do amalgamation in the new system + amalgamation_json = amalgamation_application[0].filing_json.get('filing', {})\ + .get('amalgamationApplication', {}) + # if it's future effective if self._epoch_filing_date and amalgamation_application[0].effective_date < self._epoch_filing_date: amalgamated_businesses_info = { 'legalName': 'Not Available', 'identifier': 'Not Available' } amalgamated_businesses.append(amalgamated_businesses_info) + else: + amalgamating_businesses = amalgamation_json.get('amalgamatingBusinesses', {}) + while amalgamating_businesses: + if len(amalgamating_businesses[0].get('foreignJurisdiction', {})) == 0: + identifier = amalgamating_businesses[0].get('identifier', {}) + else: + identifier = amalgamating_businesses[0].get('corpNumber', {}) + amalgamating_business = Business.find_by_identifier(identifier) + business_legal_name = amalgamating_business.legal_name + amalgamated_businesses_info = { + 'legalName': business_legal_name, + 'identifier': identifier + } + amalgamated_businesses.append(amalgamated_businesses_info) + amalgamating_businesses.remove(amalgamating_businesses[0]) business['amalgamatedEntities'] = amalgamated_businesses + def _set_amalgamating_details(self, business: dict): + amalgamating_info = business.get('business', {}).get('amalgamatedInto') + if amalgamating_info: + business['business']['isAmalgamating'] = True + def _set_liquidation_details(self, business: dict): """Set partial liquidation filing data.""" liquidation_info = {}