Ensure port is int for SMTP

This commit is contained in:
David Bomba 2024-02-18 16:19:09 +11:00
parent e2287c6d57
commit 6c7df568dc
7 changed files with 27 additions and 17 deletions

View File

@ -140,6 +140,7 @@ class BaseController extends Controller
'company.quotes.invitations.company', 'company.quotes.invitations.company',
'company.quotes.documents', 'company.quotes.documents',
'company.tasks.documents', 'company.tasks.documents',
// 'company.tasks.project',
'company.subscriptions', 'company.subscriptions',
'company.tax_rates', 'company.tax_rates',
'company.tokens_hashed', 'company.tokens_hashed',
@ -458,7 +459,7 @@ class BaseController extends Controller
} }
}, },
'company.tasks' => function ($query) use ($updated_at, $user) { 'company.tasks' => function ($query) use ($updated_at, $user) {
$query->where('updated_at', '>=', $updated_at)->with('documents'); $query->where('updated_at', '>=', $updated_at)->with('project','documents');
if (! $user->hasPermission('view_task')) { if (! $user->hasPermission('view_task')) {
$query->whereNested(function ($query) use ($user) { $query->whereNested(function ($query) use ($user) {

View File

@ -75,6 +75,10 @@ class Project extends BaseModel
'number', 'number',
]; ];
protected $with = [
'documents',
];
public function getEntityType() public function getEntityType()
{ {
return self::class; return self::class;

View File

@ -131,6 +131,10 @@ class Task extends BaseModel
'deleted_at' => 'timestamp', 'deleted_at' => 'timestamp',
]; ];
protected $with = [
// 'project',
];
protected $touches = []; protected $touches = [];
public function getEntityType() public function getEntityType()

View File

@ -77,8 +77,6 @@ class AutoBillInvoice extends AbstractService
return; return;
} }
nlog($this->invoice->toArray());
$amount = 0; $amount = 0;
$invoice_total = 0; $invoice_total = 0;
@ -236,9 +234,7 @@ class AutoBillInvoice extends AbstractService
//if we have paid the invoice in full using credits, then we need to fire the event //if we have paid the invoice in full using credits, then we need to fire the event
if($this->invoice->balance == 0) { if($this->invoice->balance == 0) {
event(new InvoiceWasPaid($this->invoice, $payment, $payment->company, Ninja::eventVars())); event(new InvoiceWasPaid($this->invoice, $payment, $payment->company, Ninja::eventVars()));
} }
return $this->invoice return $this->invoice
@ -267,8 +263,6 @@ class AutoBillInvoice extends AbstractService
->orderBy('created_at') ->orderBy('created_at')
->get(); ->get();
nlog($unapplied_payments->pluck("id"));
$available_unapplied_balance = $unapplied_payments->sum('amount') - $unapplied_payments->sum('applied'); $available_unapplied_balance = $unapplied_payments->sum('amount') - $unapplied_payments->sum('applied');
nlog("available unapplied balance = {$available_unapplied_balance}"); nlog("available unapplied balance = {$available_unapplied_balance}");
@ -291,7 +285,10 @@ class AutoBillInvoice extends AbstractService
if ($payment_balance > $this->invoice->partial) { if ($payment_balance > $this->invoice->partial) {
$payload = ['client_id' => $this->invoice->client_id, 'invoices' => [['invoice_id' => $this->invoice->id,'amount' => $this->invoice->partial]]]; $payload = ['client_id' => $this->invoice->client_id, 'invoices' => [['invoice_id' => $this->invoice->id,'amount' => $this->invoice->partial]]];
$payment_repo->save($payload, $payment); $payment_repo->save($payload, $payment);
break;
$this->invoice = $this->invoice->fresh();
return $this;
} else { } else {
$payload = ['client_id' => $this->invoice->client_id, 'invoices' => [['invoice_id' => $this->invoice->id,'amount' => $payment_balance]]]; $payload = ['client_id' => $this->invoice->client_id, 'invoices' => [['invoice_id' => $this->invoice->id,'amount' => $payment_balance]]];
$payment_repo->save($payload, $payment); $payment_repo->save($payload, $payment);
@ -303,7 +300,10 @@ class AutoBillInvoice extends AbstractService
$payload = ['client_id' => $this->invoice->client_id, 'invoices' => [['invoice_id' => $this->invoice->id,'amount' => $this->invoice->balance]]]; $payload = ['client_id' => $this->invoice->client_id, 'invoices' => [['invoice_id' => $this->invoice->id,'amount' => $this->invoice->balance]]];
$payment_repo->save($payload, $payment); $payment_repo->save($payload, $payment);
break; $this->invoice = $this->invoice->fresh();
return $this;
} else { } else {
$payload = ['client_id' => $this->invoice->client_id, 'invoices' => [['invoice_id' => $this->invoice->id,'amount' => $payment_balance]]]; $payload = ['client_id' => $this->invoice->client_id, 'invoices' => [['invoice_id' => $this->invoice->id,'amount' => $payment_balance]]];
@ -312,9 +312,8 @@ class AutoBillInvoice extends AbstractService
} }
} }
$this->invoice = $this->invoice->fresh();
if((int)$this->invoice->balance == 0) { if((int)$this->invoice->balance == 0) {
event(new InvoiceWasPaid($this->invoice, $payment, $payment->company, Ninja::eventVars()));
return $this; return $this;
} }
} }

View File

@ -205,7 +205,7 @@ class CompanyTransformer extends EntityTransformer
'invoice_task_item_description' => (bool) $company->invoice_task_item_description, 'invoice_task_item_description' => (bool) $company->invoice_task_item_description,
'origin_tax_data' => $company->origin_tax_data ?: new \stdClass(), 'origin_tax_data' => $company->origin_tax_data ?: new \stdClass(),
'smtp_host' => (string)$company->smtp_host ?? '', 'smtp_host' => (string)$company->smtp_host ?? '',
'smtp_port' => (string)$company->smtp_port ?? '', 'smtp_port' => (int)$company->smtp_port ?? 25,
'smtp_encryption' => (string)$company->smtp_encryption ?? 'tls', 'smtp_encryption' => (string)$company->smtp_encryption ?? 'tls',
'smtp_username' => $company->smtp_username ? '********' : '', 'smtp_username' => $company->smtp_username ? '********' : '',
'smtp_password' => $company->smtp_password ? '********' : '', 'smtp_password' => $company->smtp_password ? '********' : '',

View File

@ -41,7 +41,10 @@ class ProjectTransformer extends EntityTransformer
{ {
$transformer = new DocumentTransformer($this->serializer); $transformer = new DocumentTransformer($this->serializer);
return $this->includeCollection($project->documents, $transformer, Document::class); if($project->documents)
return $this->includeCollection($project->documents, $transformer, Document::class);
return null;
} }
public function includeClient(Project $project): \League\Fractal\Resource\Item public function includeClient(Project $project): \League\Fractal\Resource\Item

View File

@ -100,11 +100,10 @@ class TaskTransformer extends EntityTransformer
{ {
$transformer = new ProjectTransformer($this->serializer); $transformer = new ProjectTransformer($this->serializer);
if (!$task->project) { if ($task->project)
return null; return $this->includeItem($task->project, $transformer, Project::class);
}
return $this->includeItem($task->project, $transformer, Project::class); return null;
} }
public function transform(Task $task) public function transform(Task $task)