def _get_template_data(self): # pylint: disable=too-many-branches if self._report_key == 'noa': filing = VersionedBusinessDetailsService.get_company_details_revision( self._filing.id, self._business.id) self._format_noa_data(filing) else: filing = copy.deepcopy(self._filing.filing_json['filing']) filing['header']['filingId'] = self._filing.id if self._report_key == 'incorporationApplication': self._format_incorporation_data(filing) elif self._report_key == 'alterationNotice': self._format_alteration_data(filing) else: # set registered office address from either the COA filing or status quo data in AR filing with suppress(KeyError): self._set_addresses(filing) # set director list from either the COD filing or status quo data in AR filing with suppress(KeyError): self._set_directors(filing) if self._report_key == 'transition': self._format_transition_data(filing) # since we reset _report_key with correction type if filing['header']['name'] == 'correction': self._format_with_diff_data(filing) # name change from named company to numbered company case if self._report_key in ('certificateOfNameChange', 'alterationNotice') and 'nameRequest' in \ filing['alteration'] and 'legalName' not in filing['alteration']['nameRequest']: versioned_business = \ VersionedBusinessDetailsService.get_business_revision_after_filing(self._filing.id, self._business.id) filing['alteration']['nameRequest'][ 'legalName'] = versioned_business['legalName'] filing['header']['reportType'] = self._report_key if (filing['header']['reportType'] == 'alterationNotice' and filing['previousLegalType'] != 'BEN' and filing['business']['legalType'] == 'BEN') or (filing['header']['reportType'] == 'noa' and filing['business']['legalType'] == 'BEN'): filing['isBenefitCompanyStmt'] = True self._set_dates(filing) self._set_description(filing) self._set_tax_id(filing) self._set_meta_info(filing) self._set_registrar_info(filing) return filing
def _format_alteration_data(self, filing): # Get current list of translations in alteration. None if it is deletion filing['listOfTranslations'] = filing['alteration'].get('nameTranslations', []) # Get previous translations for deleted translations. No record created in aliases version for deletions filing['nameTranslations'] = VersionedBusinessDetailsService.get_name_translations_before_revision( self._filing.transaction_id, self._business.id) if filing['alteration'].get('shareStructure', None): filing['shareClasses'] = filing['alteration']['shareStructure']['shareClasses'] filing['resolutions'] = filing['alteration']['shareStructure'].get('resolutionDates', []) # Get previous business type versioned_business = VersionedBusinessDetailsService.get_business_revision_before_filing( self._filing.id, self._business.id) new_legal_type = versioned_business['legalType'] filing['alteration']['business']['legalType'] = new_legal_type with suppress(KeyError): filing['legalTypeDescription'] = ReportMeta.entity_description[new_legal_type]
def _get_template_data(self): # pylint: disable=too-many-branches if self._report_key == 'noa': filing = VersionedBusinessDetailsService.get_company_details_revision(self._filing.id, self._business.id) self._format_noa_data(filing) else: filing = copy.deepcopy(self._filing.filing_json['filing']) filing['header']['filingId'] = self._filing.id if self._report_key == 'incorporationApplication': self._format_incorporation_data(filing) else: # set registered office address from either the COA filing or status quo data in AR filing with suppress(KeyError): self._set_addresses(filing) # set director list from either the COD filing or status quo data in AR filing with suppress(KeyError): self._set_directors(filing) if self._report_key == 'transition': self._format_transition_data(filing) # since we reset _report_key with correction type if filing['header']['name'] == 'correction': self._format_with_diff_data(filing) filing['header']['reportType'] = self._report_key self._set_dates(filing) self._set_description(filing) self._set_tax_id(filing) self._set_meta_info(filing) self._set_registrar_info(filing) return filing
def _format_alteration_data(self, filing): # Get current list of translations in alteration. None if it is deletion if 'nameTranslations' in filing['alteration']: filing['listOfTranslations'] = filing['alteration'].get( 'nameTranslations', []) # Get previous translations for deleted translations. No record created in aliases version for deletions filing[ 'previousNameTranslations'] = VersionedBusinessDetailsService.get_name_translations_before_revision( self._filing.transaction_id, self._business.id) if filing['alteration'].get('shareStructure', None): filing['shareClasses'] = filing['alteration']['shareStructure'][ 'shareClasses'] filing['resolutions'] = filing['alteration']['shareStructure'].get( 'resolutionDates', []) # Get previous business type versioned_business = VersionedBusinessDetailsService.get_business_revision_before_filing( self._filing.id, self._business.id) prev_legal_type = versioned_business['legalType'] filing['previousLegalType'] = prev_legal_type corp_type = CorpType.find_by_id(prev_legal_type) filing['previousLegalTypeDescription'] = corp_type.full_desc
def _populate_business_info_to_filing(filing: Filing, business: Business): founding_datetime = LegislationDatetime.as_legislation_timezone(business.founding_date) hour = founding_datetime.strftime('%I') if filing.transaction_id: business_json = VersionedBusinessDetailsService.get_business_revision(filing.transaction_id, business) else: business_json = business.json() business_json['formatted_founding_date_time'] = \ founding_datetime.strftime(f'%B %-d, %Y at {hour}:%M %p Pacific Time') business_json['formatted_founding_date'] = founding_datetime.strftime('%B %-d, %Y') filing.filing_json['filing']['business'] = business_json filing.filing_json['filing']['header']['filingId'] = filing.id
def test_alteration_name_change(session): """Assert alteration name change filings can be returned as a PDF.""" numbered_company_name = '1234567 B.C. Ltd.' named_company_name = 'New Name Ltd.' identifier = 'BC1234567' entity_type = 'BEN' report_type = 'certificateOfNameChange' # An existing business business = factory_business(identifier=identifier, entity_type=entity_type) # changes its name to a named company named_company_filing = filing_named_company(business, ALTERATION_FILING_TEMPLATE, named_company_name) update_business_legal_name(business, named_company_name) named_company_report = create_alteration_report(named_company_filing, business, report_type) named_company_report_filename = named_company_report._get_report_filename() assert named_company_report_filename named_company_report_template = named_company_report._get_template() assert named_company_report_template named_company_report_template_data = named_company_report._get_template_data( ) assert named_company_report_template_data['alteration']['nameRequest'][ 'legalName'] == named_company_name # changes its name to a numbered company numbered_company_filing = filing_numbered_company( business, ALTERATION_FILING_TEMPLATE, numbered_company_name) update_business_legal_name(business, numbered_company_name) # new legal_name can be retrieved from the versioned business (numbered company case) business_revision = \ VersionedBusinessDetailsService.get_business_revision_after_filing(numbered_company_filing.id, business.id) assert business_revision['legalName'] == numbered_company_name numbered_company_report = create_alteration_report(numbered_company_filing, business, report_type) numbered_company_filename = numbered_company_report._get_report_filename() assert numbered_company_filename numbered_company_template = numbered_company_report._get_template() assert numbered_company_template numbered_company_template_data = numbered_company_report._get_template_data( ) assert numbered_company_template_data['alteration']['nameRequest'][ 'legalName'] == numbered_company_name