From 742b49c75aecb3b3a5edac4847203a848f358226 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Mon, 17 Jun 2024 10:14:04 +1000 Subject: [PATCH] Fixes for subscription cron query --- app/Export/CSV/QuoteExport.php | 10 +- app/Export/CSV/TaskExport.php | 12 +- app/Export/CSV/VendorExport.php | 20 +- .../RecurringExpenseToExpenseFactory.php | 4 +- app/Filters/InvoiceFilters.php | 3 +- app/Filters/PaymentFilters.php | 1 - app/Filters/RecurringInvoiceFilters.php | 4 +- app/Filters/TaskFilters.php | 1 + app/Helpers/Epc/EpcQrGenerator.php | 24 +- .../Invoice/InvoiceItemSumInclusive.php | 2 +- app/Helpers/Invoice/ProRata.php | 4 +- .../Auth/ContactForgotPasswordController.php | 8 +- .../Auth/ContactLoginController.php | 2 +- .../Auth/ResetPasswordController.php | 4 +- app/Http/Controllers/BaseController.php | 2 +- app/Http/Controllers/BrevoController.php | 1 - app/Http/Controllers/ClientController.php | 4 +- .../ClientPortal/InvoiceController.php | 4 +- .../ClientPortal/PaymentController.php | 1 + app/Http/Middleware/PasswordProtection.php | 2 +- app/Jobs/Cron/SubscriptionCron.php | 11 +- app/Jobs/Ninja/TaskScheduler.php | 2 +- app/Models/Invoice.php | 1 - app/Models/Payment.php | 2 +- app/Services/Scheduler/EmailReport.php | 5 +- app/Services/Template/TemplateService.php | 7 +- app/Utils/Helpers.php | 10 +- app/Utils/HtmlEngine.php | 241 +++++++++--------- app/Utils/PaymentHtmlEngine.php | 18 +- app/Utils/TemplateEngine.php | 6 +- 30 files changed, 202 insertions(+), 214 deletions(-) diff --git a/app/Export/CSV/QuoteExport.php b/app/Export/CSV/QuoteExport.php index 6decca083870..4844963f4ea2 100644 --- a/app/Export/CSV/QuoteExport.php +++ b/app/Export/CSV/QuoteExport.php @@ -31,11 +31,11 @@ class QuoteExport extends BaseExport private Decorator $decorator; - private array $decorate_keys = [ - 'client', - 'currency', - 'invoice', - ]; + // private array $decorate_keys = [ + // 'client', + // 'currency', + // 'invoice', + // ]; public function __construct(Company $company, array $input) { diff --git a/app/Export/CSV/TaskExport.php b/app/Export/CSV/TaskExport.php index 47423c23e2b3..b04020317801 100644 --- a/app/Export/CSV/TaskExport.php +++ b/app/Export/CSV/TaskExport.php @@ -31,7 +31,7 @@ class TaskExport extends BaseExport public string $date_key = 'created_at'; - private string $date_format = 'YYYY-MM-DD'; + private string $date_format = 'Y-m-d'; public Writer $csv; @@ -180,13 +180,7 @@ class TaskExport extends BaseExport $logs = json_decode($task->time_log, 1); - $date_format_default = 'Y-m-d'; - - $date_format = DateFormat::find($task->company->settings->date_format_id); - - if ($date_format) { - $date_format_default = $date_format->format; - } + $date_format_default = $this->date_format; foreach ($logs as $key => $item) { if (in_array('task.start_date', $this->input['report_keys']) || in_array('start_date', $this->input['report_keys'])) { @@ -236,7 +230,7 @@ class TaskExport extends BaseExport */ protected function addTaskStatusFilter(Builder $query, string $status): Builder { - + /** @var array $status_parameters */ $status_parameters = explode(',', $status); if (in_array('all', $status_parameters) || count($status_parameters) == 0) { diff --git a/app/Export/CSV/VendorExport.php b/app/Export/CSV/VendorExport.php index c04f83e8c4c4..5b67792d2b7a 100644 --- a/app/Export/CSV/VendorExport.php +++ b/app/Export/CSV/VendorExport.php @@ -171,16 +171,16 @@ class VendorExport extends BaseExport return $entity; } - private function calculateStatus($vendor) - { - if ($vendor->is_deleted) { - return ctrans('texts.deleted'); - } + // private function calculateStatus($vendor) + // { + // if ($vendor->is_deleted) { + // return ctrans('texts.deleted'); + // } - if ($vendor->deleted_at) { - return ctrans('texts.archived'); - } + // if ($vendor->deleted_at) { + // return ctrans('texts.archived'); + // } - return ctrans('texts.active'); - } + // return ctrans('texts.active'); + // } } diff --git a/app/Factory/RecurringExpenseToExpenseFactory.php b/app/Factory/RecurringExpenseToExpenseFactory.php index 8ba5f96322d0..de59952d871c 100644 --- a/app/Factory/RecurringExpenseToExpenseFactory.php +++ b/app/Factory/RecurringExpenseToExpenseFactory.php @@ -144,7 +144,7 @@ class RecurringExpenseToExpenseFactory continue; } - if (Str::contains($match, '|')) { + // if (Str::contains($match, '|')) { $parts = explode('|', $match); // [ '[MONTH', 'MONTH+2]' ] $left = substr($parts[0], 1); // 'MONTH' @@ -182,7 +182,7 @@ class RecurringExpenseToExpenseFactory $value, 1 ); - } + // } } // Second case with more common calculations. diff --git a/app/Filters/InvoiceFilters.php b/app/Filters/InvoiceFilters.php index 3ef024429485..0343402a37b2 100644 --- a/app/Filters/InvoiceFilters.php +++ b/app/Filters/InvoiceFilters.php @@ -271,6 +271,7 @@ class InvoiceFilters extends QueryFilters if (count($parts) != 2) { return $this->builder; } + try { $start_date = Carbon::parse($parts[0]); @@ -281,7 +282,6 @@ class InvoiceFilters extends QueryFilters return $this->builder; } - return $this->builder; } /** @@ -307,7 +307,6 @@ class InvoiceFilters extends QueryFilters return $this->builder; } - return $this->builder; } diff --git a/app/Filters/PaymentFilters.php b/app/Filters/PaymentFilters.php index 9f3a6b781d51..7927daf08989 100644 --- a/app/Filters/PaymentFilters.php +++ b/app/Filters/PaymentFilters.php @@ -204,7 +204,6 @@ class PaymentFilters extends QueryFilters return $this->builder; } - return $this->builder; } /** diff --git a/app/Filters/RecurringInvoiceFilters.php b/app/Filters/RecurringInvoiceFilters.php index 56ac04619c99..8886d6aec025 100644 --- a/app/Filters/RecurringInvoiceFilters.php +++ b/app/Filters/RecurringInvoiceFilters.php @@ -162,9 +162,10 @@ class RecurringInvoiceFilters extends QueryFilters return $this->builder; } + /** @var array $key_parameters */ $key_parameters = explode(',', $value); - if (count($key_parameters)) { + if (count($key_parameters) > 0) { return $this->builder->where(function ($query) use ($key_parameters) { foreach ($key_parameters as $key) { $query->orWhereJsonContains('line_items', ['product_key' => $key]); @@ -183,6 +184,7 @@ class RecurringInvoiceFilters extends QueryFilters */ public function next_send_between(string $range = ''): Builder { + /** @var array $parts */ $parts = explode('|', $range); if (!isset($parts[0]) || !isset($parts[1])) { diff --git a/app/Filters/TaskFilters.php b/app/Filters/TaskFilters.php index a98c6ae5b500..3b26e004742b 100644 --- a/app/Filters/TaskFilters.php +++ b/app/Filters/TaskFilters.php @@ -175,6 +175,7 @@ class TaskFilters extends QueryFilters return $this->builder; } + /** @var array $status_parameters */ $status_parameters = explode(',', $value); if(count($status_parameters) >= 1) { diff --git a/app/Helpers/Epc/EpcQrGenerator.php b/app/Helpers/Epc/EpcQrGenerator.php index 87bb585ba6e4..ccdee6e65efe 100644 --- a/app/Helpers/Epc/EpcQrGenerator.php +++ b/app/Helpers/Epc/EpcQrGenerator.php @@ -26,15 +26,15 @@ use BaconQrCode\Writer; */ class EpcQrGenerator { - private array $sepa = [ - 'serviceTag' => 'BCD', - 'version' => 2, - 'characterSet' => 1, - 'identification' => 'SCT', - 'bic' => '', - 'purpose' => '', + // private array $sepa = [ + // 'serviceTag' => 'BCD', + // 'version' => 2, + // 'characterSet' => 1, + // 'identification' => 'SCT', + // 'bic' => '', + // 'purpose' => '', - ]; + // ]; public function __construct(protected Company $company, protected Invoice|RecurringInvoice $invoice, protected float $amount) { @@ -61,13 +61,7 @@ class EpcQrGenerator } catch(\Throwable $e) { nlog("EPC QR failure => ".$e->getMessage()); return ''; - } catch(\Exception $e) { - nlog("EPC QR failure => ".$e->getMessage()); - return ''; - } catch(InvalidArgumentException $e) { - nlog("EPC QR failure => ".$e->getMessage()); - return ''; - } + } } diff --git a/app/Helpers/Invoice/InvoiceItemSumInclusive.php b/app/Helpers/Invoice/InvoiceItemSumInclusive.php index 3ecbf7431d36..88416f6c8696 100644 --- a/app/Helpers/Invoice/InvoiceItemSumInclusive.php +++ b/app/Helpers/Invoice/InvoiceItemSumInclusive.php @@ -399,7 +399,7 @@ class InvoiceItemSumInclusive private function shouldCalculateTax(): self { - if (!$this->invoice->company?->calculate_taxes || $this->invoice->company->account->isFreeHostedClient()) { + if (!$this->invoice->company->calculate_taxes || $this->invoice->company->account->isFreeHostedClient()) { $this->calc_tax = false; return $this; } diff --git a/app/Helpers/Invoice/ProRata.php b/app/Helpers/Invoice/ProRata.php index e012036ad5d4..d5f42c0c9573 100644 --- a/app/Helpers/Invoice/ProRata.php +++ b/app/Helpers/Invoice/ProRata.php @@ -58,12 +58,12 @@ class ProRata * Prepares the line items of an invoice * to be pro rata refunded. * - * @param Invoice $invoice + * @param ?Invoice $invoice * @param bool $is_credit * @return array * @throws Exception */ - public function refundItems(Invoice $invoice, $is_credit = false): array + public function refundItems(?Invoice $invoice, $is_credit = false): array { if (! $invoice) { return []; diff --git a/app/Http/Controllers/Auth/ContactForgotPasswordController.php b/app/Http/Controllers/Auth/ContactForgotPasswordController.php index e592da6c3065..ac275626dc43 100644 --- a/app/Http/Controllers/Auth/ContactForgotPasswordController.php +++ b/app/Http/Controllers/Auth/ContactForgotPasswordController.php @@ -118,7 +118,7 @@ class ContactForgotPasswordController extends Controller })->first(); } - $response = false; + // $response = false; if ($contact) { /* Update all instances of the client */ @@ -131,16 +131,16 @@ class ContactForgotPasswordController extends Controller } if ($request->ajax()) { - if ($response == Password::RESET_THROTTLED) { + if ($response == Password::RESET_THROTTLED) { // @phpstan-ignore-line return response()->json(['message' => ctrans('passwords.throttled'), 'status' => false], 429); } - return $response == Password::RESET_LINK_SENT + return $response == Password::RESET_LINK_SENT // @phpstan-ignore-line ? response()->json(['message' => 'Reset link sent to your email.', 'status' => true], 201) : response()->json(['message' => 'Email not found', 'status' => false], 401); } - return $response == Password::RESET_LINK_SENT + return $response == Password::RESET_LINK_SENT // @phpstan-ignore-line ? $this->sendResetLinkResponse($request, $response) : $this->sendResetLinkFailedResponse($request, $response); } diff --git a/app/Http/Controllers/Auth/ContactLoginController.php b/app/Http/Controllers/Auth/ContactLoginController.php index 8b560e7f6892..5a72419244cb 100644 --- a/app/Http/Controllers/Auth/ContactLoginController.php +++ b/app/Http/Controllers/Auth/ContactLoginController.php @@ -55,7 +55,7 @@ class ContactLoginController extends Controller $company = Company::where('company_key', $company_key)->first(); } - /** @var \App\Models\Company $company **/ + /** @var ?\App\Models\Company $company **/ if ($company) { $account = $company->account; } elseif (! $company && strpos($request->getHost(), config('ninja.app_domain')) !== false) { diff --git a/app/Http/Controllers/Auth/ResetPasswordController.php b/app/Http/Controllers/Auth/ResetPasswordController.php index 08c02b6892f6..2e066abeb78c 100644 --- a/app/Http/Controllers/Auth/ResetPasswordController.php +++ b/app/Http/Controllers/Auth/ResetPasswordController.php @@ -137,8 +137,8 @@ class ResetPasswordController extends Controller return redirect('/#/login'); } - return redirect($this->redirectPath()) - ->with('status', trans($response)); + // return redirect($this->redirectPath()) + // ->with('status', trans($response)); } } diff --git a/app/Http/Controllers/BaseController.php b/app/Http/Controllers/BaseController.php index 76b81fb84d09..e9b7fcc96dfa 100644 --- a/app/Http/Controllers/BaseController.php +++ b/app/Http/Controllers/BaseController.php @@ -1035,7 +1035,7 @@ class BaseController extends Controller $resource = new Item($item, $transformer, $this->entity_type); - /** @var \App\Models\User $user */ + /** @var ?\App\Models\User $user */ $user = auth()->user(); if ($user && request()->include_static) { diff --git a/app/Http/Controllers/BrevoController.php b/app/Http/Controllers/BrevoController.php index c096a42fe4b9..e0e94e8fa71b 100644 --- a/app/Http/Controllers/BrevoController.php +++ b/app/Http/Controllers/BrevoController.php @@ -19,7 +19,6 @@ use Illuminate\Http\Request; */ class BrevoController extends BaseController { - private $invitation; public function __construct() { diff --git a/app/Http/Controllers/ClientController.php b/app/Http/Controllers/ClientController.php index 38f1f3a0397e..76fe6c661abd 100644 --- a/app/Http/Controllers/ClientController.php +++ b/app/Http/Controllers/ClientController.php @@ -141,7 +141,7 @@ class ClientController extends BaseController return $request->disallowUpdate(); } - /** @var \App\Models\User $user */ + /** @var ?\App\Models\User $user */ $user = auth()->user(); $client = $this->client_repo->save($request->all(), $client); @@ -426,7 +426,7 @@ class ClientController extends BaseController try { - /** @var \Postmark\Models\DynamicResponseModel $response */ + /** @var ?\Postmark\Models\DynamicResponseModel $response */ $response = $postmark->activateBounce((int)$bounce_id); if($response && $response?->Message == 'OK' && !$response->Bounce->Inactive && $response->Bounce->Email) { diff --git a/app/Http/Controllers/ClientPortal/InvoiceController.php b/app/Http/Controllers/ClientPortal/InvoiceController.php index b446a8d805b2..0d8449daae99 100644 --- a/app/Http/Controllers/ClientPortal/InvoiceController.php +++ b/app/Http/Controllers/ClientPortal/InvoiceController.php @@ -97,12 +97,12 @@ class InvoiceController extends Controller $invitation = false; - match($data['entity_type'] ?? false) { + match($data['entity_type'] ?? 'invoice') { 'invoice' => $invitation = InvoiceInvitation::withTrashed()->find($data['invitation_id']), 'quote' => $invitation = QuoteInvitation::withTrashed()->find($data['invitation_id']), 'credit' => $invitation = CreditInvitation::withTrashed()->find($data['invitation_id']), 'recurring_invoice' => $invitation = RecurringInvoiceInvitation::withTrashed()->find($data['invitation_id']), - false => $invitation = false, + default => $invitation = false, }; if (! $invitation) { diff --git a/app/Http/Controllers/ClientPortal/PaymentController.php b/app/Http/Controllers/ClientPortal/PaymentController.php index bce4399d3be8..b2b63c0cea9e 100644 --- a/app/Http/Controllers/ClientPortal/PaymentController.php +++ b/app/Http/Controllers/ClientPortal/PaymentController.php @@ -77,6 +77,7 @@ class PaymentController extends Controller 'EUR' => $data = $bt->formatDataforEur($payment_intent), 'JPY' => $data = $bt->formatDataforJp($payment_intent), 'GBP' => $data = $bt->formatDataforUk($payment_intent), + default => $data = $bt->formatDataforUk($payment_intent), }; $gateway = $stripe; diff --git a/app/Http/Middleware/PasswordProtection.php b/app/Http/Middleware/PasswordProtection.php index 9c8a38c52f10..a07cd1aea353 100644 --- a/app/Http/Middleware/PasswordProtection.php +++ b/app/Http/Middleware/PasswordProtection.php @@ -61,7 +61,7 @@ class PasswordProtection return $next($request); } elseif(strlen(auth()->user()->oauth_provider_id) > 2 && !auth()->user()->company()->oauth_password_required) { return $next($request); - } elseif ($request->header('X-API-OAUTH-PASSWORD') && strlen($request->header('X-API-OAUTH-PASSWORD')) >= 1) { + } elseif ($request->header('X-API-OAUTH-PASSWORD') && strlen($request->header('X-API-OAUTH-PASSWORD')) > 1) { //user is attempting to reauth with OAuth - check the token value //todo expand this to include all OAuth providers if (auth()->user()->oauth_provider_id == 'google') { diff --git a/app/Jobs/Cron/SubscriptionCron.php b/app/Jobs/Cron/SubscriptionCron.php index 1c4b7dbc16ad..b3ddbb3e7e32 100644 --- a/app/Jobs/Cron/SubscriptionCron.php +++ b/app/Jobs/Cron/SubscriptionCron.php @@ -65,9 +65,9 @@ class SubscriptionCron //Requires the crons to be updated and set to hourly @ 00:01 private function timezoneAware() { - $grouped_company_ids = - - Invoice::select('company_id') + + Invoice::query() + ->with('company') ->where('is_deleted', 0) ->whereIn('status_id', [Invoice::STATUS_SENT, Invoice::STATUS_PARTIAL]) ->where('balance', '>', 0) @@ -77,10 +77,11 @@ class SubscriptionCron ->whereNotNull('subscription_id') ->groupBy('company_id') ->cursor() - ->each(function ($company_id) { + ->each(function ($invoice) { /** @var \App\Models\Company $company */ - $company = Company::find($company_id); + // $company = Company::find($invoice->company_id); + $company = $invoice->company; $timezone_now = now()->setTimezone($company->timezone()->name ?? 'Pacific/Midway'); diff --git a/app/Jobs/Ninja/TaskScheduler.php b/app/Jobs/Ninja/TaskScheduler.php index a2c8acf14a16..62f2a011d78a 100644 --- a/app/Jobs/Ninja/TaskScheduler.php +++ b/app/Jobs/Ninja/TaskScheduler.php @@ -63,7 +63,7 @@ class TaskScheduler implements ShouldQueue //@var \App\Models\Schedule $scheduler $scheduler->service()->runTask(); } catch(\Exception $e) { - nlog($e->getMessage()); + nlog("Exception:: TaskScheduler:: Doing job {$scheduler->name}" . $e->getMessage()); } }); diff --git a/app/Models/Invoice.php b/app/Models/Invoice.php index 70dfd979a814..07ef8532baee 100644 --- a/app/Models/Invoice.php +++ b/app/Models/Invoice.php @@ -130,7 +130,6 @@ use Laracasts\Presenter\PresentableTrait; * @property-read \Illuminate\Database\Eloquent\Collection $invitations * @property-read \Illuminate\Database\Eloquent\Collection $payments * @property-read \Illuminate\Database\Eloquent\Collection $tasks - * @method static \Illuminate\Database\Eloquent\Builder|BaseModel company() * @property object|null $tax_data * @mixin \Eloquent */ diff --git a/app/Models/Payment.php b/app/Models/Payment.php index 39dc117fd609..42155828e831 100644 --- a/app/Models/Payment.php +++ b/app/Models/Payment.php @@ -58,7 +58,7 @@ use Illuminate\Database\Eloquent\SoftDeletes; * @property int|null $exchange_currency_id * @property \App\Models\Paymentable $paymentable * @property object|null $meta - * @property object|null $refund_meta + * @property array|null $refund_meta * @property string|null $custom_value1 * @property string|null $custom_value2 * @property string|null $custom_value3 diff --git a/app/Services/Scheduler/EmailReport.php b/app/Services/Scheduler/EmailReport.php index 9a4487109c6b..2dd93ee32e8f 100644 --- a/app/Services/Scheduler/EmailReport.php +++ b/app/Services/Scheduler/EmailReport.php @@ -46,9 +46,9 @@ class EmailReport use MakesHash; use MakesDates; - private Client $client; + // private Client $client; - private bool $multiple_clients = false; + // private bool $multiple_clients = false; private string $file_name = 'file.csv'; @@ -66,6 +66,7 @@ class EmailReport $data['end_date'] = $start_end_dates[1]; $data['date_range'] = $data['date_range'] ?? 'all'; $data['report_keys'] = $data['report_keys'] ?? []; + $data['include_deleted'] = $data['include_deleted'] ?? false; $export = false; diff --git a/app/Services/Template/TemplateService.php b/app/Services/Template/TemplateService.php index 14babd5de3aa..7df008689d3a 100644 --- a/app/Services/Template/TemplateService.php +++ b/app/Services/Template/TemplateService.php @@ -124,7 +124,7 @@ class TemplateService $this->twig->addFilter($filter); $allowedTags = ['if', 'for', 'set', 'filter']; - $allowedFilters = ['escape', 'e', 'upper', 'lower', 'capitalize', 'filter', 'length', 'merge','format_currency','map', 'join', 'first', 'date','sum']; + $allowedFilters = ['escape', 'e', 'upper', 'lower', 'capitalize', 'filter', 'length', 'merge','format_currency', 'format_number','format_percent_number','map', 'join', 'first', 'date','sum']; $allowedFunctions = ['range', 'cycle', 'constant', 'date',]; $allowedProperties = ['type_id']; $allowedMethods = ['img','t']; @@ -620,8 +620,6 @@ class TemplateService private function transformPayment(Payment $payment): array { - $data = []; - $this->payment = $payment; $credits = $payment->credits->map(function ($credit) use ($payment) { @@ -694,8 +692,6 @@ class TemplateService 'refund_activity' => $this->getPaymentRefundActivity($payment), ]; - return $data; - } /** @@ -1196,6 +1192,7 @@ class TemplateService 'company-details' => $this->companyDetails($stack['labels'] == 'true'), 'company-address' => $this->companyAddress($stack['labels'] == 'true'), 'shipping-details' => $this->shippingDetails($stack['labels'] == 'true'), + default => $this->entityDetails(), }; $this->save(); diff --git a/app/Utils/Helpers.php b/app/Utils/Helpers.php index 21db9ad6f90f..4d5fd38d486d 100644 --- a/app/Utils/Helpers.php +++ b/app/Utils/Helpers.php @@ -97,15 +97,15 @@ class Helpers switch ($custom_field) { case 'date': return is_null($entity) ? $value : $this->translateDate($value, $entity->date_format(), $entity->locale()); - break; + case 'switch': return trim($value ?? '') == 'yes' ? ctrans('texts.yes') : ctrans('texts.no'); - break; + default: return is_null($value) ? '' : $this->processReservedKeywords($value, $entity); - break; + } } @@ -252,7 +252,7 @@ class Helpers continue; } - if (Str::contains($match, '|')) { + // if (Str::contains($match, '|')) { $parts = explode('|', $match); // [ '[MONTH', 'MONTH+2]' ] $left = substr($parts[0], 1); // 'MONTH' @@ -290,7 +290,7 @@ class Helpers $value, 1 ); - } + // } } // Second case with more common calculations. diff --git a/app/Utils/HtmlEngine.php b/app/Utils/HtmlEngine.php index 3f34611e0d24..5efa54297ccf 100644 --- a/app/Utils/HtmlEngine.php +++ b/app/Utils/HtmlEngine.php @@ -45,7 +45,7 @@ class HtmlEngine /** @var \App\Models\Client $client */ public $client; - /** @var \App\Models\ClientContact $contact */ + /** @var ?\App\Models\ClientContact $contact */ public $contact; /** @var \App\Models\Company $company */ @@ -120,7 +120,7 @@ class HtmlEngine { if (! $this->client->currency()) { throw new Exception(debug_backtrace()[1]['function'], 1); - exit; + // exit; } App::forgetInstance('translator'); @@ -132,10 +132,10 @@ class HtmlEngine $data['$global_margin'] = ['value' => '6.35mm', 'label' => '']; $data['$company_logo_size'] = ['value' => $this->resolveCompanyLogoSize(), 'label' => '']; - $data['$show_shipping_address'] = ['value' => $this->settings?->show_shipping_address ? 'flex' : 'none', 'label' => '']; - $data['$show_shipping_address_block'] = ['value' => $this->settings?->show_shipping_address ? 'block' : 'none', 'label' => '']; + $data['$show_shipping_address'] = ['value' => $this->settings->show_shipping_address ? 'flex' : 'none', 'label' => '']; + $data['$show_shipping_address_block'] = ['value' => $this->settings->show_shipping_address ? 'block' : 'none', 'label' => '']; // $data['$show_shipping_address_visibility'] = ['value' => $this->settings?->show_shipping_address ? 'visible' : 'hidden', 'label' => '']; - $data['$show_shipping_address_visibility'] = ['value' => $this->settings?->show_shipping_address ? 1 : 0, 'label' => '']; + $data['$show_shipping_address_visibility'] = ['value' => $this->settings->show_shipping_address ? 1 : 0, 'label' => '']; $data['$order_number'] = ['value' => '', 'label' => ctrans('texts.order_number')]; $data['$tax'] = ['value' => '', 'label' => ctrans('texts.tax')]; @@ -226,7 +226,7 @@ class HtmlEngine $data['$status_logo'] = ['value' => '
' . ctrans('texts.paid') .'
', 'label' => '']; - $data['$show_paid_stamp'] = ['value' => $this->entity->status_id == 4 && $this->settings?->show_paid_stamp ? 'flex' : 'none', 'label' => '']; + $data['$show_paid_stamp'] = ['value' => $this->entity->status_id == 4 && $this->settings->show_paid_stamp ? 'flex' : 'none', 'label' => '']; if ($this->entity->vendor) { $data['$invoice.vendor'] = ['value' => $this->entity->vendor->present()->name(), 'label' => ctrans('texts.vendor_name')]; @@ -775,8 +775,7 @@ class HtmlEngine return ''; } - return - collect($payment->refund_meta) + return collect($payment->refund_meta) ->map(function ($refund) use ($payment) { $date = \Carbon\Carbon::parse($refund['date'] ?? $payment->date)->addSeconds($payment->client->timezone_offset()); @@ -962,20 +961,20 @@ class HtmlEngine * @return string a collection of rows with line item * aggregate data */ - private function makeLineTaxes(): string - { - $tax_map = $this->entity_calc->getTaxMap(); + // private function makeLineTaxes(): string + // { + // $tax_map = $this->entity_calc->getTaxMap(); - $data = ''; + // $data = ''; - foreach ($tax_map as $tax) { - $data .= ''; - $data .= ''.$tax['name'].''; - $data .= ''.Number::formatMoney($tax['total'], $this->client).''; - } + // foreach ($tax_map as $tax) { + // $data .= ''; + // $data .= ''.$tax['name'].''; + // $data .= ''.Number::formatMoney($tax['total'], $this->client).''; + // } - return $data; - } + // return $data; + // } private function lineTaxValues(): string { @@ -990,30 +989,30 @@ class HtmlEngine return $data; } - private function makeTotalTaxes(): string - { - $data = ''; + // private function makeTotalTaxes(): string + // { + // $data = ''; - if (! $this->entity_calc->getTotalTaxMap()) { - return $data; - } + // if (! $this->entity_calc->getTotalTaxMap()) { + // return $data; + // } - foreach ($this->entity_calc->getTotalTaxMap() as $tax) { - $data .= ''; - $data .= ''; - $data .= ''.$tax['name'].''; - $data .= ''.Number::formatMoney($tax['total'], $this->client).''; - } + // foreach ($this->entity_calc->getTotalTaxMap() as $tax) { + // $data .= ''; + // $data .= ''; + // $data .= ''.$tax['name'].''; + // $data .= ''.Number::formatMoney($tax['total'], $this->client).''; + // } - return $data; - } + // return $data; + // } - private function parseLabelsAndValues($labels, $values, $section): string - { - $section = strtr($section, $labels); + // private function parseLabelsAndValues($labels, $values, $section): string + // { + // $section = strtr($section, $labels); - return strtr($section, $values); - } + // return strtr($section, $values); + // } /* | Ensures the URL doesn't have duplicated trailing slash @@ -1029,98 +1028,98 @@ class HtmlEngine * of Repeating headers and footers on the PDF. * @return string The css string */ - private function generateCustomCSS(): string - { - $header_and_footer = ' -.header, .header-space { - height: 160px; -} +// private function generateCustomCSS(): string +// { +// $header_and_footer = ' +// .header, .header-space { +// height: 160px; +// } -.footer, .footer-space { - height: 160px; -} +// .footer, .footer-space { +// height: 160px; +// } -.footer { - position: fixed; - bottom: 0; - width: 100%; -} +// .footer { +// position: fixed; +// bottom: 0; +// width: 100%; +// } -.header { - position: fixed; - top: 0mm; - width: 100%; -} +// .header { +// position: fixed; +// top: 0mm; +// width: 100%; +// } -@media print { - thead {display: table-header-group;} - tfoot {display: table-footer-group;} - button {display: none;} - body {margin: 0;} -}'; +// @media print { +// thead {display: table-header-group;} +// tfoot {display: table-footer-group;} +// button {display: none;} +// body {margin: 0;} +// }'; - $header = ' -.header, .header-space { - height: 160px; -} +// $header = ' +// .header, .header-space { +// height: 160px; +// } -.header { - position: fixed; - top: 0mm; - width: 100%; -} +// .header { +// position: fixed; +// top: 0mm; +// width: 100%; +// } -@media print { - thead {display: table-header-group;} - button {display: none;} - body {margin: 0;} -}'; +// @media print { +// thead {display: table-header-group;} +// button {display: none;} +// body {margin: 0;} +// }'; - $footer = ' +// $footer = ' -.footer, .footer-space { - height: 160px; -} +// .footer, .footer-space { +// height: 160px; +// } -.footer { - position: fixed; - bottom: 0; - width: 100%; -} +// .footer { +// position: fixed; +// bottom: 0; +// width: 100%; +// } -@media print { - tfoot {display: table-footer-group;} - button {display: none;} - body {margin: 0;} -}'; - $css = ''; +// @media print { +// tfoot {display: table-footer-group;} +// button {display: none;} +// body {margin: 0;} +// }'; +// $css = ''; - if ($this->settings->all_pages_header && $this->settings->all_pages_footer) { - $css .= $header_and_footer; - } elseif ($this->settings->all_pages_header && ! $this->settings->all_pages_footer) { - $css .= $header; - } elseif (! $this->settings->all_pages_header && $this->settings->all_pages_footer) { - $css .= $footer; - } +// if ($this->settings->all_pages_header && $this->settings->all_pages_footer) { +// $css .= $header_and_footer; +// } elseif ($this->settings->all_pages_header && ! $this->settings->all_pages_footer) { +// $css .= $header; +// } elseif (! $this->settings->all_pages_header && $this->settings->all_pages_footer) { +// $css .= $footer; +// } - $css .= ' -.page { - page-break-after: always; -} +// $css .= ' +// .page { +// page-break-after: always; +// } -@page { - margin: 0mm -} +// @page { +// margin: 0mm +// } -html { - '; +// html { +// '; - $css .= 'font-size:'.$this->settings->font_size.'px;'; +// $css .= 'font-size:'.$this->settings->font_size.'px;'; - $css .= '}'; +// $css .= '}'; - return $css; - } +// return $css; +// } /** * Generate markup for HTML images on entity. @@ -1200,14 +1199,14 @@ html { '; - return ' - - - - -
- '. $text .' -
- '; + // return ' + // + // + // + // + //
+ // '. $text .' + //
+ // '; } } diff --git a/app/Utils/PaymentHtmlEngine.php b/app/Utils/PaymentHtmlEngine.php index 8562d22bea67..b28641606c86 100644 --- a/app/Utils/PaymentHtmlEngine.php +++ b/app/Utils/PaymentHtmlEngine.php @@ -355,14 +355,14 @@ class PaymentHtmlEngine '; - return ' - - - - -
- '. $text .' -
- '; + // return ' + // + // + // + // + //
+ // '. $text .' + //
+ // '; } } diff --git a/app/Utils/TemplateEngine.php b/app/Utils/TemplateEngine.php index ba3ad307e8af..3b697e203c25 100644 --- a/app/Utils/TemplateEngine.php +++ b/app/Utils/TemplateEngine.php @@ -240,8 +240,10 @@ class TemplateEngine } else { $data['signature'] = $this->settings->email_signature; $data['settings'] = $this->settings; - $data['whitelabel'] = $this->entity_obj ? $this->entity_obj->company->account->isPaid() : true; - $data['company'] = $this->entity_obj ? $this->entity_obj->company : ''; + // $data['whitelabel'] = $this->entity_obj ? $this->entity_obj->company->account->isPaid() : true; + // $data['company'] = $this->entity_obj ? $this->entity_obj->company : ''; + $data['whitelabel'] = $this->entity_obj->company->account->isPaid(); + $data['company'] = $this->entity_obj->company; $data['settings'] = $this->settings; }