From 3d40df626469537a8c4302a8e3bf022643507e21 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Fri, 16 Oct 2020 08:55:24 +1100 Subject: [PATCH] Fixes for ledger id in transformer --- app/DataMapper/CompanySettings.php | 4 +++ app/DataMapper/EmailTemplateDefaults.php | 26 ++++++++++++++++--- app/Transformers/CompanyLedgerTransformer.php | 2 +- app/Utils/Traits/AppSetup.php | 4 +++ resources/lang/en/texts.php | 2 ++ 5 files changed, 33 insertions(+), 5 deletions(-) diff --git a/app/DataMapper/CompanySettings.php b/app/DataMapper/CompanySettings.php index 647f28975c15..c1fa0a6e050a 100644 --- a/app/DataMapper/CompanySettings.php +++ b/app/DataMapper/CompanySettings.php @@ -154,10 +154,12 @@ class CompanySettings extends BaseSettings public $email_style_custom = ''; //the template itself public $email_subject_invoice = ''; public $email_subject_quote = ''; + public $email_subject_credit = ''; public $email_subject_payment = ''; public $email_subject_payment_partial = ''; public $email_subject_statement = ''; public $email_template_invoice = ''; + public $email_template_credit = ''; public $email_template_quote = ''; public $email_template_payment = ''; public $email_template_payment_partial = ''; @@ -350,10 +352,12 @@ class CompanySettings extends BaseSettings 'email_signature' => 'string', 'email_subject_invoice' => 'string', 'email_subject_quote' => 'string', + 'email_subject_credit' => 'string', 'email_subject_payment' => 'string', 'email_subject_payment_partial' => 'string', 'email_template_invoice' => 'string', 'email_template_quote' => 'string', + 'email_template_credit' => 'string', 'email_template_payment' => 'string', 'email_template_payment_partial' => 'string', 'email_subject_reminder1' => 'string', diff --git a/app/DataMapper/EmailTemplateDefaults.php b/app/DataMapper/EmailTemplateDefaults.php index b8f657b27faf..39b053b4f800 100644 --- a/app/DataMapper/EmailTemplateDefaults.php +++ b/app/DataMapper/EmailTemplateDefaults.php @@ -30,6 +30,9 @@ class EmailTemplateDefaults case 'email_template_quote': return self::emailQuoteTemplate(); break; + case 'email_template_credit': + return self::emailCreditTemplate(); + break; case 'email_template_payment': return self::emailPaymentTemplate(); break; @@ -69,6 +72,9 @@ class EmailTemplateDefaults case 'email_subject_quote': return self::emailQuoteSubject(); break; + case 'email_subject_credit': + return self::emailCreditSubject(); + break; case 'email_subject_payment': return self::emailPaymentSubject(); break; @@ -109,7 +115,11 @@ class EmailTemplateDefaults public static function emailInvoiceSubject() { return ctrans('texts.invoice_subject', ['number'=>'$number', 'account'=>'$company.name']); - //return Parsedown::instance()->line(self::transformText('invoice_subject')); + } + + public static function emailCreditSubject() + { + return ctrans('texts.credit_subject', ['number'=>'$number', 'account'=>'$company.name']); } public static function emailInvoiceTemplate() @@ -122,14 +132,11 @@ class EmailTemplateDefaults $invoice_message = '

'.self::transformText('invoice_message').'



$view_link

'; return $invoice_message; - //return $converter->convertToHtml($invoice_message); } public static function emailQuoteSubject() { return ctrans('texts.quote_subject', ['number'=>'$number', 'account'=>'$company.name']); - - //return Parsedown::instance()->line(self::transformText('quote_subject')); } public static function emailQuoteTemplate() @@ -158,6 +165,17 @@ class EmailTemplateDefaults } + public static function emailCreditTemplate() + { + $converter = new CommonMarkConverter([ + 'html_input' => 'strip', + 'allow_unsafe_links' => false, + ]); + + return $converter->convertToHtml(self::transformText('credit_message')); + + } + public static function emailPaymentPartialTemplate() { $converter = new CommonMarkConverter([ diff --git a/app/Transformers/CompanyLedgerTransformer.php b/app/Transformers/CompanyLedgerTransformer.php index d5214b7fca35..ffc082e3a1a5 100644 --- a/app/Transformers/CompanyLedgerTransformer.php +++ b/app/Transformers/CompanyLedgerTransformer.php @@ -28,7 +28,7 @@ class CompanyLedgerTransformer extends EntityTransformer */ public function transform(CompanyLedger $company_ledger) { - $entity_name = lcfirst(class_basename($company_ledger->company_ledgerable_type)).'_id'; + $entity_name = lcfirst(rtrim(class_basename($company_ledger->company_ledgerable_type), 's')).'_id'; return [ $entity_name => (string) $this->encodePrimaryKey($company_ledger->company_ledgerable_id), diff --git a/app/Utils/Traits/AppSetup.php b/app/Utils/Traits/AppSetup.php index 9c303823fa2b..c28e8ea66f90 100644 --- a/app/Utils/Traits/AppSetup.php +++ b/app/Utils/Traits/AppSetup.php @@ -104,6 +104,10 @@ trait AppSetup 'subject' => EmailTemplateDefaults::emailStatementSubject(), 'body' => EmailTemplateDefaults::emailStatementTemplate(), ], + 'credit' => [ + 'subject' => EmailTemplateDefaults::emailCreditSubject(), + 'body' => EmailTemplateDefaults::emailCreditTemplate(), + ], ]; Cache::forever($name, $data); diff --git a/resources/lang/en/texts.php b/resources/lang/en/texts.php index 57881f1c32b5..c5ee6460babd 100644 --- a/resources/lang/en/texts.php +++ b/resources/lang/en/texts.php @@ -3283,5 +3283,7 @@ return [ 'saved_at' => 'Saved at :time', 'credit_payment' => 'Credit applied to Invoice :invoice_number', + 'credit_subject' => 'New credit :number from :account', + 'credit_message' => 'To view your credit for :amount, click the link below.', ];