mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Merge pull request #8656 from turbo124/v5-develop
Change length of Webhook Urls
This commit is contained in:
commit
6355220387
@ -148,6 +148,8 @@ class ActivityController extends BaseController
|
||||
}
|
||||
}
|
||||
|
||||
$activity->company->setLocale();
|
||||
|
||||
if (isset($activity->invoice_id)) {
|
||||
$filename = $activity->invoice->numberFormatter().'.pdf';
|
||||
} elseif (isset($activity->quote_id)) {
|
||||
|
@ -85,23 +85,21 @@ class InvitationController extends Controller
|
||||
->with('contact.client')
|
||||
->firstOrFail();
|
||||
|
||||
//09-03-2023 do not show entity if the invitation has been trashed.
|
||||
if ($invitation->trashed() || $invitation->{$entity}->is_deleted) {
|
||||
return $this->render('generic.not_available', ['account' => $invitation->company->account, 'company' => $invitation->company]);
|
||||
}
|
||||
|
||||
/* 12/01/2022 Clean up an edge case where if the contact is trashed, restore if a invitation comes back. */
|
||||
if ($invitation->contact->trashed()) {
|
||||
$invitation->contact->restore();
|
||||
}
|
||||
|
||||
/* Return early if we have the correct client_hash embedded */
|
||||
$client_contact = $invitation->contact;
|
||||
|
||||
if (empty($client_contact->email)) {
|
||||
$client_contact->email = Str::random(15) . "@example.com";
|
||||
} $client_contact->save();
|
||||
|
||||
$client_contact->save();
|
||||
}
|
||||
|
||||
if (request()->has('client_hash') && request()->input('client_hash') == $invitation->contact->client->client_hash) {
|
||||
request()->session()->invalidate();
|
||||
auth()->guard('contact')->loginUsingId($client_contact->id, true);
|
||||
|
@ -11,34 +11,35 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Events\Credit\CreditWasCreated;
|
||||
use App\Events\Credit\CreditWasUpdated;
|
||||
use App\Factory\CloneCreditFactory;
|
||||
use App\Utils\Ninja;
|
||||
use App\Models\Client;
|
||||
use App\Models\Credit;
|
||||
use App\Models\Account;
|
||||
use App\Models\Invoice;
|
||||
use Illuminate\Http\Response;
|
||||
use App\Factory\CreditFactory;
|
||||
use App\Filters\CreditFilters;
|
||||
use App\Http\Requests\Credit\ActionCreditRequest;
|
||||
use App\Jobs\Credit\ZipCredits;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Jobs\Entity\EmailEntity;
|
||||
use App\Factory\CloneCreditFactory;
|
||||
use App\Services\PdfMaker\PdfMerge;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use App\Utils\Traits\SavesDocuments;
|
||||
use App\Repositories\CreditRepository;
|
||||
use App\Events\Credit\CreditWasCreated;
|
||||
use App\Events\Credit\CreditWasUpdated;
|
||||
use App\Transformers\CreditTransformer;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use App\Http\Requests\Credit\BulkCreditRequest;
|
||||
use App\Http\Requests\Credit\CreateCreditRequest;
|
||||
use App\Http\Requests\Credit\DestroyCreditRequest;
|
||||
use App\Http\Requests\Credit\EditCreditRequest;
|
||||
use App\Http\Requests\Credit\ShowCreditRequest;
|
||||
use App\Http\Requests\Credit\StoreCreditRequest;
|
||||
use App\Http\Requests\Credit\ActionCreditRequest;
|
||||
use App\Http\Requests\Credit\CreateCreditRequest;
|
||||
use App\Http\Requests\Credit\UpdateCreditRequest;
|
||||
use App\Http\Requests\Credit\UploadCreditRequest;
|
||||
use App\Jobs\Credit\ZipCredits;
|
||||
use App\Jobs\Entity\EmailEntity;
|
||||
use App\Models\Account;
|
||||
use App\Models\Client;
|
||||
use App\Models\Credit;
|
||||
use App\Models\Invoice;
|
||||
use App\Repositories\CreditRepository;
|
||||
use App\Services\PdfMaker\PdfMerge;
|
||||
use App\Transformers\CreditTransformer;
|
||||
use App\Utils\Ninja;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Utils\Traits\SavesDocuments;
|
||||
use Illuminate\Http\Response;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use App\Http\Requests\Credit\DestroyCreditRequest;
|
||||
|
||||
/**
|
||||
* Class CreditController.
|
||||
@ -691,6 +692,8 @@ class CreditController extends BaseController
|
||||
|
||||
$credit = $invitation->credit;
|
||||
|
||||
App::setLocale($invitation->contact->preferredLocale());
|
||||
|
||||
$file = $credit->service()->getCreditPdf($invitation);
|
||||
|
||||
$headers = ['Content-Type' => 'application/pdf'];
|
||||
|
@ -12,38 +12,39 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Events\Invoice\InvoiceWasCreated;
|
||||
use App\Events\Invoice\InvoiceWasUpdated;
|
||||
use App\Factory\CloneInvoiceFactory;
|
||||
use App\Factory\CloneInvoiceToQuoteFactory;
|
||||
use App\Utils\Ninja;
|
||||
use App\Models\Quote;
|
||||
use App\Models\Account;
|
||||
use App\Models\Invoice;
|
||||
use App\Jobs\Cron\AutoBill;
|
||||
use Illuminate\Http\Response;
|
||||
use App\Factory\InvoiceFactory;
|
||||
use App\Filters\InvoiceFilters;
|
||||
use App\Http\Requests\Invoice\ActionInvoiceRequest;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Jobs\Invoice\ZipInvoices;
|
||||
use App\Services\PdfMaker\PdfMerge;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use App\Factory\CloneInvoiceFactory;
|
||||
use App\Jobs\Invoice\BulkInvoiceJob;
|
||||
use App\Utils\Traits\SavesDocuments;
|
||||
use App\Jobs\Invoice\UpdateReminders;
|
||||
use App\Transformers\QuoteTransformer;
|
||||
use App\Repositories\InvoiceRepository;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use App\Transformers\InvoiceTransformer;
|
||||
use App\Events\Invoice\InvoiceWasCreated;
|
||||
use App\Events\Invoice\InvoiceWasUpdated;
|
||||
use App\Factory\CloneInvoiceToQuoteFactory;
|
||||
use App\Http\Requests\Invoice\BulkInvoiceRequest;
|
||||
use App\Http\Requests\Invoice\CreateInvoiceRequest;
|
||||
use App\Http\Requests\Invoice\DestroyInvoiceRequest;
|
||||
use App\Http\Requests\Invoice\EditInvoiceRequest;
|
||||
use App\Http\Requests\Invoice\ShowInvoiceRequest;
|
||||
use App\Http\Requests\Invoice\StoreInvoiceRequest;
|
||||
use App\Http\Requests\Invoice\ActionInvoiceRequest;
|
||||
use App\Http\Requests\Invoice\CreateInvoiceRequest;
|
||||
use App\Http\Requests\Invoice\UpdateInvoiceRequest;
|
||||
use App\Http\Requests\Invoice\UpdateReminderRequest;
|
||||
use App\Http\Requests\Invoice\UploadInvoiceRequest;
|
||||
use App\Jobs\Cron\AutoBill;
|
||||
use App\Jobs\Invoice\BulkInvoiceJob;
|
||||
use App\Jobs\Invoice\UpdateReminders;
|
||||
use App\Jobs\Invoice\ZipInvoices;
|
||||
use App\Models\Account;
|
||||
use App\Models\Invoice;
|
||||
use App\Models\Quote;
|
||||
use App\Repositories\InvoiceRepository;
|
||||
use App\Services\PdfMaker\PdfMerge;
|
||||
use App\Transformers\InvoiceTransformer;
|
||||
use App\Transformers\QuoteTransformer;
|
||||
use App\Utils\Ninja;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Utils\Traits\SavesDocuments;
|
||||
use Illuminate\Http\Response;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use App\Http\Requests\Invoice\DestroyInvoiceRequest;
|
||||
use App\Http\Requests\Invoice\UpdateReminderRequest;
|
||||
|
||||
/**
|
||||
* Class InvoiceController.
|
||||
@ -821,6 +822,8 @@ class InvoiceController extends BaseController
|
||||
|
||||
$invoice = $invitation->invoice;
|
||||
|
||||
App::setLocale($invitation->contact->preferredLocale());
|
||||
|
||||
$file_name = $invoice->numberFormatter().'.pdf';
|
||||
|
||||
$file = (new \App\Jobs\Entity\CreateRawPdf($invitation, $invitation->company->db))->handle();
|
||||
|
@ -285,7 +285,7 @@ class PreviewController extends BaseController
|
||||
return $maker->getCompiledHTML();
|
||||
}
|
||||
} catch(\Exception $e) {
|
||||
nlog($e->getMessage());
|
||||
// nlog($e->getMessage());
|
||||
DB::connection(config('database.default'))->rollBack();
|
||||
|
||||
return;
|
||||
|
@ -11,6 +11,7 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Utils\Ninja;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Jobs\Util\UnlinkFile;
|
||||
use App\Exceptions\SystemError;
|
||||
|
@ -11,32 +11,33 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Events\PurchaseOrder\PurchaseOrderWasCreated;
|
||||
use App\Events\PurchaseOrder\PurchaseOrderWasUpdated;
|
||||
use App\Utils\Ninja;
|
||||
use App\Models\Client;
|
||||
use App\Models\Account;
|
||||
use App\Models\PurchaseOrder;
|
||||
use Illuminate\Http\Response;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Services\PdfMaker\PdfMerge;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use App\Utils\Traits\SavesDocuments;
|
||||
use App\Factory\PurchaseOrderFactory;
|
||||
use App\Filters\PurchaseOrderFilters;
|
||||
use App\Http\Requests\PurchaseOrder\ActionPurchaseOrderRequest;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use App\Jobs\PurchaseOrder\ZipPurchaseOrders;
|
||||
use App\Repositories\PurchaseOrderRepository;
|
||||
use App\Jobs\PurchaseOrder\PurchaseOrderEmail;
|
||||
use App\Transformers\PurchaseOrderTransformer;
|
||||
use App\Events\PurchaseOrder\PurchaseOrderWasCreated;
|
||||
use App\Events\PurchaseOrder\PurchaseOrderWasUpdated;
|
||||
use App\Http\Requests\PurchaseOrder\BulkPurchaseOrderRequest;
|
||||
use App\Http\Requests\PurchaseOrder\CreatePurchaseOrderRequest;
|
||||
use App\Http\Requests\PurchaseOrder\DestroyPurchaseOrderRequest;
|
||||
use App\Http\Requests\PurchaseOrder\EditPurchaseOrderRequest;
|
||||
use App\Http\Requests\PurchaseOrder\ShowPurchaseOrderRequest;
|
||||
use App\Http\Requests\PurchaseOrder\StorePurchaseOrderRequest;
|
||||
use App\Http\Requests\PurchaseOrder\ActionPurchaseOrderRequest;
|
||||
use App\Http\Requests\PurchaseOrder\CreatePurchaseOrderRequest;
|
||||
use App\Http\Requests\PurchaseOrder\UpdatePurchaseOrderRequest;
|
||||
use App\Http\Requests\PurchaseOrder\UploadPurchaseOrderRequest;
|
||||
use App\Jobs\PurchaseOrder\PurchaseOrderEmail;
|
||||
use App\Jobs\PurchaseOrder\ZipPurchaseOrders;
|
||||
use App\Models\Account;
|
||||
use App\Models\Client;
|
||||
use App\Models\PurchaseOrder;
|
||||
use App\Repositories\PurchaseOrderRepository;
|
||||
use App\Services\PdfMaker\PdfMerge;
|
||||
use App\Transformers\PurchaseOrderTransformer;
|
||||
use App\Utils\Ninja;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Utils\Traits\SavesDocuments;
|
||||
use Illuminate\Http\Response;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use App\Http\Requests\PurchaseOrder\DestroyPurchaseOrderRequest;
|
||||
|
||||
class PurchaseOrderController extends BaseController
|
||||
{
|
||||
|
@ -11,38 +11,39 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Events\Quote\QuoteWasCreated;
|
||||
use App\Events\Quote\QuoteWasUpdated;
|
||||
use App\Factory\CloneQuoteFactory;
|
||||
use App\Factory\CloneQuoteToInvoiceFactory;
|
||||
use App\Factory\CloneQuoteToProjectFactory;
|
||||
use App\Utils\Ninja;
|
||||
use App\Models\Quote;
|
||||
use App\Models\Client;
|
||||
use App\Models\Account;
|
||||
use App\Models\Invoice;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Factory\QuoteFactory;
|
||||
use App\Filters\QuoteFilters;
|
||||
use App\Http\Requests\Quote\ActionQuoteRequest;
|
||||
use App\Http\Requests\Quote\BulkActionQuoteRequest;
|
||||
use App\Http\Requests\Quote\CreateQuoteRequest;
|
||||
use App\Http\Requests\Quote\DestroyQuoteRequest;
|
||||
use App\Jobs\Quote\ZipQuotes;
|
||||
use Illuminate\Http\Response;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Factory\CloneQuoteFactory;
|
||||
use App\Services\PdfMaker\PdfMerge;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use App\Utils\Traits\SavesDocuments;
|
||||
use App\Events\Quote\QuoteWasCreated;
|
||||
use App\Events\Quote\QuoteWasUpdated;
|
||||
use App\Repositories\QuoteRepository;
|
||||
use App\Transformers\QuoteTransformer;
|
||||
use App\Utils\Traits\GeneratesCounter;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use App\Transformers\InvoiceTransformer;
|
||||
use App\Factory\CloneQuoteToInvoiceFactory;
|
||||
use App\Factory\CloneQuoteToProjectFactory;
|
||||
use App\Http\Requests\Quote\EditQuoteRequest;
|
||||
use App\Http\Requests\Quote\ShowQuoteRequest;
|
||||
use App\Http\Requests\Quote\StoreQuoteRequest;
|
||||
use App\Http\Requests\Quote\ActionQuoteRequest;
|
||||
use App\Http\Requests\Quote\CreateQuoteRequest;
|
||||
use App\Http\Requests\Quote\UpdateQuoteRequest;
|
||||
use App\Http\Requests\Quote\UploadQuoteRequest;
|
||||
use App\Jobs\Quote\ZipQuotes;
|
||||
use App\Models\Account;
|
||||
use App\Models\Client;
|
||||
use App\Models\Invoice;
|
||||
use App\Models\Quote;
|
||||
use App\Repositories\QuoteRepository;
|
||||
use App\Services\PdfMaker\PdfMerge;
|
||||
use App\Transformers\InvoiceTransformer;
|
||||
use App\Transformers\QuoteTransformer;
|
||||
use App\Utils\Ninja;
|
||||
use App\Utils\Traits\GeneratesCounter;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Utils\Traits\SavesDocuments;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use App\Http\Requests\Quote\DestroyQuoteRequest;
|
||||
use App\Http\Requests\Quote\BulkActionQuoteRequest;
|
||||
|
||||
/**
|
||||
* Class QuoteController.
|
||||
@ -824,6 +825,8 @@ class QuoteController extends BaseController
|
||||
|
||||
$contact = $invitation->contact;
|
||||
$quote = $invitation->quote;
|
||||
|
||||
App::setLocale($invitation->contact->preferredLocale());
|
||||
|
||||
$file = $quote->service()->getQuotePdf($contact);
|
||||
|
||||
|
@ -11,29 +11,28 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Events\RecurringInvoice\RecurringInvoiceWasCreated;
|
||||
use App\Events\RecurringInvoice\RecurringInvoiceWasUpdated;
|
||||
use App\Utils\Ninja;
|
||||
use App\Models\Account;
|
||||
use Illuminate\Http\Response;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Models\RecurringInvoice;
|
||||
use App\Utils\Traits\SavesDocuments;
|
||||
use App\Factory\RecurringInvoiceFactory;
|
||||
use App\Filters\RecurringInvoiceFilters;
|
||||
use App\Http\Requests\RecurringInvoice\ActionRecurringInvoiceRequest;
|
||||
use App\Jobs\RecurringInvoice\UpdateRecurring;
|
||||
use App\Repositories\RecurringInvoiceRepository;
|
||||
use App\Transformers\RecurringInvoiceTransformer;
|
||||
use App\Events\RecurringInvoice\RecurringInvoiceWasCreated;
|
||||
use App\Events\RecurringInvoice\RecurringInvoiceWasUpdated;
|
||||
use App\Http\Requests\RecurringInvoice\BulkRecurringInvoiceRequest;
|
||||
use App\Http\Requests\RecurringInvoice\CreateRecurringInvoiceRequest;
|
||||
use App\Http\Requests\RecurringInvoice\DestroyRecurringInvoiceRequest;
|
||||
use App\Http\Requests\RecurringInvoice\EditRecurringInvoiceRequest;
|
||||
use App\Http\Requests\RecurringInvoice\ShowRecurringInvoiceRequest;
|
||||
use App\Http\Requests\RecurringInvoice\StoreRecurringInvoiceRequest;
|
||||
use App\Http\Requests\RecurringInvoice\ActionRecurringInvoiceRequest;
|
||||
use App\Http\Requests\RecurringInvoice\CreateRecurringInvoiceRequest;
|
||||
use App\Http\Requests\RecurringInvoice\UpdateRecurringInvoiceRequest;
|
||||
use App\Http\Requests\RecurringInvoice\UploadRecurringInvoiceRequest;
|
||||
use App\Jobs\RecurringInvoice\UpdateRecurring;
|
||||
use App\Models\Account;
|
||||
use App\Models\RecurringInvoice;
|
||||
use App\Repositories\RecurringInvoiceRepository;
|
||||
use App\Transformers\RecurringInvoiceTransformer;
|
||||
use App\Utils\Ninja;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Utils\Traits\SavesDocuments;
|
||||
use Illuminate\Http\Response;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use App\Http\Requests\RecurringInvoice\DestroyRecurringInvoiceRequest;
|
||||
|
||||
/**
|
||||
* Class RecurringInvoiceController.
|
||||
@ -566,6 +565,8 @@ class RecurringInvoiceController extends BaseController
|
||||
}
|
||||
|
||||
$invoice = $invitation->recurring_invoice;
|
||||
|
||||
\Illuminate\Support\Facades\App::setLocale($invitation->contact->preferredLocale());
|
||||
|
||||
$file_name = $invoice->numberFormatter().'.pdf';
|
||||
|
||||
|
@ -53,7 +53,7 @@ class SelfUpdateController extends BaseController
|
||||
|
||||
nlog('Test filesystem is writable');
|
||||
|
||||
$this->testWritable();
|
||||
// $this->testWritable();
|
||||
|
||||
nlog('Clear cache directory');
|
||||
|
||||
|
@ -11,16 +11,17 @@
|
||||
|
||||
namespace App\Http\Controllers\VendorPortal;
|
||||
|
||||
use App\Events\Misc\InvitationWasViewed;
|
||||
use App\Events\PurchaseOrder\PurchaseOrderWasViewed;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Jobs\Vendor\CreatePurchaseOrderPdf;
|
||||
use App\Models\PurchaseOrderInvitation;
|
||||
use App\Utils\Ninja;
|
||||
use App\Utils\Traits\MakesDates;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Str;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Utils\Traits\MakesDates;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use App\Models\PurchaseOrderInvitation;
|
||||
use App\Events\Misc\InvitationWasViewed;
|
||||
use App\Jobs\Vendor\CreatePurchaseOrderPdf;
|
||||
use App\Events\PurchaseOrder\PurchaseOrderWasViewed;
|
||||
|
||||
/**
|
||||
* Class InvitationController.
|
||||
@ -89,6 +90,8 @@ class InvitationController extends Controller
|
||||
return response()->json(["message" => "no record found"], 400);
|
||||
}
|
||||
|
||||
App::setLocale($invitation->contact->preferredLocale());
|
||||
|
||||
$file_name = $invitation->purchase_order->numberFormatter().'.pdf';
|
||||
|
||||
$file = (new CreatePurchaseOrderPdf($invitation))->rawPdf();
|
||||
|
@ -20,15 +20,12 @@ use Illuminate\Support\Str;
|
||||
use App\Models\QuoteInvitation;
|
||||
use App\Utils\VendorHtmlEngine;
|
||||
use App\Models\CreditInvitation;
|
||||
use App\Services\Pdf\PdfBuilder;
|
||||
use App\Services\Pdf\PdfService;
|
||||
use App\Models\InvoiceInvitation;
|
||||
use App\Services\Pdf\PdfDesigner;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use App\Services\Pdf\PdfConfiguration;
|
||||
use App\Models\PurchaseOrderInvitation;
|
||||
use App\Models\RecurringInvoiceInvitation;
|
||||
use App\Jobs\Vendor\CreatePurchaseOrderPdf;
|
||||
use App\Services\PdfMaker\Designs\Utilities\DesignHelpers;
|
||||
|
||||
class PdfSlot extends Component
|
||||
{
|
||||
@ -52,6 +49,8 @@ class PdfSlot extends Component
|
||||
|
||||
public $show_quantity = true;
|
||||
|
||||
public $show_line_total = true;
|
||||
|
||||
public $route_entity = 'client';
|
||||
|
||||
public function mount()
|
||||
@ -104,11 +103,12 @@ class PdfSlot extends Component
|
||||
$this->settings = $this->entity->client ? $this->entity->client->getMergedSettings() : $this->entity->company->settings;
|
||||
|
||||
$this->show_cost = in_array('$product.unit_cost', $this->settings->pdf_variables->product_columns);
|
||||
$this->show_quantity = in_array('$product.quantity', $this->settings->pdf_variables->product_columns);
|
||||
$this->show_line_total = in_array('$product.line_total', $this->settings->pdf_variables->product_columns);
|
||||
|
||||
if($this->entity_type == 'quote' && !$this->settings->sync_invoice_quote_columns ){
|
||||
$this->show_cost = in_array('$product.unit_cost', $this->settings->pdf_variables->product_quote_columns);
|
||||
$this->show_quantity = in_array('$product.quantity', $this->settings->pdf_variables->product_quote_columns);
|
||||
$this->show_line_total = in_array('$product.line_total', $this->settings->pdf_variables->product_quote_columns);
|
||||
}
|
||||
|
||||
$this->html_variables = $this->entity->client ?
|
||||
@ -173,20 +173,20 @@ class PdfSlot extends Component
|
||||
|
||||
if($this->entity_type == 'invoice' || $this->entity_type == 'recurring_invoice') {
|
||||
foreach($this->settings->pdf_variables->invoice_details as $variable)
|
||||
$entity_details .= "<div class='flex px-3 block'><p class= w-36 block'>{$variable}_label</p><p class='pl-1 w-36 block entity-field'>{$variable}</p></div>";
|
||||
$entity_details .= "<div class='flex px-5 block'><p class= w-36 block'>{$variable}_label</p><p class='pl-5 w-36 block entity-field'>{$variable}</p></div>";
|
||||
|
||||
}
|
||||
elseif($this->entity_type == 'quote'){
|
||||
foreach($this->settings->pdf_variables->quote_details as $variable)
|
||||
$entity_details .= "<div class='flex px-3 block'><p class= w-36 block'>{$variable}_label</p><p class='pl-1 w-36 block entity-field'>{$variable}</p></div>";
|
||||
$entity_details .= "<div class='flex px-5 block'><p class= w-36 block'>{$variable}_label</p><p class='pl-5 w-36 block entity-field'>{$variable}</p></div>";
|
||||
}
|
||||
elseif($this->entity_type == 'credit') {
|
||||
foreach($this->settings->pdf_variables->credit_details as $variable)
|
||||
$entity_details .= "<div class='flex px-3 block'><p class= w-36 block'>{$variable}_label</p><p class='pl-1 w-36 block entity-field'>{$variable}</p></div>";
|
||||
$entity_details .= "<div class='flex px-5 block'><p class= w-36 block'>{$variable}_label</p><p class='pl-5 w-36 block entity-field'>{$variable}</p></div>";
|
||||
}
|
||||
elseif($this->entity_type == 'purchase_order'){
|
||||
foreach($this->settings->pdf_variables->purchase_order_details as $variable)
|
||||
$entity_details .= "<div class='flex px-3 block'><p class= w-36 block'>{$variable}_label</p><p class='pl-1 w-36 block entity-field'>{$variable}</p></div>";
|
||||
$entity_details .= "<div class='flex px-5 block'><p class= w-36 block'>{$variable}_label</p><p class='pl-5 w-36 block entity-field'>{$variable}</p></div>";
|
||||
}
|
||||
|
||||
return $this->convertVariables($entity_details);
|
||||
@ -229,13 +229,16 @@ class PdfSlot extends Component
|
||||
|
||||
private function getProducts()
|
||||
{
|
||||
|
||||
|
||||
|
||||
$product_items = collect($this->entity->line_items)->filter(function ($item) {
|
||||
return $item->type_id == 1 || $item->type_id == 6 || $item->type_id == 5;
|
||||
})->map(function ($item){
|
||||
return [
|
||||
'quantity' => $item->quantity,
|
||||
'cost' => Number::formatMoney($item->cost, $this->entity->client ?: $this->entity->vendor),
|
||||
'notes' => $item->notes,
|
||||
'notes' => $this->invitation->company->markdown_enabled ? DesignHelpers::parseMarkdownToHtml($item->notes) : $item->notes,
|
||||
'line_total' => Number::formatMoney($item->line_total, $this->entity->client ?: $this->entity->vendor),
|
||||
];
|
||||
});
|
||||
@ -251,7 +254,7 @@ class PdfSlot extends Component
|
||||
return [
|
||||
'quantity' => $item->quantity,
|
||||
'cost' => Number::formatMoney($item->cost, $this->entity->client ?: $this->entity->vendor),
|
||||
'notes' => $item->notes,
|
||||
'notes' => $this->invitation->company->markdown_enabled ? DesignHelpers::parseMarkdownToHtml($item->notes) : $item->notes,
|
||||
'line_total' => Number::formatMoney($item->line_total, $this->entity->client ?: $this->entity->vendor),
|
||||
];
|
||||
});
|
||||
|
@ -53,7 +53,6 @@ class SetInviteDb
|
||||
|
||||
/* Try and determine the DB from the invitation key STRING*/
|
||||
if (config('ninja.db.multi_db_enabled')) {
|
||||
// nlog("/ Try and determine the DB from the invitation key /");
|
||||
|
||||
$hashids = new Hashids(config('ninja.hash_salt'), 10);
|
||||
$segments = explode('-', $request->route('invitation_key'));
|
||||
|
@ -477,8 +477,12 @@ class BaseImport
|
||||
}
|
||||
|
||||
nlog($invoice_data);
|
||||
$saveable_invoice_data = $invoice_data;
|
||||
|
||||
if(array_key_exists('payments', $saveable_invoice_data))
|
||||
unset($saveable_invoice_data['payments']);
|
||||
|
||||
$invoice_repository->save($invoice_data, $invoice);
|
||||
$invoice_repository->save($saveable_invoice_data, $invoice);
|
||||
|
||||
$count++;
|
||||
// If we're doing a generic CSV import, only import payment data if we're not importing a payment CSV.
|
||||
@ -504,7 +508,7 @@ class BaseImport
|
||||
];
|
||||
|
||||
/* Make sure we don't apply any payments to invoices with a Zero Amount*/
|
||||
if ($invoice->amount > 0) {
|
||||
if ($invoice->amount > 0 && $payment_data['amount'] > 0) {
|
||||
|
||||
$payment = $payment_repository->save(
|
||||
$payment_data,
|
||||
|
@ -441,15 +441,15 @@ class CompanyExport implements ShouldQueue
|
||||
|
||||
$path = 'backups';
|
||||
|
||||
Storage::makeDirectory(public_path('storage/backups/'));
|
||||
Storage::makeDirectory(storage_path('backups/'));
|
||||
|
||||
try {
|
||||
mkdir(public_path('storage/backups/'));
|
||||
mkdir(storage_path('backups/'));
|
||||
} catch(\Exception $e) {
|
||||
nlog("could not create directory");
|
||||
}
|
||||
|
||||
$zip_path = public_path('storage/backups/'.$file_name);
|
||||
$zip_path = storage_path('backups/'.$file_name);
|
||||
$zip = new \ZipArchive();
|
||||
|
||||
if ($zip->open($zip_path, \ZipArchive::CREATE)!==true) {
|
||||
@ -459,14 +459,16 @@ class CompanyExport implements ShouldQueue
|
||||
$zip->addFromString("backup.json", json_encode($this->export_data));
|
||||
$zip->close();
|
||||
|
||||
if (Ninja::isHosted()) {
|
||||
Storage::disk(config('filesystems.default'))->put('backups/'.$file_name, file_get_contents($zip_path));
|
||||
}
|
||||
Storage::disk(config('filesystems.default'))->put('backups/'.$file_name, file_get_contents($zip_path));
|
||||
unlink($zip_path);
|
||||
|
||||
$storage_file_path = Storage::disk(config('filesystems.default'))->url('backups/'.$file_name);
|
||||
$storage_path = Storage::disk(config('filesystems.default'))->path('backups/'.$file_name);
|
||||
if(Ninja::isSelfHost())
|
||||
$storage_path = 'backups/'.$file_name;
|
||||
else
|
||||
$storage_path = Storage::disk(config('filesystems.default'))->path('backups/'.$file_name);
|
||||
|
||||
$url = Cache::get($this->hash);
|
||||
|
||||
Cache::put($this->hash, $storage_path, now()->addHour());
|
||||
|
||||
App::forgetInstance('translator');
|
||||
|
@ -16,6 +16,7 @@ use App\Casts\EncryptedCast;
|
||||
use App\Utils\Traits\AppSetup;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\DataMapper\CompanySettings;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Laracasts\Presenter\PresentableTrait;
|
||||
use App\Utils\Traits\CompanySettingsSaver;
|
||||
@ -686,6 +687,11 @@ class Company extends BaseModel
|
||||
return $this->getLocale();
|
||||
}
|
||||
|
||||
public function setLocale()
|
||||
{
|
||||
App::setLocale($this->getLocale());
|
||||
}
|
||||
|
||||
public function getSetting($setting)
|
||||
{
|
||||
if (property_exists($this->settings, $setting) != false) {
|
||||
|
@ -43,10 +43,14 @@ class VendorRepository extends BaseRepository
|
||||
*/
|
||||
public function save(array $data, Vendor $vendor) : ?Vendor
|
||||
{
|
||||
$vendor->fill($data);
|
||||
|
||||
nlog($data);
|
||||
|
||||
$saveable_vendor = $data;
|
||||
|
||||
if(array_key_exists('contacts', $data)) {
|
||||
unset($saveable_vendor['contacts']);
|
||||
}
|
||||
|
||||
$vendor->fill($saveable_vendor);
|
||||
|
||||
$vendor->saveQuietly();
|
||||
|
||||
if ($vendor->number == '' || ! $vendor->number) {
|
||||
|
@ -11,11 +11,11 @@
|
||||
|
||||
namespace App\Services\PurchaseOrder;
|
||||
|
||||
use App\Jobs\Vendor\CreatePurchaseOrderPdf;
|
||||
use App\Models\PurchaseOrder;
|
||||
use App\Models\VendorContact;
|
||||
use App\Services\AbstractService;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use App\Jobs\Vendor\CreatePurchaseOrderPdf;
|
||||
|
||||
class GetPurchaseOrderPdf extends AbstractService
|
||||
{
|
||||
@ -31,6 +31,7 @@ class GetPurchaseOrderPdf extends AbstractService
|
||||
|
||||
$invitation = $this->purchase_order->invitations()->where('vendor_contact_id', $this->contact->id)->first();
|
||||
|
||||
|
||||
if (! $invitation) {
|
||||
$invitation = $this->purchase_order->invitations()->first();
|
||||
}
|
||||
|
@ -130,6 +130,7 @@ class TaskTransformer extends EntityTransformer
|
||||
'status_sort_order' => (int) $task->status_sort_order, //deprecated 5.0.34
|
||||
'is_date_based' => (bool) $task->is_date_based,
|
||||
'status_order' => is_null($task->status_order) ? null : (int) $task->status_order,
|
||||
'date' => $task->calculated_start_date ?: '',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
146
composer.lock
generated
146
composer.lock
generated
@ -424,16 +424,16 @@
|
||||
},
|
||||
{
|
||||
"name": "aws/aws-sdk-php",
|
||||
"version": "3.275.7",
|
||||
"version": "3.276.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/aws/aws-sdk-php.git",
|
||||
"reference": "54dcef3349c81b46c0f5f6e54b5f9bfb5db19903"
|
||||
"reference": "78c9510280512121e8fdaa9538b744778ab48bf9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/54dcef3349c81b46c0f5f6e54b5f9bfb5db19903",
|
||||
"reference": "54dcef3349c81b46c0f5f6e54b5f9bfb5db19903",
|
||||
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/78c9510280512121e8fdaa9538b744778ab48bf9",
|
||||
"reference": "78c9510280512121e8fdaa9538b744778ab48bf9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -513,9 +513,9 @@
|
||||
"support": {
|
||||
"forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
|
||||
"issues": "https://github.com/aws/aws-sdk-php/issues",
|
||||
"source": "https://github.com/aws/aws-sdk-php/tree/3.275.7"
|
||||
"source": "https://github.com/aws/aws-sdk-php/tree/3.276.2"
|
||||
},
|
||||
"time": "2023-07-13T18:21:04+00:00"
|
||||
"time": "2023-07-20T18:16:37+00:00"
|
||||
},
|
||||
{
|
||||
"name": "bacon/bacon-qr-code",
|
||||
@ -2167,16 +2167,16 @@
|
||||
},
|
||||
{
|
||||
"name": "firebase/php-jwt",
|
||||
"version": "v6.8.0",
|
||||
"version": "v6.8.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/firebase/php-jwt.git",
|
||||
"reference": "48b0210c51718d682e53210c24d25c5a10a2299b"
|
||||
"reference": "5dbc8959427416b8ee09a100d7a8588c00fb2e26"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/firebase/php-jwt/zipball/48b0210c51718d682e53210c24d25c5a10a2299b",
|
||||
"reference": "48b0210c51718d682e53210c24d25c5a10a2299b",
|
||||
"url": "https://api.github.com/repos/firebase/php-jwt/zipball/5dbc8959427416b8ee09a100d7a8588c00fb2e26",
|
||||
"reference": "5dbc8959427416b8ee09a100d7a8588c00fb2e26",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2224,9 +2224,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/firebase/php-jwt/issues",
|
||||
"source": "https://github.com/firebase/php-jwt/tree/v6.8.0"
|
||||
"source": "https://github.com/firebase/php-jwt/tree/v6.8.1"
|
||||
},
|
||||
"time": "2023-06-20T16:45:35+00:00"
|
||||
"time": "2023-07-14T18:33:00+00:00"
|
||||
},
|
||||
{
|
||||
"name": "fruitcake/php-cors",
|
||||
@ -2485,16 +2485,16 @@
|
||||
},
|
||||
{
|
||||
"name": "google/apiclient-services",
|
||||
"version": "v0.308.0",
|
||||
"version": "v0.309.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/googleapis/google-api-php-client-services.git",
|
||||
"reference": "85cf00383e6bf6eca131bd3261b7859ea418a578"
|
||||
"reference": "562f8e5ddbca68d52afc3bf47d03839e78722026"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/85cf00383e6bf6eca131bd3261b7859ea418a578",
|
||||
"reference": "85cf00383e6bf6eca131bd3261b7859ea418a578",
|
||||
"url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/562f8e5ddbca68d52afc3bf47d03839e78722026",
|
||||
"reference": "562f8e5ddbca68d52afc3bf47d03839e78722026",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2523,9 +2523,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/googleapis/google-api-php-client-services/issues",
|
||||
"source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.308.0"
|
||||
"source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.309.0"
|
||||
},
|
||||
"time": "2023-07-09T01:06:13+00:00"
|
||||
"time": "2023-07-16T01:08:14+00:00"
|
||||
},
|
||||
{
|
||||
"name": "google/auth",
|
||||
@ -4554,16 +4554,16 @@
|
||||
},
|
||||
{
|
||||
"name": "laravel/socialite",
|
||||
"version": "v5.7.0",
|
||||
"version": "v5.8.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/socialite.git",
|
||||
"reference": "f5996f499e14db15407201a6bfbaba3ce6ce736c"
|
||||
"reference": "50148edf24b6cd3e428aa9bc06a5d915b24376bb"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/socialite/zipball/f5996f499e14db15407201a6bfbaba3ce6ce736c",
|
||||
"reference": "f5996f499e14db15407201a6bfbaba3ce6ce736c",
|
||||
"url": "https://api.github.com/repos/laravel/socialite/zipball/50148edf24b6cd3e428aa9bc06a5d915b24376bb",
|
||||
"reference": "50148edf24b6cd3e428aa9bc06a5d915b24376bb",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -4620,7 +4620,7 @@
|
||||
"issues": "https://github.com/laravel/socialite/issues",
|
||||
"source": "https://github.com/laravel/socialite"
|
||||
},
|
||||
"time": "2023-07-08T20:51:43+00:00"
|
||||
"time": "2023-07-14T14:22:58+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/tinker",
|
||||
@ -5716,16 +5716,16 @@
|
||||
},
|
||||
{
|
||||
"name": "microsoft/microsoft-graph",
|
||||
"version": "1.102.0",
|
||||
"version": "1.103.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/microsoftgraph/msgraph-sdk-php.git",
|
||||
"reference": "4b450b06ac9df3868bbdbddb31bfcc4595f643bc"
|
||||
"reference": "6e325c22145dbed4e51970ffecca4d7648c3c27e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/microsoftgraph/msgraph-sdk-php/zipball/4b450b06ac9df3868bbdbddb31bfcc4595f643bc",
|
||||
"reference": "4b450b06ac9df3868bbdbddb31bfcc4595f643bc",
|
||||
"url": "https://api.github.com/repos/microsoftgraph/msgraph-sdk-php/zipball/6e325c22145dbed4e51970ffecca4d7648c3c27e",
|
||||
"reference": "6e325c22145dbed4e51970ffecca4d7648c3c27e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -5762,22 +5762,22 @@
|
||||
"homepage": "https://developer.microsoft.com/en-us/graph",
|
||||
"support": {
|
||||
"issues": "https://github.com/microsoftgraph/msgraph-sdk-php/issues",
|
||||
"source": "https://github.com/microsoftgraph/msgraph-sdk-php/tree/1.102.0"
|
||||
"source": "https://github.com/microsoftgraph/msgraph-sdk-php/tree/1.103.0"
|
||||
},
|
||||
"time": "2023-07-05T13:07:19+00:00"
|
||||
"time": "2023-07-19T03:27:15+00:00"
|
||||
},
|
||||
{
|
||||
"name": "mollie/mollie-api-php",
|
||||
"version": "v2.58.0",
|
||||
"version": "v2.59.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/mollie/mollie-api-php.git",
|
||||
"reference": "5120e5b3e4622a290b64acf87266ea47d10d7301"
|
||||
"reference": "9834e5779c695d1cc278b2c78ee514de9434b084"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/mollie/mollie-api-php/zipball/5120e5b3e4622a290b64acf87266ea47d10d7301",
|
||||
"reference": "5120e5b3e4622a290b64acf87266ea47d10d7301",
|
||||
"url": "https://api.github.com/repos/mollie/mollie-api-php/zipball/9834e5779c695d1cc278b2c78ee514de9434b084",
|
||||
"reference": "9834e5779c695d1cc278b2c78ee514de9434b084",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -5854,9 +5854,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/mollie/mollie-api-php/issues",
|
||||
"source": "https://github.com/mollie/mollie-api-php/tree/v2.58.0"
|
||||
"source": "https://github.com/mollie/mollie-api-php/tree/v2.59.0"
|
||||
},
|
||||
"time": "2023-07-11T12:01:27+00:00"
|
||||
"time": "2023-07-18T13:41:40+00:00"
|
||||
},
|
||||
{
|
||||
"name": "moneyphp/money",
|
||||
@ -8514,16 +8514,16 @@
|
||||
},
|
||||
{
|
||||
"name": "psy/psysh",
|
||||
"version": "v0.11.18",
|
||||
"version": "v0.11.19",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/bobthecow/psysh.git",
|
||||
"reference": "4f00ee9e236fa6a48f4560d1300b9c961a70a7ec"
|
||||
"reference": "1724ceff278daeeac5a006744633bacbb2dc4706"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/bobthecow/psysh/zipball/4f00ee9e236fa6a48f4560d1300b9c961a70a7ec",
|
||||
"reference": "4f00ee9e236fa6a48f4560d1300b9c961a70a7ec",
|
||||
"url": "https://api.github.com/repos/bobthecow/psysh/zipball/1724ceff278daeeac5a006744633bacbb2dc4706",
|
||||
"reference": "1724ceff278daeeac5a006744633bacbb2dc4706",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -8584,9 +8584,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/bobthecow/psysh/issues",
|
||||
"source": "https://github.com/bobthecow/psysh/tree/v0.11.18"
|
||||
"source": "https://github.com/bobthecow/psysh/tree/v0.11.19"
|
||||
},
|
||||
"time": "2023-05-23T02:31:11+00:00"
|
||||
"time": "2023-07-15T19:42:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "pusher/pusher-php-server",
|
||||
@ -15188,16 +15188,16 @@
|
||||
},
|
||||
{
|
||||
"name": "friendsofphp/php-cs-fixer",
|
||||
"version": "v3.21.1",
|
||||
"version": "v3.22.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
|
||||
"reference": "229b55b3eae4729a8e2a321441ba40fcb3720b86"
|
||||
"reference": "92b019f6c8d79aa26349d0db7671d37440dc0ff3"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/229b55b3eae4729a8e2a321441ba40fcb3720b86",
|
||||
"reference": "229b55b3eae4729a8e2a321441ba40fcb3720b86",
|
||||
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/92b019f6c8d79aa26349d0db7671d37440dc0ff3",
|
||||
"reference": "92b019f6c8d79aa26349d0db7671d37440dc0ff3",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -15207,7 +15207,7 @@
|
||||
"doctrine/lexer": "^2 || ^3",
|
||||
"ext-json": "*",
|
||||
"ext-tokenizer": "*",
|
||||
"php": "^8.0.1",
|
||||
"php": "^7.4 || ^8.0",
|
||||
"sebastian/diff": "^4.0 || ^5.0",
|
||||
"symfony/console": "^5.4 || ^6.0",
|
||||
"symfony/event-dispatcher": "^5.4 || ^6.0",
|
||||
@ -15221,6 +15221,7 @@
|
||||
"symfony/stopwatch": "^5.4 || ^6.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"facile-it/paraunit": "^1.3 || ^2.0",
|
||||
"justinrainbow/json-schema": "^5.2",
|
||||
"keradus/cli-executor": "^2.0",
|
||||
"mikey179/vfsstream": "^1.6.11",
|
||||
@ -15272,7 +15273,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
|
||||
"source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.21.1"
|
||||
"source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.22.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -15280,7 +15281,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2023-07-05T21:50:25+00:00"
|
||||
"time": "2023-07-16T23:08:06+00:00"
|
||||
},
|
||||
{
|
||||
"name": "hamcrest/hamcrest-php",
|
||||
@ -15460,37 +15461,33 @@
|
||||
},
|
||||
{
|
||||
"name": "mockery/mockery",
|
||||
"version": "1.6.2",
|
||||
"version": "1.6.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/mockery/mockery.git",
|
||||
"reference": "13a7fa2642c76c58fa2806ef7f565344c817a191"
|
||||
"reference": "d1413755e26fe56a63455f7753221c86cbb88f66"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/mockery/mockery/zipball/13a7fa2642c76c58fa2806ef7f565344c817a191",
|
||||
"reference": "13a7fa2642c76c58fa2806ef7f565344c817a191",
|
||||
"url": "https://api.github.com/repos/mockery/mockery/zipball/d1413755e26fe56a63455f7753221c86cbb88f66",
|
||||
"reference": "d1413755e26fe56a63455f7753221c86cbb88f66",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"hamcrest/hamcrest-php": "^2.0.1",
|
||||
"lib-pcre": ">=7.0",
|
||||
"php": "^7.4 || ^8.0"
|
||||
"php": ">=7.4,<8.3"
|
||||
},
|
||||
"conflict": {
|
||||
"phpunit/phpunit": "<8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^8.5 || ^9.3",
|
||||
"psalm/plugin-phpunit": "^0.18",
|
||||
"vimeo/psalm": "^5.9"
|
||||
"psalm/plugin-phpunit": "^0.18.4",
|
||||
"symplify/easy-coding-standard": "^11.5.0",
|
||||
"vimeo/psalm": "^5.13.1"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.6.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
"library/helpers.php",
|
||||
@ -15508,12 +15505,20 @@
|
||||
{
|
||||
"name": "Pádraic Brady",
|
||||
"email": "padraic.brady@gmail.com",
|
||||
"homepage": "http://blog.astrumfutura.com"
|
||||
"homepage": "https://github.com/padraic",
|
||||
"role": "Author"
|
||||
},
|
||||
{
|
||||
"name": "Dave Marshall",
|
||||
"email": "dave.marshall@atstsolutions.co.uk",
|
||||
"homepage": "http://davedevelopment.co.uk"
|
||||
"homepage": "https://davedevelopment.co.uk",
|
||||
"role": "Developer"
|
||||
},
|
||||
{
|
||||
"name": "Nathanael Esayeas",
|
||||
"email": "nathanael.esayeas@protonmail.com",
|
||||
"homepage": "https://github.com/ghostwriter",
|
||||
"role": "Lead Developer"
|
||||
}
|
||||
],
|
||||
"description": "Mockery is a simple yet flexible PHP mock object framework",
|
||||
@ -15531,10 +15536,13 @@
|
||||
"testing"
|
||||
],
|
||||
"support": {
|
||||
"docs": "https://docs.mockery.io/",
|
||||
"issues": "https://github.com/mockery/mockery/issues",
|
||||
"source": "https://github.com/mockery/mockery/tree/1.6.2"
|
||||
"rss": "https://github.com/mockery/mockery/releases.atom",
|
||||
"security": "https://github.com/mockery/mockery/security/advisories",
|
||||
"source": "https://github.com/mockery/mockery"
|
||||
},
|
||||
"time": "2023-06-07T09:07:52+00:00"
|
||||
"time": "2023-07-19T15:51:02+00:00"
|
||||
},
|
||||
{
|
||||
"name": "myclabs/deep-copy",
|
||||
@ -16140,16 +16148,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpstan",
|
||||
"version": "1.10.25",
|
||||
"version": "1.10.26",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpstan.git",
|
||||
"reference": "578f4e70d117f9a90699324c555922800ac38d8c"
|
||||
"reference": "5d660cbb7e1b89253a47147ae44044f49832351f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/578f4e70d117f9a90699324c555922800ac38d8c",
|
||||
"reference": "578f4e70d117f9a90699324c555922800ac38d8c",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/5d660cbb7e1b89253a47147ae44044f49832351f",
|
||||
"reference": "5d660cbb7e1b89253a47147ae44044f49832351f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -16198,7 +16206,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-07-06T12:11:37+00:00"
|
||||
"time": "2023-07-19T12:44:37+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-code-coverage",
|
||||
|
@ -16,6 +16,10 @@ return new class extends Migration
|
||||
Schema::table('tasks', function (Blueprint $table) {
|
||||
$table->date('calculated_start_date')->nullable();
|
||||
});
|
||||
|
||||
Schema::table('webhooks', function (Blueprint $table){
|
||||
$table->text('target_url')->change();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -86,11 +86,16 @@ span {
|
||||
{{ $product['cost'] }}
|
||||
@endif
|
||||
</p>
|
||||
<p class="overflow-ellipsis overflow-hidden px-1 mb-2">{{ $product['notes'] }}</p>
|
||||
<p class="overflow-ellipsis overflow-hidden px-1 mb-2">{!! $product['notes'] !!}</p>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td style="text-align:right; padding-right:2px;">{{ $product['line_total'] }}</td>
|
||||
|
||||
<td style="text-align:right; padding-right:2px;">
|
||||
@if($show_line_total)
|
||||
{{ $product['line_total'] }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
@ -101,19 +106,19 @@ span {
|
||||
<div id="task-details" class="py-6 mr-3 ml-3">
|
||||
<table width="100%">
|
||||
<thead>
|
||||
<tr class="border-bottom">
|
||||
<tr class="border-b-2">
|
||||
<th style="text-align:left; width:70%; padding-left:2px;">Service</th>
|
||||
<th style="text-align:right; width:30%; padding-right:2px;">Amount</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($services as $service)
|
||||
<tr style="display: table-row;">
|
||||
<tr style="display: table-row;" class="border-b-2">
|
||||
<td>
|
||||
<div class="">
|
||||
<div class="">
|
||||
<p class="mt-2">{{ $service['quantity'] }} × {{ $service['cost'] }}</p>
|
||||
<p class="overflow-ellipsis overflow-hidden px-1 mb-2">{{ $service['notes'] }}</p>
|
||||
<p class="overflow-ellipsis overflow-hidden px-1 mb-2">{!! $service['notes'] !!}</p>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
@ -33,6 +33,8 @@ class CreditsTest extends TestCase
|
||||
use DatabaseTransactions;
|
||||
use AppSetup;
|
||||
|
||||
private $faker;
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
|
Loading…
x
Reference in New Issue
Block a user