diff --git a/app/Console/Commands/CreateTestData.php b/app/Console/Commands/CreateTestData.php index de8572747db0..7f5c97ebf293 100644 --- a/app/Console/Commands/CreateTestData.php +++ b/app/Console/Commands/CreateTestData.php @@ -521,7 +521,7 @@ class CreateTestData extends Command $invoice_calc = new InvoiceSum($credit); $invoice_calc->build(); - $credit = $invoice_calc->getInvoice(); + $credit = $invoice_calc->getCredit(); $credit->save(); @@ -533,8 +533,7 @@ class CreateTestData extends Command { $faker = \Faker\Factory::create(); - $quote = QuoteFactory::create($client->company->id, $client->user->id);//stub the company and user_id - $quote->client_id = $client->id; + $quote =factory(\App\Models\Quote::class)->create(['user_id' => $client->user->id, 'company_id' => $client->company->id, 'client_id' => $client->id]); $quote->date = $faker->date(); $quote->line_items = $this->buildLineItems(rand(1,10)); @@ -560,9 +559,8 @@ class CreateTestData extends Command $quote_calc = new InvoiceSum($quote); $quote_calc->build(); - $quote = $quote_calc->getInvoice(); - - $quote->save(); + $quote = $quote_calc->getQuote(); + $quote->service()->markSent()->save(); CreateQuoteInvitations::dispatch($quote, $quote->company); } diff --git a/app/DataMapper/CompanySettings.php b/app/DataMapper/CompanySettings.php index 1fa9337213ef..a52b397db4c1 100644 --- a/app/DataMapper/CompanySettings.php +++ b/app/DataMapper/CompanySettings.php @@ -217,7 +217,7 @@ class CompanySettings extends BaseSettings { public $embed_documents = false; public $all_pages_header = true; public $all_pages_footer = true; - public $invoice_variables = []; + public $pdf_variables = []; public static $casts = [ 'portal_design_id' => 'string', @@ -372,7 +372,7 @@ class CompanySettings extends BaseSettings { 'counter_padding' => 'integer', 'design' => 'string', 'website' => 'string', - 'invoice_variables' => 'object', + 'pdf_variables' => 'object', ]; /** @@ -415,7 +415,7 @@ class CompanySettings extends BaseSettings { $data->date_format_id = (string) config('ninja.i18n.date_format_id'); $data->country_id = (string) config('ninja.i18n.country_id'); $data->translations = (object) []; - $data->invoice_variables = (array) self::getInvoiceVariableDefaults(); + $data->pdf_variables = (array) self::getEntityVariableDefaults(); // $data->email_subject_invoice = EmailTemplateDefaults::emailInvoiceSubject(); // $data->email_template_invoice = EmailTemplateDefaults:: emailInvoiceTemplate(); @@ -456,7 +456,7 @@ class CompanySettings extends BaseSettings { return $settings; } - private static function getInvoiceVariableDefaults() { + private static function getEntityVariableDefaults() { $variables = [ 'client_details' => [ 'name', @@ -490,6 +490,21 @@ class CompanySettings extends BaseSettings { 'balance_due', 'invoice_total', ], + 'quote_details' => [ + 'quote_number', + 'po_number', + 'date', + 'valid_until', + 'balance_due', + 'quote_total', + ], + 'credit_details' => [ + 'credit_number', + 'po_number', + 'date', + 'credit_balance', + 'credit_amount', + ], 'table_columns' => [ 'product_key', 'notes', diff --git a/app/Designs/Bold.php b/app/Designs/Bold.php index 9b0dc83c37a7..aaed1d075ddf 100644 --- a/app/Designs/Bold.php +++ b/app/Designs/Bold.php @@ -63,10 +63,10 @@ class Bold extends AbstractDesign
$client.name
', @@ -193,7 +224,9 @@ class Designer { return $this->processCustomFields($company, $data); } - private function companyDetails(Company $company) { + private function companyDetails(Company $company) + { + $data = [ 'company_name' => '$company.company_name', 'id_number' => '$company.id_number', @@ -208,9 +241,11 @@ class Designer { ]; return $this->processCustomFields($company, $data); + } - private function companyAddress(Company $company) { + private function companyAddress(Company $company) + { $data = [ 'address1' => '$company.address1', @@ -225,9 +260,11 @@ class Designer { ]; return $this->processCustomFields($company, $data); + } - private function invoiceDetails(Company $company) { + private function invoiceDetails(Company $company) + { $data = [ 'invoice_number' => '$invoice_number', @@ -248,9 +285,60 @@ class Designer { ]; return $this->processCustomFields($company, $data); + } - private function processCustomFields(Company $company, $data) { + private function quoteDetails(Company $company) + { + + $data = [ + 'quote_number' => '$quote_number', + 'po_number' => '$po_number', + 'date' => '$date', + 'valid_until' => '$valid_until', + 'balance_due' => '$balance_due', + 'quote_total' => '$quote_total', + 'partial_due' => '$partial_due', + 'quote1' => '$quote1', + 'quote2' => '$quote2', + 'quote3' => '$quote3', + 'quote4' => '$quote4', + 'surcharge1' => '$surcharge1', + 'surcharge2' => '$surcharge2', + 'surcharge3' => '$surcharge3', + 'surcharge4' => '$surcharge4', + ]; + + return $this->processCustomFields($company, $data); + + } + + private function creditDetails(Company $company) + { + + $data = [ + 'credit_number' => '$credit_number', + 'po_number' => '$po_number', + 'date' => '$date', + 'credit_balance' => '$credit_balance', + 'credit_amount' => '$credit_amount', + 'partial_due' => '$partial_due', + 'invoice1' => '$invoice1', + 'invoice2' => '$invoice2', + 'invoice3' => '$invoice3', + 'invoice4' => '$invoice4', + 'surcharge1' => '$surcharge1', + 'surcharge2' => '$surcharge2', + 'surcharge3' => '$surcharge3', + 'surcharge4' => '$surcharge4', + ]; + + return $this->processCustomFields($company, $data); + + } + + private function processCustomFields(Company $company, $data) + { $custom_fields = $company->custom_fields; @@ -270,7 +358,8 @@ class Designer { } - private function processInputVariables($company, $variables) { + private function processInputVariables($company, $variables) + { $custom_fields = $company->custom_fields; @@ -291,4 +380,5 @@ class Designer { return $variables; } + } \ No newline at end of file diff --git a/app/Designs/Modern.php b/app/Designs/Modern.php index c1fa9d1d1d3a..d9b62b978175 100644 --- a/app/Designs/Modern.php +++ b/app/Designs/Modern.php @@ -40,10 +40,10 @@ class Modern extends AbstractDesign