Merge pull request #3928 from turbo124/v2

Fixes for refresh route
This commit is contained in:
David Bomba 2020-07-23 21:37:11 +10:00 committed by GitHub
commit d7c830f54b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
28 changed files with 120 additions and 23 deletions

View File

@ -148,26 +148,25 @@ class BaseController extends Controller
$query->with(
[
'company' => function ($query) use($updated_at){$query->where('updated_at', '>=', 0);},
'company.activities' => function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company' => function ($query) use($updated_at){$query->whereNotNull('updated_at');},
'company.clients' =>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.tax_rates'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.groups'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.company_gateways.gateway'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.clients.contacts'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.products'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.invoices.company'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.invoices'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.invoices.invitations.contact'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.invoices.invitations.company'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.invoices.invitations'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.invoices.documents'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.payments.paymentables'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.quotes.invitations.contact'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.quotes.invitations.company'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.quotes.invitations'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.quotes.documents'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.credits.documents'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.credits.invitations.contact'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.credits.invitations.company'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.payment_terms.company'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.credits.invitations'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.payment_terms'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.vendors.contacts'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.expenses'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
'company.tasks'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},

View File

@ -12,6 +12,7 @@
namespace App\Http\Requests\Invoice;
use App\Http\Requests\Request;
use App\Http\ValidationRules\Invoice\UniqueInvoiceNumberRule;
use App\Models\ClientContact;
use App\Models\Invoice;
use App\Utils\Traits\CleanLineItems;
@ -51,7 +52,8 @@ class StoreInvoiceRequest extends Request
$rules['invitations.*.client_contact_id'] = 'distinct';
$rules['number'] = new UniqueInvoiceNumberRule($this->all());
return $rules;
}

View File

@ -0,0 +1,70 @@
<?php
/**
* Invoice Ninja (https://invoiceninja.com)
*
* @link https://github.com/invoiceninja/invoiceninja source repository
*
* @copyright Copyright (c) 2020. Invoice Ninja LLC (https://invoiceninja.com)
*
* @license https://opensource.org/licenses/AAL
*/
namespace App\Http\ValidationRules\Invoice;
use App\Libraries\MultiDB;
use App\Models\Invoice;
use App\Models\User;
use Illuminate\Contracts\Validation\Rule;
/**
* Class UniqueInvoiceNumberRule
* @package App\Http\ValidationRules
*/
class UniqueInvoiceNumberRule implements Rule
{
public $input;
public function __construct($input)
{
$this->input = $input;
}
/**
* @param string $attribute
* @param mixed $value
* @return bool
*/
public function passes($attribute, $value)
{
return $this->checkIfInvoiceNumberUnique(); //if it exists, return false!
}
/**
* @return string
*/
public function message()
{
return "Invoice number already taken";
}
/**
* @param $email
*
* //off,when_sent,when_paid
*
* @return bool
*/
private function checkIfInvoiceNumberUnique() : bool
{
$invoice = Invoice::where('client_id', $this->input['client_id'])
->where('number', $this->input['number'])
->withTrashed()
->first();
if($invoice)
return false;
return true;
}
}

View File

@ -45,6 +45,8 @@ class CreatedCreditActivity implements ShouldQueue
$fields->credit_id = $event->credit->id;
$fields->user_id = $event->credit->user_id;
$fields->client_id = $event->credit->client_id;
$fields->company_id = $event->credit->company_id;
$fields->activity_type_id = Activity::CREATE_CREDIT;

View File

@ -44,6 +44,7 @@ class CreatedQuoteActivity implements ShouldQueue
$fields = new \stdClass;
$fields->quote_id = $event->quote->id;
$fields->client_id = $event->quote->client_id;
$fields->user_id = $event->quote->user_id;
$fields->company_id = $event->quote->company_id;
$fields->activity_type_id = Activity::CREATE_QUOTE;

View File

@ -46,7 +46,8 @@ class CreditArchivedActivity implements ShouldQueue
$fields = new \stdClass;
$fields->payment_id = $event->credit->id;
$fields->user_id = $event->credit->user_id;
$fields->client_id = $event->credit->client_id;
$fields->user_id = $event->credit->user_id;
$fields->company_id = $event->credit->company_id;
$fields->activity_type_id = Activity::ARCHIVE_CREDIT;

View File

@ -50,6 +50,7 @@ class PaymentArchivedActivity implements ShouldQueue
$fields = new \stdClass;
$fields->payment_id = $payment->id;
$fields->client_id = $payment->client_id;
$fields->user_id = $payment->user_id;
$fields->company_id = $payment->company_id;
$fields->activity_type_id = Activity::ARCHIVE_PAYMENT;

View File

@ -50,6 +50,7 @@ class PaymentCreatedActivity implements ShouldQueue
$fields = new \stdClass;
$fields->payment_id = $payment->id;
$fields->client_id = $payment->client_id;
$fields->user_id = $payment->user_id;
$fields->company_id = $payment->company_id;
$fields->activity_type_id = Activity::CREATE_PAYMENT;

View File

@ -50,6 +50,7 @@ class PaymentDeletedActivity implements ShouldQueue
$fields = new \stdClass;
$fields->payment_id = $payment->id;
$fields->client_id = $payment->client_id;
$fields->user_id = $payment->user_id;
$fields->company_id = $payment->company_id;
$fields->activity_type_id = Activity::DELETE_PAYMENT;

View File

@ -43,6 +43,7 @@ class PaymentRefundedActivity implements ShouldQueue
$fields = new \stdClass;
$fields->client_id = $event->payment->id;
$fields->client_id = $event->payment->client_id;
$fields->user_id = $event->payment->user_id;
$fields->company_id = $event->payment->company_id;
$fields->activity_type_id = Activity::REFUNDED_PAYMENT;

View File

@ -50,6 +50,7 @@ class PaymentUpdatedActivity implements ShouldQueue
$fields = new \stdClass;
$fields->payment_id = $payment->id;
$fields->client_id = $payment->client_id;
$fields->user_id = $payment->user_id;
$fields->company_id = $payment->company_id;
$fields->activity_type_id = Activity::UPDATE_PAYMENT;

View File

@ -50,7 +50,8 @@ class QuoteUpdatedActivity implements ShouldQueue
$fields = new \stdClass;
$fields->payment_id = $quote->id;
$fields->user_id = $quote->user_id;
$fields->client_id = $quote->client_id;
$fields->user_id = $quote->user_id;
$fields->company_id = $quote->company_id;
$fields->activity_type_id = Activity::UPDATE_QUOTE;

View File

@ -44,6 +44,7 @@ class UpdatedCreditActivity implements ShouldQueue
$fields = new \stdClass;
$fields->credit_id = $event->credit->id;
$fields->client_id = $event->credit->client_id;
$fields->user_id = $event->credit->user_id;
$fields->company_id = $event->credit->company_id;
$fields->activity_type_id = Activity::UPDATE_CREDIT;

View File

@ -48,6 +48,7 @@ class CreditRestoredActivity implements ShouldQueue
$fields = new \stdClass;
$fields->credit_id = $event->credit->id;
$fields->client_id = $event->credit->client_id;
$fields->user_id = $event->credit->user_id;
$fields->company_id = $event->credit->company_id;
$fields->activity_type_id = Activity::RESTORE_CREDIT;

View File

@ -47,7 +47,8 @@ class CreateInvoiceActivity implements ShouldQueue
$fields = new \stdClass;
$fields->invoice_id = $event->invoice->id;
$fields->user_id = $event->invoice->user_id;
$fields->client_id = $event->invoice->client_id;
$fields->user_id = $event->invoice->user_id;
$fields->company_id = $event->invoice->company_id;
$fields->activity_type_id = Activity::CREATE_INVOICE;

View File

@ -43,7 +43,8 @@ class CreateInvoiceHtmlBackup implements ShouldQueue
$fields = new \stdClass;
$fields->invoice_id = $event->invoice->id;
$fields->user_id = $event->invoice->user_id;
$fields->client_id = $event->invoice->client_id;
$fields->user_id = $event->invoice->user_id;
$fields->company_id = $event->invoice->company_id;
$fields->activity_type_id = Activity::MARK_SENT_INVOICE;

View File

@ -48,6 +48,7 @@ class InvoiceArchivedActivity implements ShouldQueue
$fields = new \stdClass;
$fields->invoice_id = $event->invoice->id;
$fields->client_id = $event->invoice->client_id;
$fields->user_id = $event->invoice->user_id;
$fields->company_id = $event->invoice->company_id;
$fields->activity_type_id = Activity::ARCHIVE_INVOICE;

View File

@ -48,7 +48,8 @@ class InvoiceCancelledActivity implements ShouldQueue
$fields = new \stdClass;
$fields->invoice_id = $event->invoice->id;
$fields->user_id = $event->invoice->user_id;
$fields->client_id = $event->invoice->client_id;
$fields->user_id = $event->invoice->user_id;
$fields->company_id = $event->invoice->company_id;
$fields->activity_type_id = Activity::CANCELLED_INVOICE;

View File

@ -48,7 +48,8 @@ class InvoiceDeletedActivity implements ShouldQueue
$fields = new \stdClass;
$fields->invoice_id = $event->invoice->id;
$fields->user_id = $event->invoice->user_id;
$fields->client_id = $event->invoice->client_id;
$fields->user_id = $event->invoice->user_id;
$fields->company_id = $event->invoice->company_id;
$fields->activity_type_id = Activity::DELETE_INVOICE;

View File

@ -47,7 +47,8 @@ class InvoiceEmailFailedActivity implements ShouldQueue
$fields = new \stdClass;
$fields->invoice_id = $event->invoice->id;
$fields->user_id = $event->invoice->user_id;
$fields->client_id = $event->invoice->client_id;
$fields->user_id = $event->invoice->user_id;
$fields->company_id = $event->invoice->company_id;
$fields->activity_type_id = Activity::EMAIL_INVOICE_FAILED;

View File

@ -48,7 +48,8 @@ class InvoiceRestoredActivity implements ShouldQueue
$fields = new \stdClass;
$fields->invoice_id = $event->invoice->id;
$fields->user_id = $event->invoice->user_id;
$fields->client_id = $event->invoice->client_id;
$fields->user_id = $event->invoice->user_id;
$fields->company_id = $event->invoice->company_id;
$fields->activity_type_id = Activity::RESTORE_INVOICE;

View File

@ -47,7 +47,8 @@ class InvoiceReversedActivity implements ShouldQueue
$fields = new \stdClass;
$fields->invoice_id = $event->invoice->id;
$fields->user_id = $event->invoice->user_id;
$fields->client_id = $event->invoice->client_id;
$fields->user_id = $event->invoice->user_id;
$fields->company_id = $event->invoice->company_id;
$fields->activity_type_id = Activity::REVERSED_INVOICE;

View File

@ -48,7 +48,8 @@ class PaymentRestoredActivity implements ShouldQueue
$fields = new \stdClass;
$fields->payment_id = $event->payment->id;
$fields->user_id = $event->payment->user_id;
$fields->client_id = $event->payment->client_id;
$fields->user_id = $event->payment->user_id;
$fields->company_id = $event->payment->company_id;
$fields->activity_type_id = Activity::RESTORE_PAYMENT;

View File

@ -48,7 +48,8 @@ class QuoteApprovedActivity implements ShouldQueue
$fields = new \stdClass;
$fields->quote_id = $event->quote->id;
$fields->user_id = $event->quote->user_id;
$fields->client_id = $event->quote->client_id;
$fields->user_id = $event->quote->user_id;
$fields->client_contact_id = $event->contact->id;
$fields->company_id = $event->payment->company_id;
$fields->activity_type_id = Activity::RESTORE_PAYMENT;

View File

@ -48,7 +48,8 @@ class QuoteArchivedActivity implements ShouldQueue
$fields = new \stdClass;
$fields->quote_id = $event->quote->id;
$fields->user_id = $event->quote->user_id;
$fields->client_id = $event->quote->client_id;
$fields->user_id = $event->quote->user_id;
$fields->company_id = $event->quote->company_id;
$fields->activity_type_id = Activity::ARCHIVE_QUOTE;

View File

@ -48,7 +48,8 @@ class QuoteDeletedActivity implements ShouldQueue
$fields = new \stdClass;
$fields->quote_id = $event->quote->id;
$fields->user_id = $event->quote->user_id;
$fields->client_id = $event->quote->client_id;
$fields->user_id = $event->quote->user_id;
$fields->company_id = $event->quote->company_id;
$fields->activity_type_id = Activity::DELETE_QUOTE;

View File

@ -47,7 +47,8 @@ class QuoteEmailActivity implements ShouldQueue
$fields = new \stdClass;
$fields->quote_id = $event->invitation->quote->id;
$fields->user_id = $event->invitation->quote->user_id;
$fields->client_id = $event->invitation->quote->client_id;
$fields->user_id = $event->invitation->quote->user_id;
$fields->company_id = $event->invitation->quote->company_id;
$fields->client_contact_id = $event->invitation->quote->client_contact_id;
$fields->activity_type_id = Activity::EMAIL_QUOTE;

View File

@ -48,7 +48,8 @@ class QuoteRestoredActivity implements ShouldQueue
$fields = new \stdClass;
$fields->quote_id = $event->quote->id;
$fields->user_id = $event->quote->user_id;
$fields->client_id = $event->quote->client_id;
$fields->user_id = $event->quote->user_id;
$fields->company_id = $event->quote->company_id;
$fields->activity_type_id = Activity::RESTORE_QUOTE;