- Name
+ Amalgamating Corporation
|
- Incorporation Number in B.C.
+ Incorporation Number
|
{% 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 0f605eddfb..e1cd40709d 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 AlternateName, CorpType, Filing, LegalEntity
+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
@@ -83,6 +84,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",
@@ -133,6 +135,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._legal_entity.entity_type in ["SP", "GP"]:
@@ -326,6 +329,14 @@ def _set_business_state_changes(self, legal_entity: dict):
],
):
state_filings.append(self._format_state_filing(filing))
+ # If it is amalgamating business
+ if ((legal_entity.get("business").get("state") == "HISTORICAL")
+ and (legal_entity.get("business").get("amalgamatedInto"))):
+ amalgamating_business_temp = LegalEntity.find_by_identifier(legal_entity.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))
legal_entity["stateFilings"] = state_filings
def _set_record_keepers(self, legal_entity: dict):
@@ -440,6 +451,8 @@ def _format_state_filing(self, filing: Filing) -> dict:
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)
return filing_info
@@ -450,10 +463,27 @@ def _set_amalgamation_details(self, legal_entity: dict):
amalgamation_application = Filing.get_filings_by_types(self._legal_entity, ["amalgamationApplication"])
if amalgamation_application:
legal_entity["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 = legal_entity.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])
legal_entity["amalgamatedEntities"] = amalgamated_businesses
def _set_liquidation_details(self, legal_entity: dict):