mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
commit
4bfa2df1de
@ -84,6 +84,7 @@ class ClientSettings extends BaseSettings
|
||||
*/
|
||||
public static function buildClientSettings($company_settings, $client_settings)
|
||||
{
|
||||
|
||||
if (! $client_settings) {
|
||||
return $company_settings;
|
||||
}
|
||||
|
@ -28,6 +28,8 @@ class ClientExport extends BaseExport
|
||||
|
||||
private $contact_transformer;
|
||||
|
||||
public Writer $csv;
|
||||
|
||||
public string $date_key = 'created_at';
|
||||
|
||||
public array $entity_keys = [
|
||||
|
@ -29,6 +29,8 @@ class ContactExport extends BaseExport
|
||||
|
||||
private ClientContactTransformer $contact_transformer;
|
||||
|
||||
public Writer $csv;
|
||||
|
||||
public string $date_key = 'created_at';
|
||||
|
||||
public array $entity_keys = [
|
||||
|
@ -27,6 +27,8 @@ class CreditExport extends BaseExport
|
||||
|
||||
public string $date_key = 'created_at';
|
||||
|
||||
public Writer $csv;
|
||||
|
||||
public array $entity_keys = [
|
||||
'amount' => 'amount',
|
||||
'balance' => 'balance',
|
||||
|
@ -25,7 +25,9 @@ class DocumentExport extends BaseExport
|
||||
|
||||
private $entity_transformer;
|
||||
|
||||
public $date_key = 'created_at';
|
||||
public string $date_key = 'created_at';
|
||||
|
||||
public Writer $csv;
|
||||
|
||||
public array $entity_keys = [
|
||||
'record_type' => 'record_type',
|
||||
|
@ -25,7 +25,9 @@ class ExpenseExport extends BaseExport
|
||||
|
||||
private $expense_transformer;
|
||||
|
||||
public $date_key = 'date';
|
||||
public string $date_key = 'date';
|
||||
|
||||
public Writer $csv;
|
||||
|
||||
public array $entity_keys = [
|
||||
'amount' => 'amount',
|
||||
|
@ -27,6 +27,8 @@ class InvoiceExport extends BaseExport
|
||||
|
||||
public string $date_key = 'date';
|
||||
|
||||
public Writer $csv;
|
||||
|
||||
public array $entity_keys = [
|
||||
'amount' => 'amount',
|
||||
'balance' => 'balance',
|
||||
|
@ -28,6 +28,8 @@ class InvoiceItemExport extends BaseExport
|
||||
|
||||
public string $date_key = 'date';
|
||||
|
||||
public Writer $csv;
|
||||
|
||||
public array $entity_keys = [
|
||||
'amount' => 'amount',
|
||||
'balance' => 'balance',
|
||||
|
@ -27,6 +27,8 @@ class PaymentExport extends BaseExport
|
||||
|
||||
public string $date_key = 'date';
|
||||
|
||||
public Writer $csv;
|
||||
|
||||
public array $entity_keys = [
|
||||
'amount' => 'amount',
|
||||
'applied' => 'applied',
|
||||
|
@ -26,7 +26,9 @@ class ProductExport extends BaseExport
|
||||
|
||||
private $entity_transformer;
|
||||
|
||||
public $date_key = 'created_at';
|
||||
public string $date_key = 'created_at';
|
||||
|
||||
public Writer $csv;
|
||||
|
||||
public array $entity_keys = [
|
||||
'project' => 'project_id',
|
||||
|
@ -27,6 +27,8 @@ class QuoteExport extends BaseExport
|
||||
|
||||
public string $date_key = 'date';
|
||||
|
||||
public Writer $csv;
|
||||
|
||||
public array $entity_keys = [
|
||||
'amount' => 'amount',
|
||||
'balance' => 'balance',
|
||||
|
@ -27,6 +27,8 @@ class QuoteItemExport extends BaseExport
|
||||
|
||||
public string $date_key = 'date';
|
||||
|
||||
public Writer $csv;
|
||||
|
||||
public array $entity_keys = [
|
||||
'amount' => 'amount',
|
||||
'balance' => 'balance',
|
||||
|
@ -27,6 +27,8 @@ class RecurringInvoiceExport extends BaseExport
|
||||
|
||||
public string $date_key = 'date';
|
||||
|
||||
public Writer $csv;
|
||||
|
||||
public array $entity_keys = [
|
||||
'amount' => 'amount',
|
||||
'balance' => 'balance',
|
||||
|
@ -28,10 +28,12 @@ class TaskExport extends BaseExport
|
||||
|
||||
private $entity_transformer;
|
||||
|
||||
public $date_key = 'created_at';
|
||||
public string $date_key = 'created_at';
|
||||
|
||||
private string $date_format = 'YYYY-MM-DD';
|
||||
|
||||
public Writer $csv;
|
||||
|
||||
public array $entity_keys = [
|
||||
'start_date' => 'start_date',
|
||||
'end_date' => 'end_date',
|
||||
|
@ -11,26 +11,26 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Events\Credit\CreditWasEmailed;
|
||||
use App\Events\Quote\QuoteWasEmailed;
|
||||
use App\Http\Requests\Email\SendEmailRequest;
|
||||
use App\Jobs\Entity\EmailEntity;
|
||||
use App\Jobs\PurchaseOrder\PurchaseOrderEmail;
|
||||
use App\Utils\Ninja;
|
||||
use App\Models\Quote;
|
||||
use App\Models\Credit;
|
||||
use App\Models\Invoice;
|
||||
use App\Models\PurchaseOrder;
|
||||
use App\Models\Quote;
|
||||
use App\Services\Email\Email;
|
||||
use Illuminate\Http\Response;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Jobs\Entity\EmailEntity;
|
||||
use App\Models\RecurringInvoice;
|
||||
use App\Services\Email\MailEntity;
|
||||
use App\Services\Email\MailObject;
|
||||
use App\Services\Email\EmailObject;
|
||||
use App\Events\Quote\QuoteWasEmailed;
|
||||
use App\Transformers\QuoteTransformer;
|
||||
use App\Events\Credit\CreditWasEmailed;
|
||||
use App\Transformers\CreditTransformer;
|
||||
use App\Transformers\InvoiceTransformer;
|
||||
use App\Http\Requests\Email\SendEmailRequest;
|
||||
use App\Jobs\PurchaseOrder\PurchaseOrderEmail;
|
||||
use App\Transformers\PurchaseOrderTransformer;
|
||||
use App\Transformers\QuoteTransformer;
|
||||
use App\Transformers\RecurringInvoiceTransformer;
|
||||
use App\Utils\Ninja;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use Illuminate\Http\Response;
|
||||
|
||||
class EmailController extends BaseController
|
||||
{
|
||||
@ -119,7 +119,6 @@ class EmailController extends BaseController
|
||||
$entity_obj = $entity::withTrashed()->with('invitations')->find($request->input('entity_id'));
|
||||
$subject = $request->has('subject') ? $request->input('subject') : '';
|
||||
$body = $request->has('body') ? $request->input('body') : '';
|
||||
$entity_string = strtolower(class_basename($entity_obj));
|
||||
$template = str_replace('email_template_', '', $request->input('template'));
|
||||
|
||||
$data = [
|
||||
@ -127,27 +126,30 @@ class EmailController extends BaseController
|
||||
'body' => $body,
|
||||
];
|
||||
|
||||
$mo = new MailObject;
|
||||
$mo->subject = empty($subject) ? null : $subject;
|
||||
$mo->body = empty($body) ? null : $body;
|
||||
$mo->entity_string = $entity;
|
||||
$mo->email_template = $template;
|
||||
$mo = new EmailObject;
|
||||
$mo->subject = strlen($subject) > 3 ? $subject : null;
|
||||
$mo->body = strlen($body) > 3 ? $body : null;
|
||||
$mo->entity_id = $request->input('entity_id');
|
||||
$mo->template = $request->input('template'); //full template name in use
|
||||
$mo->entity_class = $this->resolveClass($entity);
|
||||
$mo->email_template_body = $request->input('template');
|
||||
$mo->email_template_subject = str_replace("template", "subject", $request->input('template'));
|
||||
|
||||
if (Ninja::isHosted() && !$entity_obj->company->account->account_sms_verified) {
|
||||
return response(['message' => 'Please verify your account to send emails.'], 400);
|
||||
}
|
||||
|
||||
if ($entity == 'purchaseOrder' || $entity == 'purchase_order' || $template == 'purchase_order' || $entity == 'App\Models\PurchaseOrder') {
|
||||
return $this->sendPurchaseOrder($entity_obj, $data, $template);
|
||||
}
|
||||
|
||||
$entity_obj->invitations->each(function ($invitation) use ($data, $entity_string, $entity_obj, $template, $mo) {
|
||||
// if ($entity == 'purchaseOrder' || $entity == 'purchase_order' || $template == 'purchase_order' || $entity == 'App\Models\PurchaseOrder') {
|
||||
// return $this->sendPurchaseOrder($entity_obj, $data, $template);
|
||||
// }
|
||||
|
||||
$entity_obj->invitations->each(function ($invitation) use ($data, $entity_obj, $template, $mo) {
|
||||
if (! $invitation->contact->trashed() && $invitation->contact->email) {
|
||||
$entity_obj->service()->markSent()->save();
|
||||
|
||||
EmailEntity::dispatch($invitation->fresh(), $invitation->company, $template, $data);
|
||||
// EmailEntity::dispatch($invitation->fresh(), $invitation->company, $template, $data);
|
||||
|
||||
$mo->invitation_id = $invitation->id;
|
||||
|
||||
Email::dispatch($mo, $invitation->company);
|
||||
|
||||
// MailEntity::dispatch($invitation, $invitation->company->db, $mo);
|
||||
}
|
||||
});
|
||||
|
||||
@ -188,6 +190,12 @@ class EmailController extends BaseController
|
||||
$this->entity_transformer = RecurringInvoiceTransformer::class;
|
||||
}
|
||||
|
||||
if($entity_obj instanceof PurchaseOrder){
|
||||
$this->entity_type = PurchaseOrder::class;
|
||||
$this->entity_transformer = PurchaseOrderTransformer::class;
|
||||
}
|
||||
|
||||
// @phpstan-ignore-next-line
|
||||
return $this->itemResponse($entity_obj->fresh());
|
||||
}
|
||||
|
||||
@ -203,4 +211,24 @@ class EmailController extends BaseController
|
||||
|
||||
return $this->itemResponse($entity_obj);
|
||||
}
|
||||
|
||||
private function resolveClass(string $entity): string
|
||||
{
|
||||
|
||||
match($entity){
|
||||
'invoice' => $class = Invoice::class,
|
||||
'App\Models\Invoice' => $class = Invoice::class,
|
||||
'credit' => $class = Credit::class,
|
||||
'App\Models\Credit' => $class = Credit::class,
|
||||
'quote' => $class = Quote::class,
|
||||
'App\Models\Quote' => $class = Quote::class,
|
||||
'purchase_order' => $class = PurchaseOrder::class,
|
||||
'purchaseOrder' => $class = PurchaseOrder::class,
|
||||
'App\Models\PurchaseOrder' => $class = PurchaseOrder::class,
|
||||
default => $class = Invoice::class,
|
||||
};
|
||||
|
||||
return $class;
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -91,7 +91,7 @@ class InvitationController extends Controller
|
||||
|
||||
$file_name = $invitation->purchase_order->numberFormatter().'.pdf';
|
||||
|
||||
$file = (new CreatePurchaseOrderPdf($invitation))->handle();
|
||||
$file = (new CreatePurchaseOrderPdf($invitation))->rawPdf();
|
||||
|
||||
$headers = ['Content-Type' => 'application/pdf'];
|
||||
|
||||
|
@ -22,7 +22,7 @@ use Livewire\Component;
|
||||
class SubscriptionPlanSwitch extends Component
|
||||
{
|
||||
/**
|
||||
* @var RecurringInvoice
|
||||
* @var \App\Models\RecurringInvoice
|
||||
*/
|
||||
public $recurring_invoice;
|
||||
|
||||
|
@ -12,13 +12,16 @@
|
||||
namespace App\Http\Requests\Email;
|
||||
|
||||
use App\Http\Requests\Request;
|
||||
use App\Utils\Ninja;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use Illuminate\Auth\Access\AuthorizationException;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
class SendEmailRequest extends Request
|
||||
{
|
||||
use MakesHash;
|
||||
|
||||
private string $error_message = '';
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*
|
||||
@ -78,7 +81,14 @@ class SendEmailRequest extends Request
|
||||
private function checkUserAbleToSend()
|
||||
{
|
||||
$input = $this->all();
|
||||
|
||||
|
||||
if (Ninja::isHosted() && !auth()->user()->account->account_sms_verified) {
|
||||
$this->error_message = ctrans('texts.authorization_sms_failure');
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/*Make sure we have all the require ingredients to send a template*/
|
||||
if (array_key_exists('entity', $input) && array_key_exists('entity_id', $input) && is_string($input['entity']) && $input['entity_id']) {
|
||||
$company = auth()->user()->company();
|
||||
@ -96,4 +106,9 @@ class SendEmailRequest extends Request
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
protected function failedAuthorization()
|
||||
{
|
||||
throw new AuthorizationException($this->error_message);
|
||||
}
|
||||
}
|
||||
|
@ -56,8 +56,8 @@ class GenericReportRequest extends Request
|
||||
$input['start_date'] = null;
|
||||
$input['end_date'] = null;
|
||||
}
|
||||
nlog($input);
|
||||
|
||||
$this->replace($input);
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -48,10 +48,8 @@ class CreateUbl implements ShouldQueue
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute the job.
|
||||
*
|
||||
*
|
||||
* @return void
|
||||
* Execute the job
|
||||
* @return ?string
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
|
@ -27,6 +27,111 @@ use Illuminate\Support\Facades\App;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Laracasts\Presenter\PresentableTrait;
|
||||
|
||||
/**
|
||||
* App\Models\Account
|
||||
*
|
||||
* @property int $id
|
||||
* @property string|null $plan
|
||||
* @property string|null $plan_term
|
||||
* @property string|null $plan_started
|
||||
* @property string|null $plan_paid
|
||||
* @property string|null $plan_expires
|
||||
* @property string|null $user_agent
|
||||
* @property string|null $key
|
||||
* @property int|null $payment_id
|
||||
* @property int $default_company_id
|
||||
* @property string|null $trial_started
|
||||
* @property string|null $trial_plan
|
||||
* @property string|null $plan_price
|
||||
* @property int $num_users
|
||||
* @property string|null $utm_source
|
||||
* @property string|null $utm_medium
|
||||
* @property string|null $utm_campaign
|
||||
* @property string|null $utm_term
|
||||
* @property string|null $utm_content
|
||||
* @property string $latest_version
|
||||
* @property int $report_errors
|
||||
* @property string|null $referral_code
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int $is_scheduler_running
|
||||
* @property int|null $trial_duration
|
||||
* @property int $is_onboarding
|
||||
* @property object|null $onboarding
|
||||
* @property int $is_migrated
|
||||
* @property string|null $platform
|
||||
* @property int|null $hosted_client_count
|
||||
* @property int|null $hosted_company_count
|
||||
* @property string|null $inapp_transaction_id
|
||||
* @property bool $set_react_as_default_ap
|
||||
* @property int $is_flagged
|
||||
* @property int $is_verified_account
|
||||
* @property string|null $account_sms_verification_code
|
||||
* @property string|null $account_sms_verification_number
|
||||
* @property int $account_sms_verified
|
||||
* @property string|null $bank_integration_account_id
|
||||
* @property int $is_trial
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\BankIntegration> $bank_integrations
|
||||
* @property-read int|null $bank_integrations_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Company> $companies
|
||||
* @property-read int|null $companies_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyUser> $company_users
|
||||
* @property-read int|null $company_users_count
|
||||
* @property-read \App\Models\Company|null $default_company
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \App\Models\Payment|null $payment
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\User> $users
|
||||
* @property-read int|null $users_count
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\AccountFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereAccountSmsVerificationCode($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereAccountSmsVerificationNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereAccountSmsVerified($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereBankIntegrationAccountId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereDefaultCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereHostedClientCount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereHostedCompanyCount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereInappTransactionId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereIsFlagged($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereIsMigrated($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereIsOnboarding($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereIsSchedulerRunning($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereIsTrial($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereIsVerifiedAccount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereKey($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereLatestVersion($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereNumUsers($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereOnboarding($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account wherePaymentId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account wherePlan($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account wherePlanExpires($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account wherePlanPaid($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account wherePlanPrice($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account wherePlanStarted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account wherePlanTerm($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account wherePlatform($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereReferralCode($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereReportErrors($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereSetReactAsDefaultAp($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereTrialDuration($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereTrialPlan($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereTrialStarted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereUserAgent($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereUtmCampaign($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereUtmContent($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereUtmMedium($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereUtmSource($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Account whereUtmTerm($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Account extends BaseModel
|
||||
{
|
||||
use PresentableTrait;
|
||||
|
@ -13,6 +13,91 @@ namespace App\Models;
|
||||
|
||||
use App\Utils\Traits\MakesHash;
|
||||
|
||||
/**
|
||||
* App\Models\Activity
|
||||
*
|
||||
* @property int $id
|
||||
* @property int|null $user_id
|
||||
* @property int $company_id
|
||||
* @property int|null $client_id
|
||||
* @property int|null $client_contact_id
|
||||
* @property int|null $account_id
|
||||
* @property int|null $project_id
|
||||
* @property int|null $vendor_id
|
||||
* @property int|null $payment_id
|
||||
* @property int|null $invoice_id
|
||||
* @property int|null $credit_id
|
||||
* @property int|null $invitation_id
|
||||
* @property int|null $task_id
|
||||
* @property int|null $expense_id
|
||||
* @property int|null $activity_type_id
|
||||
* @property string $ip
|
||||
* @property bool $is_system
|
||||
* @property string $notes
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $token_id
|
||||
* @property int|null $quote_id
|
||||
* @property int|null $subscription_id
|
||||
* @property int|null $recurring_invoice_id
|
||||
* @property int|null $recurring_expense_id
|
||||
* @property int|null $recurring_quote_id
|
||||
* @property int|null $purchase_order_id
|
||||
* @property int|null $vendor_contact_id
|
||||
* @property-read \App\Models\Backup|null $backup
|
||||
* @property-read \App\Models\Client|null $client
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \App\Models\ClientContact|null $contact
|
||||
* @property-read \App\Models\Credit|null $credit
|
||||
* @property-read \App\Models\Expense|null $expense
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \App\Models\Backup|null $history
|
||||
* @property-read \App\Models\Invoice|null $invoice
|
||||
* @property-read \App\Models\Payment|null $payment
|
||||
* @property-read \App\Models\PurchaseOrder|null $purchase_order
|
||||
* @property-read \App\Models\Quote|null $quote
|
||||
* @property-read \App\Models\RecurringExpense|null $recurring_expense
|
||||
* @property-read \App\Models\RecurringInvoice|null $recurring_invoice
|
||||
* @property-read \App\Models\Subscription|null $subscription
|
||||
* @property-read \App\Models\Task|null $task
|
||||
* @property-read \App\Models\User|null $user
|
||||
* @property-read \App\Models\Vendor|null $vendor
|
||||
* @property-read \App\Models\VendorContact|null $vendor_contact
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereAccountId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereActivityTypeId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereClientContactId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereClientId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereCreditId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereExpenseId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereInvitationId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereInvoiceId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereIp($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereIsSystem($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity wherePaymentId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereProjectId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity wherePurchaseOrderId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereQuoteId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereRecurringExpenseId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereRecurringInvoiceId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereRecurringQuoteId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereSubscriptionId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereTaskId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereTokenId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereVendorContactId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Activity whereVendorId($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Activity extends StaticModel
|
||||
{
|
||||
use MakesHash;
|
||||
|
@ -13,6 +13,35 @@ namespace App\Models;
|
||||
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
/**
|
||||
* App\Models\Backup
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $activity_id
|
||||
* @property string|null $json_backup
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property string $amount
|
||||
* @property string|null $filename
|
||||
* @property string|null $disk
|
||||
* @property-read \App\Models\Activity $activity
|
||||
* @property-read mixed $hashed_id
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Backup newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Backup newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Backup query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Backup whereActivityId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Backup whereAmount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Backup whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Backup whereDisk($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Backup whereFilename($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Backup whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Backup whereJsonBackup($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Backup whereUpdatedAt($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Backup extends BaseModel
|
||||
{
|
||||
public function getEntityType()
|
||||
|
@ -13,6 +13,23 @@ namespace App\Models;
|
||||
|
||||
/**
|
||||
* Class Bank.
|
||||
*
|
||||
* @property int $id
|
||||
* @property string|null $name
|
||||
* @property string|null $remote_id
|
||||
* @property int $bank_library_id
|
||||
* @property string|null $config
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Bank newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Bank newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Bank query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Bank whereBankLibraryId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Bank whereConfig($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Bank whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Bank whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Bank whereRemoteId($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Bank extends StaticModel
|
||||
{
|
||||
|
@ -18,6 +18,21 @@ use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* Class BankAccount.
|
||||
*
|
||||
* @property-read \App\Models\Bank|null $bank
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\BankSubaccount> $bank_subaccounts
|
||||
* @property-read int|null $bank_subaccounts_count
|
||||
* @property-read mixed $hashed_id
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankAccount newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankAccount newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankAccount onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankAccount query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankAccount withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankAccount withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class BankAccount extends BaseModel
|
||||
{
|
||||
|
@ -13,6 +13,70 @@ namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* App\Models\BankIntegration
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $account_id
|
||||
* @property int $company_id
|
||||
* @property int $user_id
|
||||
* @property string $provider_name
|
||||
* @property int $provider_id
|
||||
* @property int $bank_account_id
|
||||
* @property string|null $bank_account_name
|
||||
* @property string|null $bank_account_number
|
||||
* @property string|null $bank_account_status
|
||||
* @property string|null $bank_account_type
|
||||
* @property string $balance
|
||||
* @property string|null $currency
|
||||
* @property string $nickname
|
||||
* @property string|null $from_date
|
||||
* @property int $is_deleted
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property int $disabled_upstream
|
||||
* @property int $auto_sync
|
||||
* @property-read \App\Models\Account $account
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\BankTransaction> $transactions
|
||||
* @property-read int|null $transactions_count
|
||||
* @property-read \App\Models\User $user
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\BankIntegrationFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration whereAccountId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration whereAutoSync($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration whereBalance($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration whereBankAccountId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration whereBankAccountName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration whereBankAccountNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration whereBankAccountStatus($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration whereBankAccountType($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration whereCurrency($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration whereDisabledUpstream($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration whereFromDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration whereNickname($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration whereProviderId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration whereProviderName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class BankIntegration extends BaseModel
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
@ -16,6 +16,19 @@ use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* Class BankSubaccount.
|
||||
*
|
||||
* @property-read \App\Models\BankAccount|null $bank_account
|
||||
* @property-read mixed $hashed_id
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankSubaccount newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankSubaccount newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankSubaccount onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankSubaccount query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankSubaccount withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankSubaccount withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class BankSubaccount extends BaseModel
|
||||
{
|
||||
|
@ -15,6 +15,80 @@ use App\Services\Bank\BankService;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* App\Models\BankTransaction
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $company_id
|
||||
* @property int $user_id
|
||||
* @property int $bank_integration_id
|
||||
* @property int $transaction_id
|
||||
* @property string $amount
|
||||
* @property string|null $currency_code
|
||||
* @property int|null $currency_id
|
||||
* @property string|null $account_type
|
||||
* @property int|null $category_id
|
||||
* @property int|null $ninja_category_id
|
||||
* @property string $category_type
|
||||
* @property string $base_type
|
||||
* @property string|null $date
|
||||
* @property int $bank_account_id
|
||||
* @property string|null $description
|
||||
* @property string $invoice_ids
|
||||
* @property int|null $expense_id
|
||||
* @property int|null $vendor_id
|
||||
* @property int $status_id
|
||||
* @property int $is_deleted
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property int|null $bank_transaction_rule_id
|
||||
* @property int|null $payment_id
|
||||
* @property-read \App\Models\BankIntegration $bank_integration
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \App\Models\Expense|null $expense
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \App\Models\User $user
|
||||
* @property-read \App\Models\Vendor|null $vendor
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\BankTransactionFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereAccountType($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereAmount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereBankAccountId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereBankIntegrationId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereBankTransactionRuleId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereBaseType($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereCategoryId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereCategoryType($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereCurrencyCode($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereCurrencyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereDescription($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereExpenseId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereInvoiceIds($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereNinjaCategoryId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction wherePaymentId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereStatusId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereTransactionId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction whereVendorId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransaction withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class BankTransaction extends BaseModel
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
@ -13,6 +13,58 @@ namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* App\Models\BankTransactionRule
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $company_id
|
||||
* @property int $user_id
|
||||
* @property string $name
|
||||
* @property array|null $rules
|
||||
* @property int $auto_convert
|
||||
* @property int $matches_on_all
|
||||
* @property string $applies_to
|
||||
* @property int|null $client_id
|
||||
* @property int|null $vendor_id
|
||||
* @property int|null $category_id
|
||||
* @property int $is_deleted
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property-read \App\Models\Client|null $client
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \App\Models\ExpenseCategory|null $expense_category
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \App\Models\User $user
|
||||
* @property-read \App\Models\Vendor|null $vendor
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\BankTransactionRuleFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransactionRule filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransactionRule newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransactionRule newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransactionRule onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransactionRule query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransactionRule whereAppliesTo($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransactionRule whereAutoConvert($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransactionRule whereCategoryId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransactionRule whereClientId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransactionRule whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransactionRule whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransactionRule whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransactionRule whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransactionRule whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransactionRule whereMatchesOnAll($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransactionRule whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransactionRule whereRules($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransactionRule whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransactionRule whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransactionRule whereVendorId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransactionRule withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankTransactionRule withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class BankTransactionRule extends BaseModel
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
@ -26,8 +26,14 @@ use Illuminate\Support\Str;
|
||||
* Class BaseModel
|
||||
*
|
||||
* @method scope() static
|
||||
*
|
||||
* @package App\Models
|
||||
* @property-read mixed $hashed_id
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel query()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class BaseModel extends Model
|
||||
{
|
||||
|
@ -27,6 +27,147 @@ use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Laracasts\Presenter\PresentableTrait;
|
||||
|
||||
/**
|
||||
* App\Models\Client
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $company_id
|
||||
* @property int $user_id
|
||||
* @property int|null $assigned_user_id
|
||||
* @property string|null $name
|
||||
* @property string|null $website
|
||||
* @property string|null $private_notes
|
||||
* @property string|null $public_notes
|
||||
* @property string|null $client_hash
|
||||
* @property string|null $logo
|
||||
* @property string|null $phone
|
||||
* @property string $balance
|
||||
* @property string $paid_to_date
|
||||
* @property string $credit_balance
|
||||
* @property int|null $last_login
|
||||
* @property int|null $industry_id
|
||||
* @property int|null $size_id
|
||||
* @property string|null $address1
|
||||
* @property string|null $address2
|
||||
* @property string|null $city
|
||||
* @property string|null $state
|
||||
* @property string|null $postal_code
|
||||
* @property string|null $country_id
|
||||
* @property string|null $custom_value1
|
||||
* @property string|null $custom_value2
|
||||
* @property string|null $custom_value3
|
||||
* @property string|null $custom_value4
|
||||
* @property string|null $shipping_address1
|
||||
* @property string|null $shipping_address2
|
||||
* @property string|null $shipping_city
|
||||
* @property string|null $shipping_state
|
||||
* @property string|null $shipping_postal_code
|
||||
* @property int|null $shipping_country_id
|
||||
* @property object|null $settings
|
||||
* @property bool $is_deleted
|
||||
* @property int|null $group_settings_id
|
||||
* @property string|null $vat_number
|
||||
* @property string|null $number
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property string|null $id_number
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $activities
|
||||
* @property-read int|null $activities_count
|
||||
* @property-read \App\Models\User|null $assigned_user
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $company_ledger
|
||||
* @property-read int|null $company_ledger_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $contacts
|
||||
* @property-read int|null $contacts_count
|
||||
* @property-read \App\Models\Country|null $country
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Credit> $credits
|
||||
* @property-read int|null $credits_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read int|null $documents_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Expense> $expenses
|
||||
* @property-read int|null $expenses_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientGatewayToken> $gateway_tokens
|
||||
* @property-read int|null $gateway_tokens_count
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \App\Models\GroupSetting|null $group_settings
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Invoice> $invoices
|
||||
* @property-read int|null $invoices_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $ledger
|
||||
* @property-read int|null $ledger_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Payment> $payments
|
||||
* @property-read int|null $payments_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $primary_contact
|
||||
* @property-read int|null $primary_contact_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Project> $projects
|
||||
* @property-read int|null $projects_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Quote> $quotes
|
||||
* @property-read int|null $quotes_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringExpense> $recurring_expenses
|
||||
* @property-read int|null $recurring_expenses_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringInvoice> $recurring_invoices
|
||||
* @property-read int|null $recurring_invoices_count
|
||||
* @property-read \App\Models\Country|null $shipping_country
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\SystemLog> $system_logs
|
||||
* @property-read int|null $system_logs_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Task> $tasks
|
||||
* @property-read int|null $tasks_count
|
||||
* @property-read \App\Models\User $user
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client exclude($columns)
|
||||
* @method static \Database\Factories\ClientFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereAddress1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereAddress2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereAssignedUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereBalance($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereCity($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereClientHash($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereCountryId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereCreditBalance($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereCustomValue1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereCustomValue2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereCustomValue3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereCustomValue4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereGroupSettingsId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereIdNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereIndustryId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereLastLogin($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereLogo($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client wherePaidToDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client wherePhone($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client wherePostalCode($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client wherePrivateNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client wherePublicNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereSettings($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereShippingAddress1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereShippingAddress2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereShippingCity($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereShippingCountryId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereShippingPostalCode($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereShippingState($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereSizeId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereState($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereVatNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereWebsite($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Client extends BaseModel implements HasLocalePreference
|
||||
{
|
||||
use PresentableTrait;
|
||||
|
@ -32,6 +32,98 @@ use Laracasts\Presenter\PresentableTrait;
|
||||
* Class ClientContact
|
||||
*
|
||||
* @method scope() static
|
||||
* @property int $id
|
||||
* @property int $company_id
|
||||
* @property int $client_id
|
||||
* @property int $user_id
|
||||
* @property string|null $first_name
|
||||
* @property string|null $last_name
|
||||
* @property string|null $phone
|
||||
* @property string|null $custom_value1
|
||||
* @property string|null $custom_value2
|
||||
* @property string|null $custom_value3
|
||||
* @property string|null $custom_value4
|
||||
* @property string|null $email
|
||||
* @property string|null $email_verified_at
|
||||
* @property string|null $confirmation_code
|
||||
* @property int $is_primary
|
||||
* @property int $confirmed
|
||||
* @property int|null $last_login
|
||||
* @property int|null $failed_logins
|
||||
* @property string|null $oauth_user_id
|
||||
* @property int|null $oauth_provider_id
|
||||
* @property string|null $google_2fa_secret
|
||||
* @property string|null $accepted_terms_version
|
||||
* @property string|null $avatar
|
||||
* @property string|null $avatar_type
|
||||
* @property string|null $avatar_size
|
||||
* @property string $password
|
||||
* @property string|null $token
|
||||
* @property int $is_locked
|
||||
* @property int $send_email
|
||||
* @property string|null $contact_key
|
||||
* @property string|null $remember_token
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property-read \App\Models\Client $client
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CreditInvitation> $credit_invitations
|
||||
* @property-read int|null $credit_invitations_count
|
||||
* @property-read mixed $contact_id
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\InvoiceInvitation> $invoice_invitations
|
||||
* @property-read int|null $invoice_invitations_count
|
||||
* @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications
|
||||
* @property-read int|null $notifications_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\QuoteInvitation> $quote_invitations
|
||||
* @property-read int|null $quote_invitations_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringInvoiceInvitation> $recurring_invoice_invitations
|
||||
* @property-read int|null $recurring_invoice_invitations_count
|
||||
* @property-read \App\Models\User $user
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact company()
|
||||
* @method static \Database\Factories\ClientContactFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereAcceptedTermsVersion($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereAvatar($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereAvatarSize($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereAvatarType($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereClientId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereConfirmationCode($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereConfirmed($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereContactKey($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereCustomValue1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereCustomValue2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereCustomValue3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereCustomValue4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereEmail($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereEmailVerifiedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereFailedLogins($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereFirstName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereGoogle2faSecret($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereIsLocked($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereIsPrimary($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereLastLogin($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereLastName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereOauthProviderId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereOauthUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact wherePassword($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact wherePhone($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereRememberToken($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereSendEmail($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereToken($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientContact withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class ClientContact extends Authenticatable implements HasLocalePreference
|
||||
{
|
||||
|
@ -14,6 +14,54 @@ namespace App\Models;
|
||||
use App\Utils\Traits\MakesDates;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* App\Models\ClientGatewayToken
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $company_id
|
||||
* @property int|null $client_id
|
||||
* @property string|null $token
|
||||
* @property string|null $routing_number
|
||||
* @property int $company_gateway_id
|
||||
* @property string|null $gateway_customer_reference
|
||||
* @property int $gateway_type_id
|
||||
* @property int $is_default
|
||||
* @property object|null $meta
|
||||
* @property int|null $deleted_at
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int $is_deleted
|
||||
* @property-read \App\Models\Client|null $client
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \App\Models\CompanyGateway|null $gateway
|
||||
* @property-read \App\Models\GatewayType|null $gateway_type
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \App\Models\User $user
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientGatewayToken newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientGatewayToken newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientGatewayToken onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientGatewayToken query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientGatewayToken whereClientId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientGatewayToken whereCompanyGatewayId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientGatewayToken whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientGatewayToken whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientGatewayToken whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientGatewayToken whereGatewayCustomerReference($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientGatewayToken whereGatewayTypeId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientGatewayToken whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientGatewayToken whereIsDefault($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientGatewayToken whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientGatewayToken whereMeta($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientGatewayToken whereRoutingNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientGatewayToken whereToken($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientGatewayToken whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientGatewayToken withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ClientGatewayToken withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class ClientGatewayToken extends BaseModel
|
||||
{
|
||||
use MakesDates;
|
||||
|
@ -25,6 +25,265 @@ use Illuminate\Notifications\Notification;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Laracasts\Presenter\PresentableTrait;
|
||||
|
||||
/**
|
||||
* App\Models\Company
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $account_id
|
||||
* @property int|null $industry_id
|
||||
* @property string|null $ip
|
||||
* @property string $company_key
|
||||
* @property int $convert_products
|
||||
* @property int $fill_products
|
||||
* @property int $update_products
|
||||
* @property int $show_product_details
|
||||
* @property int $client_can_register
|
||||
* @property int $custom_surcharge_taxes1
|
||||
* @property int $custom_surcharge_taxes2
|
||||
* @property int $custom_surcharge_taxes3
|
||||
* @property int $custom_surcharge_taxes4
|
||||
* @property int $show_product_cost
|
||||
* @property int $enabled_tax_rates
|
||||
* @property int $enabled_modules
|
||||
* @property int $enable_product_cost
|
||||
* @property int $enable_product_quantity
|
||||
* @property int $default_quantity
|
||||
* @property string|null $subdomain
|
||||
* @property string|null $db
|
||||
* @property int|null $size_id
|
||||
* @property string|null $first_day_of_week
|
||||
* @property string|null $first_month_of_year
|
||||
* @property string $portal_mode
|
||||
* @property string|null $portal_domain
|
||||
* @property int $enable_modules
|
||||
* @property object $custom_fields
|
||||
* @property object $settings
|
||||
* @property string $slack_webhook_url
|
||||
* @property string $google_analytics_key
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int $enabled_item_tax_rates
|
||||
* @property int $is_large
|
||||
* @property int $enable_shop_api
|
||||
* @property string $default_auto_bill
|
||||
* @property int $mark_expenses_invoiceable
|
||||
* @property int $mark_expenses_paid
|
||||
* @property int $invoice_expense_documents
|
||||
* @property int $auto_start_tasks
|
||||
* @property int $invoice_task_timelog
|
||||
* @property int $invoice_task_documents
|
||||
* @property int $show_tasks_table
|
||||
* @property int $is_disabled
|
||||
* @property int $default_task_is_date_based
|
||||
* @property int $enable_product_discount
|
||||
* @property int $calculate_expense_tax_by_amount
|
||||
* @property int $expense_inclusive_taxes
|
||||
* @property int $session_timeout
|
||||
* @property int $oauth_password_required
|
||||
* @property int $invoice_task_datelog
|
||||
* @property int $default_password_timeout
|
||||
* @property int $show_task_end_date
|
||||
* @property int $markdown_enabled
|
||||
* @property int $use_comma_as_decimal_place
|
||||
* @property int $report_include_drafts
|
||||
* @property array|null $client_registration_fields
|
||||
* @property int $convert_rate_to_client
|
||||
* @property int $markdown_email_enabled
|
||||
* @property int $stop_on_unpaid_recurring
|
||||
* @property int $use_quote_terms_on_conversion
|
||||
* @property int $enable_applying_payments
|
||||
* @property int $track_inventory
|
||||
* @property int $inventory_notification_threshold
|
||||
* @property int $stock_notification
|
||||
* @property string|null $matomo_url
|
||||
* @property int|null $matomo_id
|
||||
* @property int $enabled_expense_tax_rates
|
||||
* @property int $invoice_task_project
|
||||
* @property int $report_include_deleted
|
||||
* @property int $invoice_task_lock
|
||||
* @property int $convert_payment_currency
|
||||
* @property int $convert_expense_currency
|
||||
* @property int $notify_vendor_when_paid
|
||||
* @property int $invoice_task_hours
|
||||
* @property-read \App\Models\Account $account
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $activities
|
||||
* @property-read int|null $activities_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $all_activities
|
||||
* @property-read int|null $all_activities_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $all_documents
|
||||
* @property-read int|null $all_documents_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\BankIntegration> $bank_integrations
|
||||
* @property-read int|null $bank_integrations_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\BankTransactionRule> $bank_transaction_rules
|
||||
* @property-read int|null $bank_transaction_rules_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\BankTransaction> $bank_transactions
|
||||
* @property-read int|null $bank_transactions_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $client_contacts
|
||||
* @property-read int|null $client_contacts_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientGatewayToken> $client_gateway_tokens
|
||||
* @property-read int|null $client_gateway_tokens_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Client> $clients
|
||||
* @property-read int|null $clients_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyGateway> $company_gateways
|
||||
* @property-read int|null $company_gateways_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyUser> $company_users
|
||||
* @property-read int|null $company_users_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $contacts
|
||||
* @property-read int|null $contacts_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Credit> $credits
|
||||
* @property-read int|null $credits_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Design> $designs
|
||||
* @property-read int|null $designs_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read int|null $documents_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ExpenseCategory> $expense_categories
|
||||
* @property-read int|null $expense_categories_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Expense> $expenses
|
||||
* @property-read int|null $expenses_count
|
||||
* @property-read mixed $company_id
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\GroupSetting> $group_settings
|
||||
* @property-read int|null $group_settings_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\GroupSetting> $groups
|
||||
* @property-read int|null $groups_count
|
||||
* @property-read \App\Models\Industry|null $industry
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Invoice> $invoices
|
||||
* @property-read int|null $invoices_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $ledger
|
||||
* @property-read int|null $ledger_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\PaymentTerm> $payment_terms
|
||||
* @property-read int|null $payment_terms_count
|
||||
* @property-read \App\Models\PaymentType|null $payment_type
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Payment> $payments
|
||||
* @property-read int|null $payments_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Product> $products
|
||||
* @property-read int|null $products_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Project> $projects
|
||||
* @property-read int|null $projects_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\PurchaseOrder> $purchase_orders
|
||||
* @property-read int|null $purchase_orders_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Quote> $quotes
|
||||
* @property-read int|null $quotes_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringExpense> $recurring_expenses
|
||||
* @property-read int|null $recurring_expenses_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringInvoice> $recurring_invoices
|
||||
* @property-read int|null $recurring_invoices_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Scheduler> $schedulers
|
||||
* @property-read int|null $schedulers_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Subscription> $subscriptions
|
||||
* @property-read int|null $subscriptions_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\SystemLog> $system_log_relation
|
||||
* @property-read int|null $system_log_relation_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\SystemLog> $system_logs
|
||||
* @property-read int|null $system_logs_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Scheduler> $task_schedulers
|
||||
* @property-read int|null $task_schedulers_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\TaskStatus> $task_statuses
|
||||
* @property-read int|null $task_statuses_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Task> $tasks
|
||||
* @property-read int|null $tasks_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\TaxRate> $tax_rates
|
||||
* @property-read int|null $tax_rates_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyToken> $tokens
|
||||
* @property-read int|null $tokens_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyToken> $tokens_hashed
|
||||
* @property-read int|null $tokens_hashed_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Design> $user_designs
|
||||
* @property-read int|null $user_designs_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\PaymentTerm> $user_payment_terms
|
||||
* @property-read int|null $user_payment_terms_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\User> $users
|
||||
* @property-read int|null $users_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Vendor> $vendors
|
||||
* @property-read int|null $vendors_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Webhook> $webhooks
|
||||
* @property-read int|null $webhooks_count
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\CompanyFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereAccountId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereAutoStartTasks($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereCalculateExpenseTaxByAmount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereClientCanRegister($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereClientRegistrationFields($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereCompanyKey($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereConvertExpenseCurrency($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereConvertPaymentCurrency($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereConvertProducts($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereConvertRateToClient($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereCustomFields($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereCustomSurchargeTaxes1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereCustomSurchargeTaxes2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereCustomSurchargeTaxes3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereCustomSurchargeTaxes4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereDb($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereDefaultAutoBill($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereDefaultPasswordTimeout($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereDefaultQuantity($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereDefaultTaskIsDateBased($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereEnableApplyingPayments($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereEnableModules($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereEnableProductCost($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereEnableProductDiscount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereEnableProductQuantity($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereEnableShopApi($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereEnabledExpenseTaxRates($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereEnabledItemTaxRates($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereEnabledModules($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereEnabledTaxRates($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereExpenseInclusiveTaxes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereFillProducts($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereFirstDayOfWeek($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereFirstMonthOfYear($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereGoogleAnalyticsKey($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereIndustryId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereInventoryNotificationThreshold($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereInvoiceExpenseDocuments($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereInvoiceTaskDatelog($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereInvoiceTaskDocuments($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereInvoiceTaskHours($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereInvoiceTaskLock($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereInvoiceTaskProject($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereInvoiceTaskTimelog($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereIp($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereIsDisabled($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereIsLarge($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereMarkExpensesInvoiceable($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereMarkExpensesPaid($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereMarkdownEmailEnabled($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereMarkdownEnabled($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereMatomoId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereMatomoUrl($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereNotifyVendorWhenPaid($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereOauthPasswordRequired($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company wherePortalDomain($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company wherePortalMode($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereReportIncludeDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereReportIncludeDrafts($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereSessionTimeout($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereSettings($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereShowProductCost($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereShowProductDetails($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereShowTaskEndDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereShowTasksTable($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereSizeId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereSlackWebhookUrl($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereStockNotification($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereStopOnUnpaidRecurring($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereSubdomain($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereTrackInventory($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereUpdateProducts($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereUseCommaAsDecimalPlace($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Company whereUseQuoteTermsOnConversion($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Company extends BaseModel
|
||||
{
|
||||
use PresentableTrait;
|
||||
@ -151,6 +410,7 @@ class Company extends BaseModel
|
||||
self::ENTITY_RECURRING_INVOICE => 1,
|
||||
self::ENTITY_CREDIT => 2,
|
||||
self::ENTITY_QUOTE => 4,
|
||||
// @phpstan-ignore-next-line
|
||||
self::ENTITY_TASK => 8,
|
||||
self::ENTITY_EXPENSE => 16,
|
||||
self::ENTITY_PROJECT => 32,
|
||||
@ -368,9 +628,6 @@ class Company extends BaseModel
|
||||
return $this->hasMany(Product::class)->withTrashed();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return BelongsTo
|
||||
*/
|
||||
public function country()
|
||||
{
|
||||
$companies = Cache::get('countries');
|
||||
@ -429,9 +686,6 @@ class Company extends BaseModel
|
||||
return $this->hasMany(PaymentTerm::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return BelongsTo
|
||||
*/
|
||||
public function language()
|
||||
{
|
||||
$languages = Cache::get('languages');
|
||||
|
@ -14,6 +14,86 @@ namespace App\Models;
|
||||
use App\Utils\Number;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* App\Models\CompanyGateway
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $company_id
|
||||
* @property int $user_id
|
||||
* @property string $gateway_key
|
||||
* @property int $accepted_credit_cards
|
||||
* @property int $require_cvv
|
||||
* @property int|null $require_billing_address
|
||||
* @property int|null $require_shipping_address
|
||||
* @property int|null $update_details
|
||||
* @property int $is_deleted
|
||||
* @property string $config
|
||||
* @property object $fees_and_limits
|
||||
* @property string|null $custom_value1
|
||||
* @property string|null $custom_value2
|
||||
* @property string|null $custom_value3
|
||||
* @property string|null $custom_value4
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property string $token_billing
|
||||
* @property string|null $label
|
||||
* @property int $require_client_name
|
||||
* @property int $require_postal_code
|
||||
* @property int $require_client_phone
|
||||
* @property int $require_contact_name
|
||||
* @property int $require_contact_email
|
||||
* @property int $require_custom_value1
|
||||
* @property int $require_custom_value2
|
||||
* @property int $require_custom_value3
|
||||
* @property int $require_custom_value4
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientGatewayToken> $client_gateway_tokens
|
||||
* @property-read int|null $client_gateway_tokens_count
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \App\Models\Gateway $gateway
|
||||
* @property-read mixed $hashed_id
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereAcceptedCreditCards($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereConfig($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereCustomValue1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereCustomValue2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereCustomValue3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereCustomValue4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereFeesAndLimits($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereGatewayKey($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereLabel($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereRequireBillingAddress($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereRequireClientName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereRequireClientPhone($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereRequireContactEmail($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereRequireContactName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereRequireCustomValue1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereRequireCustomValue2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereRequireCustomValue3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereRequireCustomValue4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereRequireCvv($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereRequirePostalCode($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereRequireShippingAddress($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereTokenBilling($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereUpdateDetails($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyGateway withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class CompanyGateway extends BaseModel
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
@ -13,6 +13,44 @@ namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
/**
|
||||
* App\Models\CompanyLedger
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $company_id
|
||||
* @property int|null $client_id
|
||||
* @property int|null $user_id
|
||||
* @property int|null $activity_id
|
||||
* @property string|null $adjustment
|
||||
* @property string|null $balance
|
||||
* @property string|null $notes
|
||||
* @property string|null $hash
|
||||
* @property int $company_ledgerable_id
|
||||
* @property string $company_ledgerable_type
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property-read \App\Models\Client|null $client
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read Model|\Eloquent $company_ledgerable
|
||||
* @property-read \App\Models\User|null $user
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyLedger newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyLedger newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyLedger query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyLedger whereActivityId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyLedger whereAdjustment($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyLedger whereBalance($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyLedger whereClientId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyLedger whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyLedger whereCompanyLedgerableId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyLedger whereCompanyLedgerableType($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyLedger whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyLedger whereHash($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyLedger whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyLedger whereNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyLedger whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyLedger whereUserId($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class CompanyLedger extends Model
|
||||
{
|
||||
protected $dateFormat = 'Y-m-d H:i:s.u';
|
||||
|
@ -13,6 +13,49 @@ namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* App\Models\CompanyToken
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $company_id
|
||||
* @property int $account_id
|
||||
* @property int $user_id
|
||||
* @property string|null $token
|
||||
* @property string|null $name
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property int $is_deleted
|
||||
* @property int $is_system
|
||||
* @property-read \App\Models\Account $account
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \App\Models\CompanyUser|null $company_user
|
||||
* @property-read \App\Models\CompanyUser|null $cu
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \App\Models\User $user
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyToken filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyToken newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyToken newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyToken onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyToken query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyToken whereAccountId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyToken whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyToken whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyToken whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyToken whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyToken whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyToken whereIsSystem($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyToken whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyToken whereToken($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyToken whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyToken whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyToken withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyToken withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class CompanyToken extends BaseModel
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
@ -14,6 +14,61 @@ namespace App\Models;
|
||||
use Illuminate\Database\Eloquent\Relations\Pivot;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* App\Models\CompanyUser
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $company_id
|
||||
* @property int $account_id
|
||||
* @property int $user_id
|
||||
* @property string|null $permissions
|
||||
* @property object|null $notifications
|
||||
* @property object|null $settings
|
||||
* @property string $slack_webhook_url
|
||||
* @property int $is_owner
|
||||
* @property int $is_admin
|
||||
* @property int $is_locked
|
||||
* @property int|null $deleted_at
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int $permissions_updated_at
|
||||
* @property string $ninja_portal_url
|
||||
* @property string|null $react_settings
|
||||
* @property-read \App\Models\Account $account
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyToken> $token
|
||||
* @property-read int|null $token_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyToken> $tokens
|
||||
* @property-read int|null $tokens_count
|
||||
* @property-read \App\Models\User $user
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\User> $users
|
||||
* @property-read int|null $users_count
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser authCompany()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereAccountId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereIsAdmin($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereIsLocked($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereIsOwner($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereNinjaPortalUrl($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereNotifications($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser wherePermissions($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser wherePermissionsUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereReactSettings($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereSettings($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereSlackWebhookUrl($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class CompanyUser extends Pivot
|
||||
{
|
||||
use SoftDeletes;
|
||||
@ -74,7 +129,7 @@ class CompanyUser extends Pivot
|
||||
{
|
||||
return $this->hasOne(User::class)->withPivot('permissions', 'settings', 'react_settings', 'is_admin', 'is_owner', 'is_locked', 'slack_webhook_url', 'migrating');
|
||||
}
|
||||
|
||||
|
||||
public function company_pivot()
|
||||
{
|
||||
return $this->hasOne(Company::class)->withPivot('permissions', 'settings', 'react_settings', 'is_admin', 'is_owner', 'is_locked', 'slack_webhook_url', 'migrating');
|
||||
|
@ -11,6 +11,52 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
/**
|
||||
* App\Models\Country
|
||||
*
|
||||
* @property int $id
|
||||
* @property string|null $capital
|
||||
* @property string|null $citizenship
|
||||
* @property string|null $country_code
|
||||
* @property string|null $currency
|
||||
* @property string|null $currency_code
|
||||
* @property string|null $currency_sub_unit
|
||||
* @property string|null $full_name
|
||||
* @property string|null $iso_3166_2
|
||||
* @property string|null $iso_3166_3
|
||||
* @property string|null $name
|
||||
* @property string|null $region_code
|
||||
* @property string|null $sub_region_code
|
||||
* @property bool $eea
|
||||
* @property bool $swap_postal_code
|
||||
* @property bool $swap_currency_symbol
|
||||
* @property string|null $thousand_separator
|
||||
* @property string|null $decimal_separator
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Country newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Country newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Country query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Country whereCapital($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Country whereCitizenship($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Country whereCountryCode($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Country whereCurrency($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Country whereCurrencyCode($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Country whereCurrencySubUnit($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Country whereDecimalSeparator($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Country whereEea($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Country whereFullName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Country whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Country whereIso31662($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Country whereIso31663($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Country whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Country whereRegionCode($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Country whereSubRegionCode($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Country whereSwapCurrencySymbol($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Country whereSwapPostalCode($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Country whereThousandSeparator($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Country extends StaticModel
|
||||
{
|
||||
public $timestamps = false;
|
||||
|
@ -27,6 +27,166 @@ use Illuminate\Support\Carbon;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Laracasts\Presenter\PresentableTrait;
|
||||
|
||||
/**
|
||||
* App\Models\Credit
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $client_id
|
||||
* @property int $user_id
|
||||
* @property int|null $assigned_user_id
|
||||
* @property int $company_id
|
||||
* @property int $status_id
|
||||
* @property int|null $project_id
|
||||
* @property int|null $vendor_id
|
||||
* @property int|null $recurring_id
|
||||
* @property int|null $design_id
|
||||
* @property int|null $invoice_id
|
||||
* @property string|null $number
|
||||
* @property float $discount
|
||||
* @property bool $is_amount_discount
|
||||
* @property string|null $po_number
|
||||
* @property string|null $date
|
||||
* @property string|null $last_sent_date
|
||||
* @property string|null $due_date
|
||||
* @property int $is_deleted
|
||||
* @property object|null $line_items
|
||||
* @property object|null $backup
|
||||
* @property string|null $footer
|
||||
* @property string|null $public_notes
|
||||
* @property string|null $private_notes
|
||||
* @property string|null $terms
|
||||
* @property string|null $tax_name1
|
||||
* @property string $tax_rate1
|
||||
* @property string|null $tax_name2
|
||||
* @property string $tax_rate2
|
||||
* @property string|null $tax_name3
|
||||
* @property string $tax_rate3
|
||||
* @property string $total_taxes
|
||||
* @property int $uses_inclusive_taxes
|
||||
* @property string|null $custom_value1
|
||||
* @property string|null $custom_value2
|
||||
* @property string|null $custom_value3
|
||||
* @property string|null $custom_value4
|
||||
* @property string|null $next_send_date
|
||||
* @property string|null $custom_surcharge1
|
||||
* @property string|null $custom_surcharge2
|
||||
* @property string|null $custom_surcharge3
|
||||
* @property string|null $custom_surcharge4
|
||||
* @property int $custom_surcharge_tax1
|
||||
* @property int $custom_surcharge_tax2
|
||||
* @property int $custom_surcharge_tax3
|
||||
* @property int $custom_surcharge_tax4
|
||||
* @property string $exchange_rate
|
||||
* @property string $amount
|
||||
* @property string $balance
|
||||
* @property string|null $partial
|
||||
* @property string|null $partial_due_date
|
||||
* @property string|null $last_viewed
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property string|null $reminder1_sent
|
||||
* @property string|null $reminder2_sent
|
||||
* @property string|null $reminder3_sent
|
||||
* @property string|null $reminder_last_sent
|
||||
* @property string $paid_to_date
|
||||
* @property int|null $subscription_id
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $activities
|
||||
* @property-read int|null $activities_count
|
||||
* @property-read \App\Models\User|null $assigned_user
|
||||
* @property-read \App\Models\Client $client
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $company_ledger
|
||||
* @property-read int|null $company_ledger_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read int|null $documents_count
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Backup> $history
|
||||
* @property-read int|null $history_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CreditInvitation> $invitations
|
||||
* @property-read int|null $invitations_count
|
||||
* @property-read \App\Models\Invoice|null $invoice
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Invoice> $invoices
|
||||
* @property-read int|null $invoices_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Payment> $payments
|
||||
* @property-read int|null $payments_count
|
||||
* @property-read \App\Models\Project|null $project
|
||||
* @property-read \App\Models\User $user
|
||||
* @property-read \App\Models\Vendor|null $vendor
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\CreditFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereAmount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereAssignedUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereBackup($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereBalance($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereClientId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereCustomSurcharge1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereCustomSurcharge2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereCustomSurcharge3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereCustomSurcharge4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereCustomSurchargeTax1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereCustomSurchargeTax2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereCustomSurchargeTax3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereCustomSurchargeTax4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereCustomValue1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereCustomValue2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereCustomValue3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereCustomValue4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereDesignId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereDiscount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereDueDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereExchangeRate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereFooter($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereInvoiceId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereIsAmountDiscount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereLastSentDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereLastViewed($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereLineItems($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereNextSendDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit wherePaidToDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit wherePartial($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit wherePartialDueDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit wherePoNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit wherePrivateNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereProjectId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit wherePublicNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereRecurringId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereReminder1Sent($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereReminder2Sent($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereReminder3Sent($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereReminderLastSent($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereStatusId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereSubscriptionId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereTaxName1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereTaxName2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereTaxName3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereTaxRate1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereTaxRate2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereTaxRate3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereTerms($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereTotalTaxes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereUsesInclusiveTaxes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit whereVendorId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Credit withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Credit extends BaseModel
|
||||
{
|
||||
use MakesHash;
|
||||
|
@ -19,6 +19,64 @@ use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Illuminate\Support\Carbon;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
/**
|
||||
* App\Models\CreditInvitation
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $company_id
|
||||
* @property int $user_id
|
||||
* @property int $client_contact_id
|
||||
* @property int $credit_id
|
||||
* @property string $key
|
||||
* @property string|null $transaction_reference
|
||||
* @property string|null $message_id
|
||||
* @property string|null $email_error
|
||||
* @property string|null $signature_base64
|
||||
* @property string|null $signature_date
|
||||
* @property string|null $sent_date
|
||||
* @property string|null $viewed_date
|
||||
* @property string|null $opened_date
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property string|null $signature_ip
|
||||
* @property string|null $email_status
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \App\Models\ClientContact $contact
|
||||
* @property-read \App\Models\Credit $credit
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \App\Models\User $user
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\CreditInvitationFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation whereClientContactId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation whereCreditId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation whereEmailError($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation whereEmailStatus($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation whereKey($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation whereMessageId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation whereOpenedDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation whereSentDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation whereSignatureBase64($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation whereSignatureDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation whereSignatureIp($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation whereTransactionReference($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation whereViewedDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|CreditInvitation withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class CreditInvitation extends BaseModel
|
||||
{
|
||||
use MakesDates;
|
||||
|
@ -11,6 +11,34 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
/**
|
||||
* App\Models\Currency
|
||||
*
|
||||
* @property int $id
|
||||
* @property string $name
|
||||
* @property string $symbol
|
||||
* @property int $precision
|
||||
* @property string $thousand_separator
|
||||
* @property string $decimal_separator
|
||||
* @property string $code
|
||||
* @property bool $swap_currency_symbol
|
||||
* @property float $exchange_rate
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Currency newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Currency newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Currency query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Currency whereCode($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Currency whereDecimalSeparator($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Currency whereExchangeRate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Currency whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Currency whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Currency wherePrecision($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Currency whereSwapCurrencySymbol($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Currency whereSymbol($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Currency whereThousandSeparator($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Currency extends StaticModel
|
||||
{
|
||||
public $timestamps = false;
|
||||
|
@ -4,6 +4,21 @@ namespace App\Models;
|
||||
|
||||
/**
|
||||
* Class DateFormat.
|
||||
*
|
||||
* @property int $id
|
||||
* @property string $format
|
||||
* @property string $format_moment
|
||||
* @property string $format_dart
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|DateFormat newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|DateFormat newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|DateFormat query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|DateFormat whereFormat($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|DateFormat whereFormatDart($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|DateFormat whereFormatMoment($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|DateFormat whereId($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class DateFormat extends StaticModel
|
||||
{
|
||||
|
@ -4,6 +4,21 @@ namespace App\Models;
|
||||
|
||||
/**
|
||||
* Class DatetimeFormat.
|
||||
*
|
||||
* @property int $id
|
||||
* @property string $format
|
||||
* @property string $format_moment
|
||||
* @property string $format_dart
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|DatetimeFormat newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|DatetimeFormat newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|DatetimeFormat query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|DatetimeFormat whereFormat($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|DatetimeFormat whereFormatDart($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|DatetimeFormat whereFormatMoment($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|DatetimeFormat whereId($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class DatetimeFormat extends StaticModel
|
||||
{
|
||||
|
@ -13,6 +13,45 @@ namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* App\Models\Design
|
||||
*
|
||||
* @property int $id
|
||||
* @property int|null $user_id
|
||||
* @property int|null $company_id
|
||||
* @property string $name
|
||||
* @property int $is_custom
|
||||
* @property int $is_active
|
||||
* @property object|null $design
|
||||
* @property int $is_deleted
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property-read \App\Models\Company|null $company
|
||||
* @property-read mixed $hashed_id
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Design filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Design newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Design newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Design onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Design query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Design whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Design whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Design whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Design whereDesign($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Design whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Design whereIsActive($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Design whereIsCustom($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Design whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Design whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Design whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Design whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Design withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Design withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Design extends BaseModel
|
||||
{
|
||||
use Filterable;
|
||||
|
@ -15,6 +15,77 @@ use App\Helpers\Document\WithTypeHelpers;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
/**
|
||||
* App\Models\Document
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $user_id
|
||||
* @property int|null $assigned_user_id
|
||||
* @property int $company_id
|
||||
* @property int|null $project_id
|
||||
* @property int|null $vendor_id
|
||||
* @property string|null $url
|
||||
* @property string|null $preview
|
||||
* @property string|null $name
|
||||
* @property string|null $type
|
||||
* @property string|null $disk
|
||||
* @property string|null $hash
|
||||
* @property int|null $size
|
||||
* @property int|null $width
|
||||
* @property int|null $height
|
||||
* @property int $is_default
|
||||
* @property string|null $custom_value1
|
||||
* @property string|null $custom_value2
|
||||
* @property string|null $custom_value3
|
||||
* @property string|null $custom_value4
|
||||
* @property int|null $deleted_at
|
||||
* @property int $documentable_id
|
||||
* @property string $documentable_type
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int $is_public
|
||||
* @property-read \Illuminate\Database\Eloquent\Model|\Eloquent $documentable
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \App\Models\User $user
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\DocumentFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereAssignedUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereCustomValue1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereCustomValue2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereCustomValue3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereCustomValue4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereDisk($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereDocumentableId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereDocumentableType($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereHash($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereHeight($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereIsDefault($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereIsPublic($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document wherePreview($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereProjectId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereSize($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereType($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereUrl($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereVendorId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document whereWidth($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Document withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Document extends BaseModel
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
@ -13,6 +13,125 @@ namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* App\Models\Expense
|
||||
*
|
||||
* @property int $id
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property int $company_id
|
||||
* @property int|null $vendor_id
|
||||
* @property int $user_id
|
||||
* @property int|null $assigned_user_id
|
||||
* @property int|null $invoice_id
|
||||
* @property int|null $client_id
|
||||
* @property int|null $bank_id
|
||||
* @property int|null $invoice_currency_id
|
||||
* @property int|null $currency_id
|
||||
* @property int|null $category_id
|
||||
* @property int|null $payment_type_id
|
||||
* @property int|null $recurring_expense_id
|
||||
* @property bool $is_deleted
|
||||
* @property string $amount
|
||||
* @property string $foreign_amount
|
||||
* @property string $exchange_rate
|
||||
* @property string|null $tax_name1
|
||||
* @property string $tax_rate1
|
||||
* @property string|null $tax_name2
|
||||
* @property string $tax_rate2
|
||||
* @property string|null $tax_name3
|
||||
* @property string $tax_rate3
|
||||
* @property string|null $date
|
||||
* @property string|null $payment_date
|
||||
* @property string|null $private_notes
|
||||
* @property string|null $public_notes
|
||||
* @property string|null $transaction_reference
|
||||
* @property int $should_be_invoiced
|
||||
* @property int $invoice_documents
|
||||
* @property int|null $transaction_id
|
||||
* @property string|null $custom_value1
|
||||
* @property string|null $custom_value2
|
||||
* @property string|null $custom_value3
|
||||
* @property string|null $custom_value4
|
||||
* @property string|null $number
|
||||
* @property int|null $project_id
|
||||
* @property string $tax_amount1
|
||||
* @property string $tax_amount2
|
||||
* @property string $tax_amount3
|
||||
* @property int $uses_inclusive_taxes
|
||||
* @property int $calculate_tax_by_amount
|
||||
* @property-read \App\Models\User|null $assigned_user
|
||||
* @property-read \App\Models\ExpenseCategory|null $category
|
||||
* @property-read \App\Models\Client|null $client
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \App\Models\Currency|null $currency
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read int|null $documents_count
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \App\Models\PaymentType|null $payment_type
|
||||
* @property-read \App\Models\Project|null $project
|
||||
* @property-read \App\Models\PurchaseOrder|null $purchase_order
|
||||
* @property-read \App\Models\User $user
|
||||
* @property-read \App\Models\Vendor|null $vendor
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\ExpenseFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereAmount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereAssignedUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereBankId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereCalculateTaxByAmount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereCategoryId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereClientId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereCurrencyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereCustomValue1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereCustomValue2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereCustomValue3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereCustomValue4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereExchangeRate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereForeignAmount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereInvoiceCurrencyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereInvoiceDocuments($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereInvoiceId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense wherePaymentDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense wherePaymentTypeId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense wherePrivateNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereProjectId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense wherePublicNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereRecurringExpenseId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereShouldBeInvoiced($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereTaxAmount1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereTaxAmount2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereTaxAmount3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereTaxName1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereTaxName2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereTaxName3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereTaxRate1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereTaxRate2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereTaxRate3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereTransactionId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereTransactionReference($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereUsesInclusiveTaxes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense whereVendorId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Expense withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Expense extends BaseModel
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
@ -14,6 +14,44 @@ namespace App\Models;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* App\Models\ExpenseCategory
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $user_id
|
||||
* @property int $company_id
|
||||
* @property string|null $name
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property int $is_deleted
|
||||
* @property string $color
|
||||
* @property int|null $bank_category_id
|
||||
* @property-read \App\Models\Expense|null $expense
|
||||
* @property-read mixed $hashed_id
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\ExpenseCategoryFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereBankCategoryId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereColor($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class ExpenseCategory extends BaseModel
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
@ -11,6 +11,43 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
/**
|
||||
* App\Models\Gateway
|
||||
*
|
||||
* @property int $id
|
||||
* @property string $name
|
||||
* @property string $key
|
||||
* @property string $provider
|
||||
* @property bool $visible
|
||||
* @property int $sort_order
|
||||
* @property string|null $site_url
|
||||
* @property bool $is_offsite
|
||||
* @property bool $is_secure
|
||||
* @property object|null $fields
|
||||
* @property string $default_gateway_type_id
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property-read mixed $options
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Gateway newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Gateway newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Gateway query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereDefaultGatewayTypeId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereFields($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereIsOffsite($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereIsSecure($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereKey($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereProvider($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereSiteUrl($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereSortOrder($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereVisible($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Gateway extends StaticModel
|
||||
{
|
||||
protected $casts = [
|
||||
|
@ -11,6 +11,25 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
/**
|
||||
* App\Models\GatewayType
|
||||
*
|
||||
* @property int $id
|
||||
* @property string|null $alias
|
||||
* @property string|null $name
|
||||
* @property-read \App\Models\Gateway|null $gateway
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\PaymentType> $payment_methods
|
||||
* @property-read int|null $payment_methods_count
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GatewayType newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GatewayType newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GatewayType query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GatewayType whereAlias($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GatewayType whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GatewayType whereName($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class GatewayType extends StaticModel
|
||||
{
|
||||
public $timestamps = false;
|
||||
|
@ -16,6 +16,46 @@ use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\ModelNotFoundException as ModelNotFoundException;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* App\Models\GroupSetting
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $company_id
|
||||
* @property int|null $user_id
|
||||
* @property string|null $name
|
||||
* @property object|null $settings
|
||||
* @property int $is_default
|
||||
* @property int|null $deleted_at
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int $is_deleted
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Client> $clients
|
||||
* @property-read int|null $clients_count
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read int|null $documents_count
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \App\Models\User|null $user
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GroupSetting newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GroupSetting newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GroupSetting onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GroupSetting query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GroupSetting whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GroupSetting whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GroupSetting whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GroupSetting whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GroupSetting whereIsDefault($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GroupSetting whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GroupSetting whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GroupSetting whereSettings($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GroupSetting whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GroupSetting whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GroupSetting withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GroupSetting withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class GroupSetting extends StaticModel
|
||||
{
|
||||
use MakesHash;
|
||||
|
@ -11,6 +11,20 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
/**
|
||||
* App\Models\Industry
|
||||
*
|
||||
* @property int $id
|
||||
* @property string $name
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Industry newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Industry newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Industry query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Industry whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Industry whereName($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Industry extends StaticModel
|
||||
{
|
||||
public $timestamps = false;
|
||||
|
@ -30,6 +30,181 @@ use Illuminate\Support\Carbon;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Laracasts\Presenter\PresentableTrait;
|
||||
|
||||
/**
|
||||
* App\Models\Invoice
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $client_id
|
||||
* @property int $user_id
|
||||
* @property int|null $assigned_user_id
|
||||
* @property int $company_id
|
||||
* @property int $status_id
|
||||
* @property int|null $project_id
|
||||
* @property int|null $vendor_id
|
||||
* @property int|null $recurring_id
|
||||
* @property int|null $design_id
|
||||
* @property string|null $number
|
||||
* @property float $discount
|
||||
* @property bool $is_amount_discount
|
||||
* @property string|null $po_number
|
||||
* @property string|null $date
|
||||
* @property string|null $last_sent_date
|
||||
* @property string|null $due_date
|
||||
* @property bool $is_deleted
|
||||
* @property object|null $line_items
|
||||
* @property object|null $backup
|
||||
* @property string|null $footer
|
||||
* @property string|null $public_notes
|
||||
* @property string|null $private_notes
|
||||
* @property string|null $terms
|
||||
* @property string|null $tax_name1
|
||||
* @property string $tax_rate1
|
||||
* @property string|null $tax_name2
|
||||
* @property string $tax_rate2
|
||||
* @property string|null $tax_name3
|
||||
* @property string $tax_rate3
|
||||
* @property string $total_taxes
|
||||
* @property int $uses_inclusive_taxes
|
||||
* @property string|null $custom_value1
|
||||
* @property string|null $custom_value2
|
||||
* @property string|null $custom_value3
|
||||
* @property string|null $custom_value4
|
||||
* @property string|null $next_send_date
|
||||
* @property string|null $custom_surcharge1
|
||||
* @property string|null $custom_surcharge2
|
||||
* @property string|null $custom_surcharge3
|
||||
* @property string|null $custom_surcharge4
|
||||
* @property int $custom_surcharge_tax1
|
||||
* @property int $custom_surcharge_tax2
|
||||
* @property int $custom_surcharge_tax3
|
||||
* @property int $custom_surcharge_tax4
|
||||
* @property string $exchange_rate
|
||||
* @property string $amount
|
||||
* @property string $balance
|
||||
* @property string|null $partial
|
||||
* @property string|null $partial_due_date
|
||||
* @property string|null $last_viewed
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property string|null $reminder1_sent
|
||||
* @property string|null $reminder2_sent
|
||||
* @property string|null $reminder3_sent
|
||||
* @property string|null $reminder_last_sent
|
||||
* @property int $auto_bill_enabled
|
||||
* @property string $paid_to_date
|
||||
* @property int|null $subscription_id
|
||||
* @property int $auto_bill_tries
|
||||
* @property int $is_proforma
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $activities
|
||||
* @property-read int|null $activities_count
|
||||
* @property-read \App\Models\User|null $assigned_user
|
||||
* @property-read \App\Models\Client $client
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $company_ledger
|
||||
* @property-read int|null $company_ledger_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Credit> $credits
|
||||
* @property-read int|null $credits_count
|
||||
* @property-read \App\Models\Design|null $design
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read int|null $documents_count
|
||||
* @property-read \App\Models\Expense|null $expense
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Expense> $expenses
|
||||
* @property-read int|null $expenses_count
|
||||
* @property-read mixed $balance_due
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read mixed $status
|
||||
* @property-read mixed $total
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Backup> $history
|
||||
* @property-read int|null $history_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\InvoiceInvitation> $invitations
|
||||
* @property-read int|null $invitations_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Payment> $payments
|
||||
* @property-read int|null $payments_count
|
||||
* @property-read \App\Models\Project|null $project
|
||||
* @property-read \App\Models\RecurringInvoice|null $recurring_invoice
|
||||
* @property-read \App\Models\Subscription|null $subscription
|
||||
* @property-read \App\Models\Task|null $task
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Task> $tasks
|
||||
* @property-read int|null $tasks_count
|
||||
* @property-read \App\Models\User $user
|
||||
* @property-read \App\Models\Vendor|null $vendor
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\InvoiceFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereAmount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereAssignedUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereAutoBillEnabled($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereAutoBillTries($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereBackup($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereBalance($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereClientId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCustomSurcharge1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCustomSurcharge2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCustomSurcharge3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCustomSurcharge4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCustomSurchargeTax1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCustomSurchargeTax2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCustomSurchargeTax3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCustomSurchargeTax4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCustomValue1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCustomValue2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCustomValue3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCustomValue4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereDesignId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereDiscount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereDueDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereExchangeRate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereFooter($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereIsAmountDiscount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereIsProforma($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereLastSentDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereLastViewed($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereLineItems($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereNextSendDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice wherePaidToDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice wherePartial($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice wherePartialDueDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice wherePoNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice wherePrivateNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereProjectId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice wherePublicNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereRecurringId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereReminder1Sent($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereReminder2Sent($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereReminder3Sent($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereReminderLastSent($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereStatusId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereSubscriptionId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereTaxName1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereTaxName2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereTaxName3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereTaxRate1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereTaxRate2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereTaxRate3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereTerms($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereTotalTaxes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereUsesInclusiveTaxes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice whereVendorId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Invoice withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Invoice extends BaseModel
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
@ -21,6 +21,64 @@ use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Illuminate\Support\Carbon;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
/**
|
||||
* App\Models\InvoiceInvitation
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $company_id
|
||||
* @property int $user_id
|
||||
* @property int $client_contact_id
|
||||
* @property int $invoice_id
|
||||
* @property string $key
|
||||
* @property string|null $transaction_reference
|
||||
* @property string|null $message_id
|
||||
* @property string|null $email_error
|
||||
* @property string|null $signature_base64
|
||||
* @property string|null $signature_date
|
||||
* @property string|null $sent_date
|
||||
* @property string|null $viewed_date
|
||||
* @property string|null $opened_date
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property string|null $signature_ip
|
||||
* @property string|null $email_status
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \App\Models\ClientContact $contact
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \App\Models\Invoice $invoice
|
||||
* @property-read \App\Models\User $user
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\InvoiceInvitationFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation whereClientContactId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation whereEmailError($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation whereEmailStatus($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation whereInvoiceId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation whereKey($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation whereMessageId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation whereOpenedDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation whereSentDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation whereSignatureBase64($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation whereSignatureDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation whereSignatureIp($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation whereTransactionReference($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation whereViewedDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class InvoiceInvitation extends BaseModel
|
||||
{
|
||||
use MakesDates;
|
||||
|
@ -11,6 +11,22 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
/**
|
||||
* App\Models\Language
|
||||
*
|
||||
* @property int $id
|
||||
* @property string $name
|
||||
* @property string $locale
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Language newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Language newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Language query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Language whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Language whereLocale($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Language whereName($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Language extends StaticModel
|
||||
{
|
||||
public $timestamps = false;
|
||||
|
@ -23,6 +23,117 @@ use App\Utils\Traits\MakesHash;
|
||||
use App\Utils\Traits\Payment\Refundable;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* App\Models\Payment
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $company_id
|
||||
* @property int $client_id
|
||||
* @property int|null $project_id
|
||||
* @property int|null $vendor_id
|
||||
* @property int|null $user_id
|
||||
* @property int|null $assigned_user_id
|
||||
* @property int|null $client_contact_id
|
||||
* @property int|null $invitation_id
|
||||
* @property int|null $company_gateway_id
|
||||
* @property int|null $gateway_type_id
|
||||
* @property int|null $type_id
|
||||
* @property int $status_id
|
||||
* @property string $amount
|
||||
* @property string $refunded
|
||||
* @property string $applied
|
||||
* @property string|null $date
|
||||
* @property string|null $transaction_reference
|
||||
* @property string|null $payer_id
|
||||
* @property string|null $number
|
||||
* @property string|null $private_notes
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property bool $is_deleted
|
||||
* @property int $is_manual
|
||||
* @property float $exchange_rate
|
||||
* @property int $currency_id
|
||||
* @property int|null $exchange_currency_id
|
||||
* @property object|null $meta
|
||||
* @property string|null $custom_value1
|
||||
* @property string|null $custom_value2
|
||||
* @property string|null $custom_value3
|
||||
* @property string|null $custom_value4
|
||||
* @property int|null $transaction_id
|
||||
* @property string|null $idempotency_key
|
||||
* @property-read \App\Models\User|null $assigned_user
|
||||
* @property-read \App\Models\Client $client
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \App\Models\CompanyGateway|null $company_gateway
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $company_ledger
|
||||
* @property-read int|null $company_ledger_count
|
||||
* @property-read \App\Models\ClientContact|null $contact
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Credit> $credits
|
||||
* @property-read int|null $credits_count
|
||||
* @property-read \App\Models\Currency|null $currency
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read int|null $documents_count
|
||||
* @property-read \App\Models\Currency|null $exchange_currency
|
||||
* @property-read \App\Models\GatewayType|null $gateway_type
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Invoice> $invoices
|
||||
* @property-read int|null $invoices_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Paymentable> $paymentables
|
||||
* @property-read int|null $paymentables_count
|
||||
* @property-read \App\Models\Project|null $project
|
||||
* @property-read \App\Models\PaymentType|null $type
|
||||
* @property-read \App\Models\User|null $user
|
||||
* @property-read \App\Models\Vendor|null $vendor
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\PaymentFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereAmount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereApplied($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereAssignedUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereClientContactId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereClientId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereCompanyGatewayId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereCurrencyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereCustomValue1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereCustomValue2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereCustomValue3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereCustomValue4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereExchangeCurrencyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereExchangeRate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereGatewayTypeId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereIdempotencyKey($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereInvitationId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereIsManual($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereMeta($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment wherePayerId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment wherePrivateNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereProjectId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereRefunded($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereStatusId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereTransactionId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereTransactionReference($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereTypeId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment whereVendorId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Payment withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Payment extends BaseModel
|
||||
{
|
||||
use MakesHash;
|
||||
|
@ -13,6 +13,32 @@ namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
/**
|
||||
* App\Models\PaymentHash
|
||||
*
|
||||
* @property int $id
|
||||
* @property string $hash
|
||||
* @property string $fee_total
|
||||
* @property int|null $fee_invoice_id
|
||||
* @property object $data
|
||||
* @property int|null $payment_id
|
||||
* @property \Illuminate\Support\Carbon|null $created_at
|
||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||
* @property-read \App\Models\Invoice|null $fee_invoice
|
||||
* @property-read \App\Models\Payment|null $payment
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentHash newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentHash newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentHash query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentHash whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentHash whereData($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentHash whereFeeInvoiceId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentHash whereFeeTotal($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentHash whereHash($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentHash whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentHash wherePaymentId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentHash whereUpdatedAt($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class PaymentHash extends Model
|
||||
{
|
||||
protected $guarded = ['id'];
|
||||
|
@ -13,6 +13,25 @@ namespace App\Models;
|
||||
|
||||
/**
|
||||
* Class PaymentLibrary.
|
||||
*
|
||||
* @property int $id
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property string|null $name
|
||||
* @property bool $visible
|
||||
* @property-read mixed $hashed_id
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentLibrary newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentLibrary newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentLibrary query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentLibrary whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentLibrary whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentLibrary whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentLibrary whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentLibrary whereVisible($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class PaymentLibrary extends BaseModel
|
||||
{
|
||||
|
@ -15,6 +15,37 @@ use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* Class PaymentTerm.
|
||||
*
|
||||
* @property int $id
|
||||
* @property int|null $num_days
|
||||
* @property string|null $name
|
||||
* @property int|null $company_id
|
||||
* @property int|null $user_id
|
||||
* @property int $is_deleted
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property-read mixed $hashed_id
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentTerm filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentTerm newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentTerm newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentTerm onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentTerm query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentTerm whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentTerm whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentTerm whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentTerm whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentTerm whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentTerm whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentTerm whereNumDays($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentTerm whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentTerm whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentTerm withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentTerm withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class PaymentTerm extends BaseModel
|
||||
{
|
||||
|
@ -11,6 +11,22 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
/**
|
||||
* App\Models\PaymentType
|
||||
*
|
||||
* @property int $id
|
||||
* @property string $name
|
||||
* @property int|null $gateway_type_id
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentType newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentType newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentType query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentType whereGatewayTypeId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentType whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PaymentType whereName($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class PaymentType extends StaticModel
|
||||
{
|
||||
/**
|
||||
|
@ -14,6 +14,37 @@ namespace App\Models;
|
||||
use Illuminate\Database\Eloquent\Relations\Pivot;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* App\Models\Paymentable
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $payment_id
|
||||
* @property int $paymentable_id
|
||||
* @property string $amount
|
||||
* @property string $refunded
|
||||
* @property string $paymentable_type
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property-read \App\Models\Payment $payment
|
||||
* @property-read \Illuminate\Database\Eloquent\Model|\Eloquent $paymentable
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Paymentable newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Paymentable newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Paymentable onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Paymentable query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Paymentable whereAmount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Paymentable whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Paymentable whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Paymentable whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Paymentable wherePaymentId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Paymentable wherePaymentableId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Paymentable wherePaymentableType($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Paymentable whereRefunded($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Paymentable whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Paymentable withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Paymentable withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Paymentable extends Pivot
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
@ -15,6 +15,89 @@ use App\Utils\Traits\MakesHash;
|
||||
use League\CommonMark\CommonMarkConverter;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* App\Models\Product
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $company_id
|
||||
* @property int $user_id
|
||||
* @property int|null $assigned_user_id
|
||||
* @property int|null $project_id
|
||||
* @property int|null $vendor_id
|
||||
* @property string|null $custom_value1
|
||||
* @property string|null $custom_value2
|
||||
* @property string|null $custom_value3
|
||||
* @property string|null $custom_value4
|
||||
* @property string|null $product_key
|
||||
* @property string|null $notes
|
||||
* @property string $cost
|
||||
* @property string $price
|
||||
* @property string $quantity
|
||||
* @property string|null $tax_name1
|
||||
* @property string $tax_rate1
|
||||
* @property string|null $tax_name2
|
||||
* @property string $tax_rate2
|
||||
* @property string|null $tax_name3
|
||||
* @property string $tax_rate3
|
||||
* @property int|null $deleted_at
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int $is_deleted
|
||||
* @property int $in_stock_quantity
|
||||
* @property int $stock_notification
|
||||
* @property int $stock_notification_threshold
|
||||
* @property int|null $max_quantity
|
||||
* @property string|null $product_image
|
||||
* @property-read \App\Models\User|null $assigned_user
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read int|null $documents_count
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \App\Models\User $user
|
||||
* @property-read \App\Models\Vendor|null $vendor
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\ProductFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereAssignedUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereCost($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereCustomValue1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereCustomValue2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereCustomValue3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereCustomValue4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereInStockQuantity($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereMaxQuantity($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product wherePrice($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereProductImage($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereProductKey($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereProjectId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereQuantity($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereStockNotification($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereStockNotificationThreshold($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereTaxName1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereTaxName2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereTaxName3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereTaxRate1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereTaxRate2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereTaxRate3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product whereVendorId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Product withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Product extends BaseModel
|
||||
{
|
||||
use MakesHash;
|
||||
|
@ -8,6 +8,71 @@ use Laracasts\Presenter\PresentableTrait;
|
||||
|
||||
/**
|
||||
* Class Project.
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $user_id
|
||||
* @property int|null $assigned_user_id
|
||||
* @property int $company_id
|
||||
* @property int|null $client_id
|
||||
* @property string $name
|
||||
* @property string $task_rate
|
||||
* @property string|null $due_date
|
||||
* @property string|null $private_notes
|
||||
* @property string $budgeted_hours
|
||||
* @property string|null $custom_value1
|
||||
* @property string|null $custom_value2
|
||||
* @property string|null $custom_value3
|
||||
* @property string|null $custom_value4
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property string|null $public_notes
|
||||
* @property int $is_deleted
|
||||
* @property string|null $number
|
||||
* @property string $color
|
||||
* @property-read \App\Models\Client|null $client
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read int|null $documents_count
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read Project|null $project
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Task> $tasks
|
||||
* @property-read int|null $tasks_count
|
||||
* @property-read \App\Models\User $user
|
||||
* @property-read \App\Models\Vendor|null $vendor
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\ProjectFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project whereAssignedUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project whereBudgetedHours($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project whereClientId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project whereColor($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project whereCustomValue1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project whereCustomValue2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project whereCustomValue3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project whereCustomValue4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project whereDueDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project whereNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project wherePrivateNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project wherePublicNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project whereTaskRate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Project withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Project extends BaseModel
|
||||
{
|
||||
|
@ -13,6 +13,23 @@ namespace App\Models;
|
||||
|
||||
use App\Utils\Traits\MakesHash;
|
||||
|
||||
/**
|
||||
* App\Models\Proposal
|
||||
*
|
||||
* @property-read \App\Models\User|null $assigned_user
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read int|null $documents_count
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read mixed $proposal_id
|
||||
* @property-read \App\Models\User $user
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Proposal newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Proposal newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Proposal query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Proposal extends BaseModel
|
||||
{
|
||||
use MakesHash;
|
||||
|
@ -21,6 +21,167 @@ use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Illuminate\Support\Carbon;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
/**
|
||||
* App\Models\PurchaseOrder
|
||||
*
|
||||
* @property int $id
|
||||
* @property int|null $client_id
|
||||
* @property int $user_id
|
||||
* @property int|null $assigned_user_id
|
||||
* @property int $company_id
|
||||
* @property int $status_id
|
||||
* @property int|null $project_id
|
||||
* @property int|null $vendor_id
|
||||
* @property int|null $recurring_id
|
||||
* @property int|null $design_id
|
||||
* @property int|null $invoice_id
|
||||
* @property string|null $number
|
||||
* @property float $discount
|
||||
* @property bool $is_amount_discount
|
||||
* @property string|null $po_number
|
||||
* @property string|null $date
|
||||
* @property string|null $last_sent_date
|
||||
* @property string|null $due_date
|
||||
* @property int $is_deleted
|
||||
* @property object|null $line_items
|
||||
* @property object|null $backup
|
||||
* @property string|null $footer
|
||||
* @property string|null $public_notes
|
||||
* @property string|null $private_notes
|
||||
* @property string|null $terms
|
||||
* @property string|null $tax_name1
|
||||
* @property string $tax_rate1
|
||||
* @property string|null $tax_name2
|
||||
* @property string $tax_rate2
|
||||
* @property string|null $tax_name3
|
||||
* @property string $tax_rate3
|
||||
* @property string $total_taxes
|
||||
* @property int $uses_inclusive_taxes
|
||||
* @property string|null $reminder1_sent
|
||||
* @property string|null $reminder2_sent
|
||||
* @property string|null $reminder3_sent
|
||||
* @property string|null $reminder_last_sent
|
||||
* @property string|null $custom_value1
|
||||
* @property string|null $custom_value2
|
||||
* @property string|null $custom_value3
|
||||
* @property string|null $custom_value4
|
||||
* @property string|null $next_send_date
|
||||
* @property string|null $custom_surcharge1
|
||||
* @property string|null $custom_surcharge2
|
||||
* @property string|null $custom_surcharge3
|
||||
* @property string|null $custom_surcharge4
|
||||
* @property int $custom_surcharge_tax1
|
||||
* @property int $custom_surcharge_tax2
|
||||
* @property int $custom_surcharge_tax3
|
||||
* @property int $custom_surcharge_tax4
|
||||
* @property string $exchange_rate
|
||||
* @property string $balance
|
||||
* @property string|null $partial
|
||||
* @property string $amount
|
||||
* @property string $paid_to_date
|
||||
* @property string|null $partial_due_date
|
||||
* @property string|null $last_viewed
|
||||
* @property int|null $deleted_at
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $expense_id
|
||||
* @property int|null $currency_id
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $activities
|
||||
* @property-read int|null $activities_count
|
||||
* @property-read \App\Models\User|null $assigned_user
|
||||
* @property-read \App\Models\Client|null $client
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read int|null $documents_count
|
||||
* @property-read \App\Models\Expense|null $expense
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Backup> $history
|
||||
* @property-read int|null $history_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\PurchaseOrderInvitation> $invitations
|
||||
* @property-read int|null $invitations_count
|
||||
* @property-read \App\Models\Invoice|null $invoice
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Invoice> $invoices
|
||||
* @property-read int|null $invoices_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Payment> $payments
|
||||
* @property-read int|null $payments_count
|
||||
* @property-read \App\Models\Project|null $project
|
||||
* @property-read \App\Models\User $user
|
||||
* @property-read \App\Models\Vendor|null $vendor
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\PurchaseOrderFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereAmount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereAssignedUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereBackup($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereBalance($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereClientId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereCurrencyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereCustomSurcharge1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereCustomSurcharge2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereCustomSurcharge3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereCustomSurcharge4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereCustomSurchargeTax1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereCustomSurchargeTax2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereCustomSurchargeTax3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereCustomSurchargeTax4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereCustomValue1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereCustomValue2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereCustomValue3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereCustomValue4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereDesignId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereDiscount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereDueDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereExchangeRate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereExpenseId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereFooter($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereInvoiceId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereIsAmountDiscount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereLastSentDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereLastViewed($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereLineItems($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereNextSendDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder wherePaidToDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder wherePartial($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder wherePartialDueDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder wherePoNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder wherePrivateNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereProjectId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder wherePublicNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereRecurringId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereReminder1Sent($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereReminder2Sent($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereReminder3Sent($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereReminderLastSent($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereStatusId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereTaxName1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereTaxName2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereTaxName3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereTaxRate1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereTaxRate2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereTaxRate3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereTerms($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereTotalTaxes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereUsesInclusiveTaxes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder whereVendorId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrder withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class PurchaseOrder extends BaseModel
|
||||
{
|
||||
use Filterable;
|
||||
|
@ -18,6 +18,62 @@ use Carbon\Carbon;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
/**
|
||||
* App\Models\PurchaseOrderInvitation
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $company_id
|
||||
* @property int $user_id
|
||||
* @property int $vendor_contact_id
|
||||
* @property int $purchase_order_id
|
||||
* @property string $key
|
||||
* @property string|null $transaction_reference
|
||||
* @property string|null $message_id
|
||||
* @property string|null $email_error
|
||||
* @property string|null $signature_base64
|
||||
* @property string|null $signature_date
|
||||
* @property string|null $sent_date
|
||||
* @property string|null $viewed_date
|
||||
* @property string|null $opened_date
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property string|null $email_status
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \App\Models\VendorContact $contact
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \App\Models\PurchaseOrder $purchase_order
|
||||
* @property-read \App\Models\User $user
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\PurchaseOrderInvitationFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation whereEmailError($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation whereEmailStatus($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation whereKey($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation whereMessageId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation whereOpenedDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation wherePurchaseOrderId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation whereSentDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation whereSignatureBase64($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation whereSignatureDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation whereTransactionReference($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation whereVendorContactId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation whereViewedDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|PurchaseOrderInvitation withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class PurchaseOrderInvitation extends BaseModel
|
||||
{
|
||||
use MakesDates;
|
||||
|
@ -26,6 +26,163 @@ use Illuminate\Support\Carbon;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Laracasts\Presenter\PresentableTrait;
|
||||
|
||||
/**
|
||||
* App\Models\Quote
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $client_id
|
||||
* @property int $user_id
|
||||
* @property int|null $assigned_user_id
|
||||
* @property int $company_id
|
||||
* @property int $status_id
|
||||
* @property int|null $project_id
|
||||
* @property int|null $vendor_id
|
||||
* @property int|null $recurring_id
|
||||
* @property int|null $design_id
|
||||
* @property int|null $invoice_id
|
||||
* @property string|null $number
|
||||
* @property float $discount
|
||||
* @property bool $is_amount_discount
|
||||
* @property string|null $po_number
|
||||
* @property string|null $date
|
||||
* @property string|null $last_sent_date
|
||||
* @property string|null $due_date
|
||||
* @property string|null $next_send_date
|
||||
* @property bool $is_deleted
|
||||
* @property object|null $line_items
|
||||
* @property object|null $backup
|
||||
* @property string|null $footer
|
||||
* @property string|null $public_notes
|
||||
* @property string|null $private_notes
|
||||
* @property string|null $terms
|
||||
* @property string|null $tax_name1
|
||||
* @property string $tax_rate1
|
||||
* @property string|null $tax_name2
|
||||
* @property string $tax_rate2
|
||||
* @property string|null $tax_name3
|
||||
* @property string $tax_rate3
|
||||
* @property string $total_taxes
|
||||
* @property int $uses_inclusive_taxes
|
||||
* @property string|null $custom_value1
|
||||
* @property string|null $custom_value2
|
||||
* @property string|null $custom_value3
|
||||
* @property string|null $custom_value4
|
||||
* @property string|null $custom_surcharge1
|
||||
* @property string|null $custom_surcharge2
|
||||
* @property string|null $custom_surcharge3
|
||||
* @property string|null $custom_surcharge4
|
||||
* @property int $custom_surcharge_tax1
|
||||
* @property int $custom_surcharge_tax2
|
||||
* @property int $custom_surcharge_tax3
|
||||
* @property int $custom_surcharge_tax4
|
||||
* @property string $exchange_rate
|
||||
* @property string $amount
|
||||
* @property string $balance
|
||||
* @property string|null $partial
|
||||
* @property string|null $partial_due_date
|
||||
* @property string|null $last_viewed
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property string|null $reminder1_sent
|
||||
* @property string|null $reminder2_sent
|
||||
* @property string|null $reminder3_sent
|
||||
* @property string|null $reminder_last_sent
|
||||
* @property string $paid_to_date
|
||||
* @property int|null $subscription_id
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $activities
|
||||
* @property-read int|null $activities_count
|
||||
* @property-read \App\Models\User|null $assigned_user
|
||||
* @property-read \App\Models\Client $client
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read int|null $documents_count
|
||||
* @property-read mixed $balance_due
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read mixed $total
|
||||
* @property-read mixed $valid_until
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Backup> $history
|
||||
* @property-read int|null $history_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\QuoteInvitation> $invitations
|
||||
* @property-read int|null $invitations_count
|
||||
* @property-read \App\Models\Invoice|null $invoice
|
||||
* @property-read \App\Models\Project|null $project
|
||||
* @property-read \App\Models\User $user
|
||||
* @property-read \App\Models\Vendor|null $vendor
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\QuoteFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereAmount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereAssignedUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereBackup($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereBalance($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereClientId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereCustomSurcharge1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereCustomSurcharge2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereCustomSurcharge3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereCustomSurcharge4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereCustomSurchargeTax1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereCustomSurchargeTax2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereCustomSurchargeTax3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereCustomSurchargeTax4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereCustomValue1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereCustomValue2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereCustomValue3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereCustomValue4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereDesignId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereDiscount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereDueDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereExchangeRate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereFooter($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereInvoiceId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereIsAmountDiscount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereLastSentDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereLastViewed($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereLineItems($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereNextSendDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote wherePaidToDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote wherePartial($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote wherePartialDueDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote wherePoNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote wherePrivateNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereProjectId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote wherePublicNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereRecurringId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereReminder1Sent($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereReminder2Sent($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereReminder3Sent($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereReminderLastSent($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereStatusId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereSubscriptionId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereTaxName1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereTaxName2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereTaxName3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereTaxRate1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereTaxRate2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereTaxRate3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereTerms($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereTotalTaxes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereUsesInclusiveTaxes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote whereVendorId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Quote withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Quote extends BaseModel
|
||||
{
|
||||
use MakesHash;
|
||||
|
@ -19,6 +19,64 @@ use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Illuminate\Support\Carbon;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
/**
|
||||
* App\Models\QuoteInvitation
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $company_id
|
||||
* @property int $user_id
|
||||
* @property int $client_contact_id
|
||||
* @property int $quote_id
|
||||
* @property string $key
|
||||
* @property string|null $transaction_reference
|
||||
* @property string|null $message_id
|
||||
* @property string|null $email_error
|
||||
* @property string|null $signature_base64
|
||||
* @property string|null $signature_date
|
||||
* @property string|null $sent_date
|
||||
* @property string|null $viewed_date
|
||||
* @property string|null $opened_date
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property string|null $signature_ip
|
||||
* @property string|null $email_status
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \App\Models\ClientContact $contact
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \App\Models\Quote $quote
|
||||
* @property-read \App\Models\User $user
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\QuoteInvitationFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation whereClientContactId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation whereEmailError($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation whereEmailStatus($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation whereKey($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation whereMessageId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation whereOpenedDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation whereQuoteId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation whereSentDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation whereSignatureBase64($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation whereSignatureDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation whereSignatureIp($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation whereTransactionReference($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation whereViewedDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|QuoteInvitation withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class QuoteInvitation extends BaseModel
|
||||
{
|
||||
use MakesDates;
|
||||
|
@ -15,6 +15,132 @@ use App\Services\Recurring\RecurringService;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Illuminate\Support\Carbon;
|
||||
|
||||
/**
|
||||
* App\Models\RecurringExpense
|
||||
*
|
||||
* @property int $id
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property int $company_id
|
||||
* @property int|null $vendor_id
|
||||
* @property int $user_id
|
||||
* @property int $status_id
|
||||
* @property int|null $invoice_id
|
||||
* @property int|null $client_id
|
||||
* @property int|null $bank_id
|
||||
* @property int|null $project_id
|
||||
* @property int|null $payment_type_id
|
||||
* @property int|null $recurring_expense_id
|
||||
* @property bool $is_deleted
|
||||
* @property int $uses_inclusive_taxes
|
||||
* @property string|null $tax_name1
|
||||
* @property string|null $tax_name2
|
||||
* @property string|null $tax_name3
|
||||
* @property string|null $date
|
||||
* @property string|null $payment_date
|
||||
* @property int $should_be_invoiced
|
||||
* @property int $invoice_documents
|
||||
* @property string|null $transaction_id
|
||||
* @property string|null $custom_value1
|
||||
* @property string|null $custom_value2
|
||||
* @property string|null $custom_value3
|
||||
* @property string|null $custom_value4
|
||||
* @property int|null $category_id
|
||||
* @property int $calculate_tax_by_amount
|
||||
* @property string|null $tax_amount1
|
||||
* @property string|null $tax_amount2
|
||||
* @property string|null $tax_amount3
|
||||
* @property string|null $tax_rate1
|
||||
* @property string|null $tax_rate2
|
||||
* @property string|null $tax_rate3
|
||||
* @property string|null $amount
|
||||
* @property string|null $foreign_amount
|
||||
* @property string $exchange_rate
|
||||
* @property int|null $assigned_user_id
|
||||
* @property string|null $number
|
||||
* @property int|null $invoice_currency_id
|
||||
* @property int|null $currency_id
|
||||
* @property string|null $private_notes
|
||||
* @property string|null $public_notes
|
||||
* @property string|null $transaction_reference
|
||||
* @property int $frequency_id
|
||||
* @property string|null $last_sent_date
|
||||
* @property string|null $next_send_date
|
||||
* @property int|null $remaining_cycles
|
||||
* @property string|null $next_send_date_client
|
||||
* @property-read \App\Models\User|null $assigned_user
|
||||
* @property-read \App\Models\Client|null $client
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read int|null $documents_count
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \App\Models\User $user
|
||||
* @property-read \App\Models\Vendor|null $vendor
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\RecurringExpenseFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereAmount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereAssignedUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereBankId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereCalculateTaxByAmount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereCategoryId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereClientId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereCurrencyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereCustomValue1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereCustomValue2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereCustomValue3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereCustomValue4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereExchangeRate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereForeignAmount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereFrequencyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereInvoiceCurrencyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereInvoiceDocuments($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereInvoiceId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereLastSentDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereNextSendDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereNextSendDateClient($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense wherePaymentDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense wherePaymentTypeId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense wherePrivateNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereProjectId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense wherePublicNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereRecurringExpenseId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereRemainingCycles($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereShouldBeInvoiced($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereStatusId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereTaxAmount1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereTaxAmount2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereTaxAmount3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereTaxName1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereTaxName2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereTaxName3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereTaxRate1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereTaxRate2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereTaxRate3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereTransactionId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereTransactionReference($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereUsesInclusiveTaxes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense whereVendorId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringExpense withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class RecurringExpense extends BaseModel
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
@ -24,6 +24,160 @@ use Laracasts\Presenter\PresentableTrait;
|
||||
|
||||
/**
|
||||
* Class for Recurring Invoices.
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $client_id
|
||||
* @property int $user_id
|
||||
* @property int|null $assigned_user_id
|
||||
* @property int $company_id
|
||||
* @property int|null $project_id
|
||||
* @property int|null $vendor_id
|
||||
* @property int $status_id
|
||||
* @property string|null $number
|
||||
* @property float $discount
|
||||
* @property int $is_amount_discount
|
||||
* @property string|null $po_number
|
||||
* @property string|null $date
|
||||
* @property string|null $due_date
|
||||
* @property int $is_deleted
|
||||
* @property object|null $line_items
|
||||
* @property object|null $backup
|
||||
* @property string|null $footer
|
||||
* @property string|null $public_notes
|
||||
* @property string|null $private_notes
|
||||
* @property string|null $terms
|
||||
* @property string|null $tax_name1
|
||||
* @property string $tax_rate1
|
||||
* @property string|null $tax_name2
|
||||
* @property string $tax_rate2
|
||||
* @property string|null $tax_name3
|
||||
* @property string $tax_rate3
|
||||
* @property string $total_taxes
|
||||
* @property string|null $custom_value1
|
||||
* @property string|null $custom_value2
|
||||
* @property string|null $custom_value3
|
||||
* @property string|null $custom_value4
|
||||
* @property string $amount
|
||||
* @property string $balance
|
||||
* @property string|null $partial
|
||||
* @property string|null $last_viewed
|
||||
* @property int $frequency_id
|
||||
* @property string|null $last_sent_date
|
||||
* @property string|null $next_send_date
|
||||
* @property int|null $remaining_cycles
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property string $auto_bill
|
||||
* @property int $auto_bill_enabled
|
||||
* @property int|null $design_id
|
||||
* @property int $uses_inclusive_taxes
|
||||
* @property string|null $custom_surcharge1
|
||||
* @property string|null $custom_surcharge2
|
||||
* @property string|null $custom_surcharge3
|
||||
* @property string|null $custom_surcharge4
|
||||
* @property int $custom_surcharge_tax1
|
||||
* @property int $custom_surcharge_tax2
|
||||
* @property int $custom_surcharge_tax3
|
||||
* @property int $custom_surcharge_tax4
|
||||
* @property string|null $due_date_days
|
||||
* @property string|null $partial_due_date
|
||||
* @property string $exchange_rate
|
||||
* @property string $paid_to_date
|
||||
* @property int|null $subscription_id
|
||||
* @property string|null $next_send_date_client
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $activities
|
||||
* @property-read int|null $activities_count
|
||||
* @property-read \App\Models\User|null $assigned_user
|
||||
* @property-read \App\Models\Client $client
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read int|null $documents_count
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read mixed $status
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Backup> $history
|
||||
* @property-read int|null $history_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringInvoiceInvitation> $invitations
|
||||
* @property-read int|null $invitations_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Invoice> $invoices
|
||||
* @property-read int|null $invoices_count
|
||||
* @property-read \App\Models\Project|null $project
|
||||
* @property-read \App\Models\Subscription|null $subscription
|
||||
* @property-read \App\Models\User $user
|
||||
* @property-read \App\Models\Vendor|null $vendor
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\RecurringInvoiceFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereAmount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereAssignedUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereAutoBill($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereAutoBillEnabled($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereBackup($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereBalance($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereClientId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCustomSurcharge1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCustomSurcharge2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCustomSurcharge3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCustomSurcharge4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCustomSurchargeTax1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCustomSurchargeTax2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCustomSurchargeTax3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCustomSurchargeTax4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCustomValue1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCustomValue2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCustomValue3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCustomValue4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereDesignId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereDiscount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereDueDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereDueDateDays($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereExchangeRate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereFooter($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereFrequencyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereIsAmountDiscount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereLastSentDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereLastViewed($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereLineItems($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereNextSendDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereNextSendDateClient($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice wherePaidToDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice wherePartial($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice wherePartialDueDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice wherePoNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice wherePrivateNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereProjectId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice wherePublicNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereRemainingCycles($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereStatusId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereSubscriptionId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereTaxName1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereTaxName2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereTaxName3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereTaxRate1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereTaxRate2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereTaxRate3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereTerms($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereTotalTaxes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereUsesInclusiveTaxes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereVendorId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class RecurringInvoice extends BaseModel
|
||||
{
|
||||
|
@ -16,6 +16,61 @@ use App\Utils\Traits\MakesDates;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* App\Models\RecurringInvoiceInvitation
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $company_id
|
||||
* @property int $user_id
|
||||
* @property int $client_contact_id
|
||||
* @property int $recurring_invoice_id
|
||||
* @property string $key
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property string|null $transaction_reference
|
||||
* @property string|null $message_id
|
||||
* @property string|null $email_error
|
||||
* @property string|null $signature_base64
|
||||
* @property string|null $signature_date
|
||||
* @property string|null $sent_date
|
||||
* @property string|null $viewed_date
|
||||
* @property string|null $opened_date
|
||||
* @property string|null $email_status
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \App\Models\ClientContact $contact
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \App\Models\RecurringInvoice $recurring_invoice
|
||||
* @property-read \App\Models\User $user
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation whereClientContactId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation whereEmailError($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation whereEmailStatus($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation whereKey($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation whereMessageId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation whereOpenedDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation whereRecurringInvoiceId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation whereSentDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation whereSignatureBase64($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation whereSignatureDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation whereTransactionReference($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation whereViewedDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoiceInvitation withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class RecurringInvoiceInvitation extends BaseModel
|
||||
{
|
||||
use MakesDates;
|
||||
|
@ -24,6 +24,154 @@ use Laracasts\Presenter\PresentableTrait;
|
||||
|
||||
/**
|
||||
* Class for Recurring Quotes.
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $client_id
|
||||
* @property int $user_id
|
||||
* @property int|null $assigned_user_id
|
||||
* @property int $company_id
|
||||
* @property int|null $project_id
|
||||
* @property int|null $vendor_id
|
||||
* @property int $status_id
|
||||
* @property float $discount
|
||||
* @property int $is_amount_discount
|
||||
* @property string|null $number
|
||||
* @property string|null $po_number
|
||||
* @property string|null $date
|
||||
* @property string|null $due_date
|
||||
* @property int $is_deleted
|
||||
* @property object|null $line_items
|
||||
* @property object|null $backup
|
||||
* @property string|null $footer
|
||||
* @property string|null $public_notes
|
||||
* @property string|null $private_notes
|
||||
* @property string|null $terms
|
||||
* @property string|null $tax_name1
|
||||
* @property string $tax_rate1
|
||||
* @property string|null $tax_name2
|
||||
* @property string $tax_rate2
|
||||
* @property string|null $tax_name3
|
||||
* @property string $tax_rate3
|
||||
* @property string $total_taxes
|
||||
* @property string|null $custom_value1
|
||||
* @property string|null $custom_value2
|
||||
* @property string|null $custom_value3
|
||||
* @property string|null $custom_value4
|
||||
* @property string $amount
|
||||
* @property string $balance
|
||||
* @property string|null $last_viewed
|
||||
* @property int $frequency_id
|
||||
* @property string|null $last_sent_date
|
||||
* @property string|null $next_send_date
|
||||
* @property int|null $remaining_cycles
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property string $auto_bill
|
||||
* @property int $auto_bill_enabled
|
||||
* @property string $paid_to_date
|
||||
* @property string|null $custom_surcharge1
|
||||
* @property string|null $custom_surcharge2
|
||||
* @property string|null $custom_surcharge3
|
||||
* @property string|null $custom_surcharge4
|
||||
* @property int $custom_surcharge_tax1
|
||||
* @property int $custom_surcharge_tax2
|
||||
* @property int $custom_surcharge_tax3
|
||||
* @property int $custom_surcharge_tax4
|
||||
* @property string|null $due_date_days
|
||||
* @property string $exchange_rate
|
||||
* @property string|null $partial
|
||||
* @property string|null $partial_due_date
|
||||
* @property int|null $subscription_id
|
||||
* @property int $uses_inclusive_taxes
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $activities
|
||||
* @property-read int|null $activities_count
|
||||
* @property-read \App\Models\User|null $assigned_user
|
||||
* @property-read \App\Models\Client $client
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read int|null $documents_count
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read mixed $status
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Backup> $history
|
||||
* @property-read int|null $history_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringQuoteInvitation> $invitations
|
||||
* @property-read int|null $invitations_count
|
||||
* @property-read \App\Models\Project|null $project
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Quote> $quotes
|
||||
* @property-read int|null $quotes_count
|
||||
* @property-read \App\Models\User $user
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\RecurringQuoteFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereAmount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereAssignedUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereAutoBill($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereAutoBillEnabled($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereBackup($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereBalance($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereClientId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereCustomSurcharge1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereCustomSurcharge2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereCustomSurcharge3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereCustomSurcharge4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereCustomSurchargeTax1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereCustomSurchargeTax2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereCustomSurchargeTax3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereCustomSurchargeTax4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereCustomValue1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereCustomValue2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereCustomValue3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereCustomValue4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereDiscount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereDueDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereDueDateDays($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereExchangeRate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereFooter($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereFrequencyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereIsAmountDiscount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereLastSentDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereLastViewed($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereLineItems($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereNextSendDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote wherePaidToDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote wherePartial($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote wherePartialDueDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote wherePoNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote wherePrivateNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereProjectId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote wherePublicNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereRemainingCycles($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereStatusId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereSubscriptionId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereTaxName1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereTaxName2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereTaxName3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereTaxRate1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereTaxRate2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereTaxRate3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereTerms($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereTotalTaxes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereUsesInclusiveTaxes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote whereVendorId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuote withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class RecurringQuote extends BaseModel
|
||||
{
|
||||
|
@ -16,6 +16,61 @@ use App\Utils\Traits\MakesDates;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* App\Models\RecurringQuoteInvitation
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $company_id
|
||||
* @property int $user_id
|
||||
* @property int $client_contact_id
|
||||
* @property int $recurring_quote_id
|
||||
* @property string $key
|
||||
* @property string|null $transaction_reference
|
||||
* @property string|null $message_id
|
||||
* @property string|null $email_error
|
||||
* @property string|null $signature_base64
|
||||
* @property string|null $signature_date
|
||||
* @property string|null $sent_date
|
||||
* @property string|null $viewed_date
|
||||
* @property string|null $opened_date
|
||||
* @property string|null $email_status
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \App\Models\ClientContact $contact
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \App\Models\RecurringQuote $recurring_quote
|
||||
* @property-read \App\Models\User $user
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation whereClientContactId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation whereEmailError($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation whereEmailStatus($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation whereKey($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation whereMessageId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation whereOpenedDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation whereRecurringQuoteId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation whereSentDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation whereSignatureBase64($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation whereSignatureDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation whereTransactionReference($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation whereViewedDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|RecurringQuoteInvitation withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class RecurringQuoteInvitation extends BaseModel
|
||||
{
|
||||
use MakesDates;
|
||||
|
@ -15,6 +15,8 @@ use App\Services\Scheduler\SchedulerService;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* App\Models\Scheduler
|
||||
*
|
||||
* @property bool paused
|
||||
* @property bool is_deleted
|
||||
* @property \Carbon\Carbon|mixed start_from
|
||||
@ -28,6 +30,50 @@ use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
* @property mixed company
|
||||
* @property array parameters
|
||||
* @property string action_class
|
||||
* @property int $id
|
||||
* @property bool $is_deleted
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property array|null $parameters
|
||||
* @property int $company_id
|
||||
* @property bool $is_paused
|
||||
* @property int|null $frequency_id
|
||||
* @property \Illuminate\Support\Carbon|null $next_run
|
||||
* @property \Illuminate\Support\Carbon|null $next_run_client
|
||||
* @property int $user_id
|
||||
* @property string $name
|
||||
* @property string $template
|
||||
* @property int|null $remaining_cycles
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read mixed $hashed_id
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\SchedulerFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Scheduler filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Scheduler newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Scheduler newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Scheduler onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Scheduler query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Scheduler whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Scheduler whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Scheduler whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Scheduler whereFrequencyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Scheduler whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Scheduler whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Scheduler whereIsPaused($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Scheduler whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Scheduler whereNextRun($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Scheduler whereNextRunClient($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Scheduler whereParameters($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Scheduler whereRemainingCycles($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Scheduler whereTemplate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Scheduler whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Scheduler whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Scheduler withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Scheduler withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Scheduler extends BaseModel
|
||||
{
|
||||
|
@ -13,6 +13,17 @@ namespace App\Models;
|
||||
|
||||
/**
|
||||
* Class Size.
|
||||
*
|
||||
* @property int $id
|
||||
* @property string $name
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Size newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Size newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Size query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Size whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Size whereName($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Size extends StaticModel
|
||||
{
|
||||
|
@ -16,6 +16,17 @@ use App\Utils\Traits\MakesHash;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\ModelNotFoundException as ModelNotFoundException;
|
||||
|
||||
/**
|
||||
* App\Models\StaticModel
|
||||
*
|
||||
* @property-read mixed $id
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel query()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class StaticModel extends Model
|
||||
{
|
||||
use MakesHash;
|
||||
|
@ -15,6 +15,96 @@ use App\Services\Subscription\SubscriptionService;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* App\Models\Subscription
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $user_id
|
||||
* @property int|null $assigned_user_id
|
||||
* @property int $company_id
|
||||
* @property string|null $product_ids
|
||||
* @property int|null $frequency_id
|
||||
* @property string|null $auto_bill
|
||||
* @property string|null $promo_code
|
||||
* @property float $promo_discount
|
||||
* @property int $is_amount_discount
|
||||
* @property int $allow_cancellation
|
||||
* @property int $per_seat_enabled
|
||||
* @property int $min_seats_limit
|
||||
* @property int $max_seats_limit
|
||||
* @property int $trial_enabled
|
||||
* @property int $trial_duration
|
||||
* @property int $allow_query_overrides
|
||||
* @property int $allow_plan_changes
|
||||
* @property string|null $plan_map
|
||||
* @property int|null $refund_period
|
||||
* @property array $webhook_configuration
|
||||
* @property int|null $deleted_at
|
||||
* @property bool $is_deleted
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $currency_id
|
||||
* @property string|null $recurring_product_ids
|
||||
* @property string $name
|
||||
* @property int|null $group_id
|
||||
* @property string $price
|
||||
* @property string $promo_price
|
||||
* @property int $registration_required
|
||||
* @property int $use_inventory_management
|
||||
* @property string|null $optional_product_ids
|
||||
* @property string|null $optional_recurring_product_ids
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \App\Models\GroupSetting|null $group_settings
|
||||
* @property-read \App\Models\User $user
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\SubscriptionFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereAllowCancellation($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereAllowPlanChanges($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereAllowQueryOverrides($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereAssignedUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereAutoBill($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereCurrencyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereFrequencyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereGroupId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereIsAmountDiscount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereMaxSeatsLimit($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereMinSeatsLimit($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereOptionalProductIds($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereOptionalRecurringProductIds($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription wherePerSeatEnabled($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription wherePlanMap($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription wherePrice($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereProductIds($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription wherePromoCode($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription wherePromoDiscount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription wherePromoPrice($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereRecurringProductIds($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereRefundPeriod($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereRegistrationRequired($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereTrialDuration($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereTrialEnabled($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereUseInventoryManagement($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription whereWebhookConfiguration($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Subscription withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Subscription extends BaseModel
|
||||
{
|
||||
use HasFactory, SoftDeletes, Filterable;
|
||||
|
@ -15,6 +15,41 @@ use App\Utils\Traits\MakesHash;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* App\Models\SystemLog
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $company_id
|
||||
* @property int|null $user_id
|
||||
* @property int|null $client_id
|
||||
* @property int|null $category_id
|
||||
* @property int|null $event_id
|
||||
* @property int|null $type_id
|
||||
* @property array $log
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|SystemLog company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|SystemLog filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|SystemLog newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|SystemLog newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|SystemLog onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|SystemLog query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|SystemLog whereCategoryId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|SystemLog whereClientId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|SystemLog whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|SystemLog whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|SystemLog whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|SystemLog whereEventId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|SystemLog whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|SystemLog whereLog($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|SystemLog whereTypeId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|SystemLog whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|SystemLog whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|SystemLog withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|SystemLog withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class SystemLog extends Model
|
||||
{
|
||||
use Filterable;
|
||||
|
@ -15,6 +15,84 @@ use App\Utils\Traits\MakesHash;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Illuminate\Support\Carbon;
|
||||
|
||||
/**
|
||||
* App\Models\Task
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $user_id
|
||||
* @property int|null $assigned_user_id
|
||||
* @property int $company_id
|
||||
* @property int|null $client_id
|
||||
* @property int|null $invoice_id
|
||||
* @property int|null $project_id
|
||||
* @property int|null $status_id
|
||||
* @property int|null $status_sort_order
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property string|null $custom_value1
|
||||
* @property string|null $custom_value2
|
||||
* @property string|null $custom_value3
|
||||
* @property string|null $custom_value4
|
||||
* @property int|null $duration
|
||||
* @property string|null $description
|
||||
* @property int $is_deleted
|
||||
* @property int $is_running
|
||||
* @property string|null $time_log
|
||||
* @property string|null $number
|
||||
* @property string $rate
|
||||
* @property int $invoice_documents
|
||||
* @property int $is_date_based
|
||||
* @property int|null $status_order
|
||||
* @property-read \App\Models\User|null $assigned_user
|
||||
* @property-read \App\Models\Client|null $client
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read int|null $documents_count
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \App\Models\Invoice|null $invoice
|
||||
* @property-read \App\Models\Project|null $project
|
||||
* @property-read \App\Models\TaskStatus|null $status
|
||||
* @property-read \App\Models\User $user
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\TaskFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereAssignedUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereClientId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereCustomValue1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereCustomValue2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereCustomValue3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereCustomValue4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereDescription($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereDuration($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereInvoiceDocuments($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereInvoiceId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereIsDateBased($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereIsRunning($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereProjectId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereRate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereStatusId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereStatusOrder($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereStatusSortOrder($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereTimeLog($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Task withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Task extends BaseModel
|
||||
{
|
||||
use MakesHash;
|
||||
|
@ -15,6 +15,42 @@ use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* Class TaskStatus.
|
||||
*
|
||||
* @property int $id
|
||||
* @property string|null $name
|
||||
* @property int|null $company_id
|
||||
* @property int|null $user_id
|
||||
* @property int $is_deleted
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property int|null $status_sort_order
|
||||
* @property string $color
|
||||
* @property int|null $status_order
|
||||
* @property-read mixed $hashed_id
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\TaskStatusFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaskStatus filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaskStatus newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaskStatus newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaskStatus onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaskStatus query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaskStatus whereColor($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaskStatus whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaskStatus whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaskStatus whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaskStatus whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaskStatus whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaskStatus whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaskStatus whereStatusOrder($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaskStatus whereStatusSortOrder($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaskStatus whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaskStatus whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaskStatus withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaskStatus withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class TaskStatus extends BaseModel
|
||||
{
|
||||
|
@ -14,6 +14,42 @@ namespace App\Models;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* App\Models\TaxRate
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $company_id
|
||||
* @property int|null $user_id
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property string $name
|
||||
* @property string $rate
|
||||
* @property int $is_deleted
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read mixed $tax_rate_id
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\TaxRateFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaxRate filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaxRate newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaxRate newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaxRate onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaxRate query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaxRate whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaxRate whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaxRate whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaxRate whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaxRate whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaxRate whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaxRate whereRate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaxRate whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaxRate whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaxRate withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TaxRate withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class TaxRate extends BaseModel
|
||||
{
|
||||
use MakesHash;
|
||||
|
@ -11,6 +11,24 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
/**
|
||||
* App\Models\Timezone
|
||||
*
|
||||
* @property int $id
|
||||
* @property string $name
|
||||
* @property string $location
|
||||
* @property int $utc_offset
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Timezone newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Timezone newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Timezone query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Timezone whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Timezone whereLocation($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Timezone whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Timezone whereUtcOffset($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Timezone extends StaticModel
|
||||
{
|
||||
/**
|
||||
|
@ -13,6 +13,63 @@ namespace App\Models;
|
||||
|
||||
/**
|
||||
* Class Bank.
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $client_id
|
||||
* @property int $invoice_id
|
||||
* @property int $payment_id
|
||||
* @property int $credit_id
|
||||
* @property string $client_balance
|
||||
* @property string $client_paid_to_date
|
||||
* @property string $client_credit_balance
|
||||
* @property string $invoice_balance
|
||||
* @property string $invoice_amount
|
||||
* @property string $invoice_partial
|
||||
* @property string $invoice_paid_to_date
|
||||
* @property int|null $invoice_status
|
||||
* @property string $payment_amount
|
||||
* @property string $payment_applied
|
||||
* @property string $payment_refunded
|
||||
* @property int|null $payment_status
|
||||
* @property array|null $paymentables
|
||||
* @property int $event_id
|
||||
* @property int $timestamp
|
||||
* @property array|null $payment_request
|
||||
* @property array|null $metadata
|
||||
* @property string $credit_balance
|
||||
* @property string $credit_amount
|
||||
* @property int|null $credit_status
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent whereClientBalance($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent whereClientCreditBalance($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent whereClientId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent whereClientPaidToDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent whereCreditAmount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent whereCreditBalance($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent whereCreditId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent whereCreditStatus($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent whereEventId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent whereInvoiceAmount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent whereInvoiceBalance($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent whereInvoiceId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent whereInvoicePaidToDate($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent whereInvoicePartial($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent whereInvoiceStatus($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent whereMetadata($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent wherePaymentAmount($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent wherePaymentApplied($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent wherePaymentId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent wherePaymentRefunded($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent wherePaymentRequest($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent wherePaymentStatus($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent wherePaymentables($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|TransactionEvent whereTimestamp($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class TransactionEvent extends StaticModel
|
||||
{
|
||||
|
@ -32,6 +32,115 @@ use Illuminate\Support\Carbon;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Laracasts\Presenter\PresentableTrait;
|
||||
|
||||
/**
|
||||
* App\Models\User
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $account_id
|
||||
* @property string|null $first_name
|
||||
* @property string|null $last_name
|
||||
* @property string|null $phone
|
||||
* @property string|null $ip
|
||||
* @property string|null $device_token
|
||||
* @property string $email
|
||||
* @property string|null $email_verified_at
|
||||
* @property string|null $confirmation_code
|
||||
* @property int|null $theme_id
|
||||
* @property int|null $failed_logins
|
||||
* @property string|null $referral_code
|
||||
* @property string|null $oauth_user_id
|
||||
* @property object|null $oauth_user_token
|
||||
* @property string|null $oauth_provider_id
|
||||
* @property string|null $google_2fa_secret
|
||||
* @property string|null $accepted_terms_version
|
||||
* @property string|null $avatar
|
||||
* @property int|null $avatar_width
|
||||
* @property int|null $avatar_height
|
||||
* @property int|null $avatar_size
|
||||
* @property int $is_deleted
|
||||
* @property string|null $last_login
|
||||
* @property string|null $signature
|
||||
* @property string $password
|
||||
* @property string|null $remember_token
|
||||
* @property string|null $custom_value1
|
||||
* @property string|null $custom_value2
|
||||
* @property string|null $custom_value3
|
||||
* @property string|null $custom_value4
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property string|null $oauth_user_refresh_token
|
||||
* @property string|null $last_confirmed_email_address
|
||||
* @property int $has_password
|
||||
* @property Carbon|null $oauth_user_token_expiry
|
||||
* @property string|null $sms_verification_code
|
||||
* @property int $verified_phone_number
|
||||
* @property-read \App\Models\Account $account
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Client> $clients
|
||||
* @property-read int|null $clients_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Company> $companies
|
||||
* @property-read int|null $companies_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyUser> $company_users
|
||||
* @property-read int|null $company_users_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $contacts
|
||||
* @property-read int|null $contacts_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read int|null $documents_count
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications
|
||||
* @property-read int|null $notifications_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyToken> $tokens
|
||||
* @property-read int|null $tokens_count
|
||||
* @method static \Database\Factories\UserFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereAcceptedTermsVersion($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereAccountId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereAvatar($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereAvatarHeight($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereAvatarSize($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereAvatarWidth($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereConfirmationCode($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereCustomValue1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereCustomValue2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereCustomValue3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereCustomValue4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereDeviceToken($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereEmail($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereEmailVerifiedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereFailedLogins($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereFirstName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereGoogle2faSecret($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereHasPassword($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereIp($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereLastConfirmedEmailAddress($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereLastLogin($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereLastName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereOauthProviderId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereOauthUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereOauthUserRefreshToken($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereOauthUserToken($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereOauthUserTokenExpiry($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User wherePassword($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User wherePhone($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereReferralCode($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereRememberToken($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereSignature($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereSmsVerificationCode($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereThemeId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereVerifiedPhoneNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class User extends Authenticatable implements MustVerifyEmail
|
||||
{
|
||||
use Notifiable;
|
||||
|
@ -19,6 +19,93 @@ use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Laracasts\Presenter\PresentableTrait;
|
||||
|
||||
/**
|
||||
* App\Models\Vendor
|
||||
*
|
||||
* @property int $id
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property int $user_id
|
||||
* @property int|null $assigned_user_id
|
||||
* @property int $company_id
|
||||
* @property string|null $currency_id
|
||||
* @property string|null $name
|
||||
* @property string|null $address1
|
||||
* @property string|null $address2
|
||||
* @property string|null $city
|
||||
* @property string|null $state
|
||||
* @property string|null $postal_code
|
||||
* @property string|null $country_id
|
||||
* @property string|null $phone
|
||||
* @property string|null $private_notes
|
||||
* @property string|null $website
|
||||
* @property bool $is_deleted
|
||||
* @property string|null $vat_number
|
||||
* @property string|null $transaction_name
|
||||
* @property string|null $number
|
||||
* @property string|null $custom_value1
|
||||
* @property string|null $custom_value2
|
||||
* @property string|null $custom_value3
|
||||
* @property string|null $custom_value4
|
||||
* @property string|null $vendor_hash
|
||||
* @property string|null $public_notes
|
||||
* @property string|null $id_number
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $activities
|
||||
* @property-read int|null $activities_count
|
||||
* @property-read \App\Models\User|null $assigned_user
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\VendorContact> $contacts
|
||||
* @property-read int|null $contacts_count
|
||||
* @property-read \App\Models\Country|null $country
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read int|null $documents_count
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\VendorContact> $primary_contact
|
||||
* @property-read int|null $primary_contact_count
|
||||
* @property-read \App\Models\User $user
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Database\Factories\VendorFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereAddress1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereAddress2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereAssignedUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereCity($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereCountryId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereCurrencyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereCustomValue1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereCustomValue2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereCustomValue3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereCustomValue4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereIdNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor wherePhone($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor wherePostalCode($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor wherePrivateNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor wherePublicNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereState($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereTransactionName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereVatNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereVendorHash($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor whereWebsite($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Vendor withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Vendor extends BaseModel
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
@ -23,6 +23,95 @@ use Illuminate\Notifications\Notifiable;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Laracasts\Presenter\PresentableTrait;
|
||||
|
||||
/**
|
||||
* App\Models\VendorContact
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $company_id
|
||||
* @property int $user_id
|
||||
* @property int $vendor_id
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property int $is_primary
|
||||
* @property string|null $first_name
|
||||
* @property string|null $last_name
|
||||
* @property string|null $email
|
||||
* @property string|null $phone
|
||||
* @property string|null $custom_value1
|
||||
* @property string|null $custom_value2
|
||||
* @property string|null $custom_value3
|
||||
* @property string|null $custom_value4
|
||||
* @property int $send_email
|
||||
* @property string|null $email_verified_at
|
||||
* @property string|null $confirmation_code
|
||||
* @property int $confirmed
|
||||
* @property string|null $last_login
|
||||
* @property int|null $failed_logins
|
||||
* @property string|null $oauth_user_id
|
||||
* @property int|null $oauth_provider_id
|
||||
* @property string|null $google_2fa_secret
|
||||
* @property string|null $accepted_terms_version
|
||||
* @property string|null $avatar
|
||||
* @property string|null $avatar_type
|
||||
* @property string|null $avatar_size
|
||||
* @property string $password
|
||||
* @property string|null $token
|
||||
* @property int $is_locked
|
||||
* @property string|null $contact_key
|
||||
* @property string|null $remember_token
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read mixed $contact_id
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications
|
||||
* @property-read int|null $notifications_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\PurchaseOrderInvitation> $purchase_order_invitations
|
||||
* @property-read int|null $purchase_order_invitations_count
|
||||
* @property-read \App\Models\User $user
|
||||
* @property-read \App\Models\Vendor $vendor
|
||||
* @method static \Database\Factories\VendorContactFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereAcceptedTermsVersion($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereAvatar($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereAvatarSize($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereAvatarType($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereConfirmationCode($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereConfirmed($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereContactKey($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereCustomValue1($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereCustomValue2($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereCustomValue3($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereCustomValue4($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereEmail($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereEmailVerifiedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereFailedLogins($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereFirstName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereGoogle2faSecret($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereIsLocked($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereIsPrimary($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereLastLogin($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereLastName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereOauthProviderId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereOauthUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact wherePassword($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact wherePhone($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereRememberToken($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereSendEmail($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereToken($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact whereVendorId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|VendorContact withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class VendorContact extends Authenticatable implements HasLocalePreference
|
||||
{
|
||||
use Notifiable;
|
||||
|
@ -13,6 +13,48 @@ namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* App\Models\Webhook
|
||||
*
|
||||
* @property int $id
|
||||
* @property int|null $company_id
|
||||
* @property int|null $user_id
|
||||
* @property int|null $event_id
|
||||
* @property int $is_deleted
|
||||
* @property string $target_url
|
||||
* @property string $format
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property string|null $rest_method
|
||||
* @property array|null $headers
|
||||
* @property-read \App\Models\Company|null $company
|
||||
* @property-read mixed $hashed_id
|
||||
* @property-read \App\Models\User|null $user
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel company()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel exclude($columns)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Webhook filter(\App\Filters\QueryFilters $filters)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Webhook newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Webhook newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Webhook onlyTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Webhook query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scope()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Webhook whereCompanyId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Webhook whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Webhook whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Webhook whereEventId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Webhook whereFormat($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Webhook whereHeaders($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Webhook whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Webhook whereIsDeleted($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Webhook whereRestMethod($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Webhook whereTargetUrl($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Webhook whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Webhook whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Webhook withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Webhook withoutTrashed()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Webhook extends BaseModel
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
@ -262,6 +262,7 @@ class ACH
|
||||
{
|
||||
$this->stripe->init();
|
||||
|
||||
$response = false;
|
||||
try {
|
||||
$data = [
|
||||
'amount' => $this->stripe->convertToStripeAmount($amount, $this->stripe->client->currency()->precision, $this->stripe->client->currency()),
|
||||
|
@ -11,14 +11,15 @@
|
||||
|
||||
namespace App\Services\Client;
|
||||
|
||||
use App\Utils\Number;
|
||||
use App\Models\Client;
|
||||
use App\Models\Credit;
|
||||
use App\Services\Email\Email;
|
||||
use App\Utils\Traits\MakesDates;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use App\Services\Email\EmailObject;
|
||||
use App\Services\Email\EmailService;
|
||||
use App\Utils\Number;
|
||||
use App\Utils\Traits\MakesDates;
|
||||
use Illuminate\Mail\Mailables\Address;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class ClientService
|
||||
{
|
||||
@ -149,9 +150,12 @@ class ClientService
|
||||
$this->client_start_date = $this->translateDate($options['start_date'], $this->client->date_format(), $this->client->locale());
|
||||
$this->client_end_date = $this->translateDate($options['end_date'], $this->client->date_format(), $this->client->locale());
|
||||
|
||||
$email_service = new EmailService($this->buildStatementMailableData($pdf), $this->client->company);
|
||||
// $email_service = new EmailService($this->buildStatementMailableData($pdf), $this->client->company);
|
||||
// $email_service->send();
|
||||
|
||||
$email_object = $this->buildStatementMailableData($pdf);
|
||||
Email::dispatch($email_object, $this->client->company);
|
||||
|
||||
$email_service->send();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -165,9 +169,7 @@ class ClientService
|
||||
$email_object = new EmailObject;
|
||||
$email_object->to = [new Address($this->client->present()->email(), $this->client->present()->name())];
|
||||
$email_object->attachments = [['file' => base64_encode($pdf), 'name' => ctrans('texts.statement') . ".pdf"]];
|
||||
$email_object->settings = $this->client->getMergedSettings();
|
||||
$email_object->company = $this->client->company;
|
||||
$email_object->client = $this->client;
|
||||
$email_object->client_id = $this->client->id;
|
||||
$email_object->email_template_subject = 'email_subject_statement';
|
||||
$email_object->email_template_body = 'email_template_statement';
|
||||
$email_object->variables = [
|
||||
|
@ -11,121 +11,400 @@
|
||||
|
||||
namespace App\Services\Email;
|
||||
|
||||
use App\DataMapper\Analytics\EmailSuccess;
|
||||
use App\Libraries\Google\Google;
|
||||
use App\Libraries\MultiDB;
|
||||
use App\Models\Company;
|
||||
use App\Models\User;
|
||||
use App\Utils\Ninja;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use GuzzleHttp\Exception\ClientException;
|
||||
use App\Models\Client;
|
||||
use App\Models\Vendor;
|
||||
use App\Models\Company;
|
||||
use App\Models\Invoice;
|
||||
use App\Models\Payment;
|
||||
use App\Models\SystemLog;
|
||||
use App\Utils\HtmlEngine;
|
||||
use App\Libraries\MultiDB;
|
||||
use App\Models\ClientContact;
|
||||
use App\Models\VendorContact;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Contracts\Mail\Mailer;
|
||||
use Illuminate\Mail\Mailable;
|
||||
use App\Jobs\Util\SystemLogger;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Utils\VendorHtmlEngine;
|
||||
use App\Libraries\Google\Google;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
use App\Services\Email\EmailMailable;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
use Turbo124\Beacon\Facades\LightLogs;
|
||||
use Illuminate\Queue\InteractsWithQueue;
|
||||
use GuzzleHttp\Exception\ClientException;
|
||||
use App\DataMapper\Analytics\EmailFailure;
|
||||
use App\DataMapper\Analytics\EmailSuccess;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Foundation\Bus\Dispatchable;
|
||||
use Illuminate\Mail\Mailable;
|
||||
use Illuminate\Queue\InteractsWithQueue;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
use Turbo124\Beacon\Facades\LightLogs;
|
||||
use App\Events\Invoice\InvoiceWasEmailedAndFailed;
|
||||
use App\Events\Payment\PaymentWasEmailedAndFailed;
|
||||
|
||||
class MailEntity implements ShouldQueue
|
||||
class Email implements ShouldQueue
|
||||
{
|
||||
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels, MakesHash;
|
||||
|
||||
public Company $company;
|
||||
public $tries = 4;
|
||||
|
||||
public $deleteWhenMissingModels = true;
|
||||
|
||||
public bool $override;
|
||||
|
||||
protected ?string $client_postmark_secret = null;
|
||||
|
||||
protected ?string $client_mailgun_secret = null;
|
||||
|
||||
protected ?string $client_mailgun_domain = null;
|
||||
|
||||
private string $mailer = 'default';
|
||||
|
||||
public Mailable $mailable;
|
||||
|
||||
public Mailer $mail;
|
||||
|
||||
public ?string $client_postmark_secret = null;
|
||||
|
||||
public ?string $client_mailgun_secret = null;
|
||||
|
||||
public ?string $client_mailgun_domain = null;
|
||||
|
||||
public bool $override = false;
|
||||
|
||||
private string $mailer = '';
|
||||
|
||||
public int $tries = 4;
|
||||
|
||||
public $deleteWhenMissingModels = true;
|
||||
|
||||
/**
|
||||
* __construct
|
||||
*
|
||||
* @param mixed $invitation
|
||||
* @param mixed $db
|
||||
* @param mixed $mail_object
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(public mixed $invitation, private ?string $db, public MailObject $mail_object)
|
||||
public function __construct(public EmailObject $email_object, public Company $company)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the job
|
||||
* The backoff time between retries.
|
||||
*
|
||||
* @return void
|
||||
* @return array
|
||||
*/
|
||||
public function handle(): void
|
||||
public function backoff()
|
||||
{
|
||||
MultiDB::setDb($this->db);
|
||||
return [10, 30, 60, 240];
|
||||
}
|
||||
|
||||
/* Where there are no invitations, we need to harvest the company and also use the correct context to build the mailable*/
|
||||
$this->company = $this->invitation->company;
|
||||
public function handle()
|
||||
{
|
||||
|
||||
$this->override = $this->mail_object->override;
|
||||
MultiDB::setDb($this->company->db);
|
||||
|
||||
$builder = new MailBuild($this);
|
||||
$this->setOverride()
|
||||
->initModels()
|
||||
->setDefaults()
|
||||
->buildMailable();
|
||||
|
||||
/* Construct Mailable */
|
||||
$builder->run($this);
|
||||
|
||||
$this->mailable = $builder->getMailable();
|
||||
|
||||
/* Email quality checks */
|
||||
if ($this->preFlightChecksFail()) {
|
||||
if($this->preFlightChecksFail())
|
||||
return;
|
||||
}
|
||||
|
||||
/* Try sending email */
|
||||
$this->setMailDriver()
|
||||
->configureMailer()
|
||||
->trySending();
|
||||
$this->email();
|
||||
|
||||
$this->tearDown();
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* configureMailer
|
||||
* Sets the override flag
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function configureMailer(): self
|
||||
public function setOverride(): self
|
||||
{
|
||||
$this->mail = Mail::mailer($this->mailer);
|
||||
$this->override = $this->email_object->override;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initilializes the models
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function initModels(): self
|
||||
{
|
||||
|
||||
$this->email_object->entity_id ? $this->email_object->entity = $this->email_object->entity_class::withTrashed()->with('invitations')->find($this->email_object->entity_id) : $this->email_object->entity = null;
|
||||
|
||||
$this->email_object->invitation_id ? $this->email_object->invitation = $this->email_object->entity->invitations()->where('id', $this->email_object->invitation_id)->first() : $this->email_object->invitation = null;
|
||||
|
||||
$this->email_object->invitation_id ? $this->email_object->contact = $this->email_object->invitation->contact : $this->email_object->contact = null;
|
||||
|
||||
$this->email_object->client_id ? $this->email_object->client = Client::withTrashed()->find($this->email_object->client_id) : $this->email_object->client = null;
|
||||
|
||||
$this->email_object->vendor_id ? $this->email_object->vendor = Vendor::withTrashed()->find($this->email_object->vendor_id) : $this->email_object->vendor = null;
|
||||
|
||||
if (!$this->email_object->contact)
|
||||
{
|
||||
|
||||
$this->email_object->vendor_contact_id ? $this->email_object->contact = VendorContact::withTrashed()->find($this->email_object->vendor_contact_id) : null;
|
||||
|
||||
$this->email_object->client_contact_id ? $this->email_object->contact = ClientContact::withTrashed()->find($this->email_object->client_contact_id) : null;
|
||||
|
||||
}
|
||||
|
||||
$this->email_object->user_id ? $this->email_object->user = User::withTrashed()->find($this->email_object->user_id) : $this->email_object->user = $this->company->owner();
|
||||
|
||||
$this->email_object->company_key = $this->company->company_key;
|
||||
|
||||
$this->email_object->company = $this->company;
|
||||
|
||||
$this->email_object->client_id ? $this->email_object->settings = $this->email_object->client->getMergedSettings() : $this->email_object->settings = $this->company->settings;
|
||||
|
||||
$this->email_object->whitelabel = $this->company->account->isPaid() ? true : false;
|
||||
|
||||
$this->email_object->logo = $this->email_object->settings->company_logo;
|
||||
|
||||
$this->email_object->signature = $this->email_object->settings->email_signature;
|
||||
|
||||
$this->resolveVariables();
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates the correct set of variables
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
private function resolveVariables(): self
|
||||
{
|
||||
$_variables = $this->email_object->variables;
|
||||
|
||||
match(class_basename($this->email_object->entity)){
|
||||
"Invoice" => $this->email_object->variables = (new HtmlEngine($this->email_object->invitation))->makeValues(),
|
||||
"Quote" => $this->email_object->variables = (new HtmlEngine($this->email_object->invitation))->makeValues(),
|
||||
"Credit" => $this->email_object->variables = (new HtmlEngine($this->email_object->invitation))->makeValues(),
|
||||
"PurchaseOrder" => $this->email_object->variables = (new VendorHtmlEngine($this->email_object->invitation))->makeValues(),
|
||||
default => $this->email_object->variables = []
|
||||
};
|
||||
|
||||
/** If we have passed some variable overrides we insert them here */
|
||||
foreach($_variables as $key => $value)
|
||||
{
|
||||
$this->email_object->variables[$key] = $value;
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* tearDown
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
private function tearDown(): self
|
||||
{
|
||||
|
||||
$this->email_object->entity = null;
|
||||
$this->email_object->invitation = null;
|
||||
$this->email_object->client = null;
|
||||
$this->email_object->vendor = null;
|
||||
$this->email_object->user = null;
|
||||
$this->email_object->contact = null;
|
||||
$this->email_object->settings = null;
|
||||
|
||||
return $this;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Builds the email defaults
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setDefaults(): self
|
||||
{
|
||||
|
||||
(new EmailDefaults($this))->run();
|
||||
|
||||
return $this;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Populates the mailable
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function buildMailable(): self
|
||||
{
|
||||
|
||||
$this->mailable = new EmailMailable($this->email_object);
|
||||
|
||||
return $this;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Attempts to send the email
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function email()
|
||||
{
|
||||
|
||||
$this->setMailDriver();
|
||||
|
||||
/* Init the mailer*/
|
||||
$mailer = Mail::mailer($this->mailer);
|
||||
|
||||
/* Additional configuration if using a client third party mailer */
|
||||
if ($this->client_postmark_secret) {
|
||||
$this->mail->postmark_config($this->client_postmark_secret);
|
||||
$mailer->postmark_config($this->client_postmark_secret);
|
||||
}
|
||||
|
||||
if ($this->client_mailgun_secret) {
|
||||
$this->mail->mailgun_config($this->client_mailgun_secret, $this->client_mailgun_domain);
|
||||
$mailer->mailgun_config($this->client_mailgun_secret, $this->client_mailgun_domain);
|
||||
}
|
||||
|
||||
return $this;
|
||||
|
||||
/* Attempt the send! */
|
||||
try {
|
||||
nlog("Using mailer => ". $this->mailer. " ". now()->toDateTimeString());
|
||||
|
||||
$mailer->send($this->mailable);
|
||||
|
||||
Cache::increment($this->company->account->key);
|
||||
|
||||
LightLogs::create(new EmailSuccess($this->company->company_key))
|
||||
->send();
|
||||
|
||||
} catch (\Exception | \RuntimeException | \Google\Service\Exception $e) {
|
||||
nlog("Mailer failed with {$e->getMessage()}");
|
||||
|
||||
$message = $e->getMessage();
|
||||
|
||||
/**
|
||||
* Post mark buries the proper message in a a guzzle response
|
||||
* this merges a text string with a json object
|
||||
* need to harvest the ->Message property using the following
|
||||
*/
|
||||
if ($e instanceof ClientException) { //postmark specific failure
|
||||
$response = $e->getResponse();
|
||||
$message_body = json_decode($response->getBody()->getContents());
|
||||
|
||||
if ($message_body && property_exists($message_body, 'Message')) {
|
||||
$message = $message_body->Message;
|
||||
nlog($message);
|
||||
}
|
||||
|
||||
$this->fail();
|
||||
$this->cleanUpMailers();
|
||||
return;
|
||||
}
|
||||
|
||||
//only report once, not on all tries
|
||||
if ($this->attempts() == $this->tries) {
|
||||
/* If the is an entity attached to the message send a failure mailer */
|
||||
$this->entityEmailFailed($message);
|
||||
|
||||
/* Don't send postmark failures to Sentry */
|
||||
if (Ninja::isHosted() && (!$e instanceof ClientException)) {
|
||||
app('sentry')->captureException($e);
|
||||
}
|
||||
}
|
||||
|
||||
$this->tearDown();
|
||||
/* Releasing immediately does not add in the backoff */
|
||||
$this->release($this->backoff()[$this->attempts()-1]);
|
||||
|
||||
$message = null;
|
||||
}
|
||||
|
||||
$this->cleanUpMailers();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* On the hosted platform we scan all outbound email for
|
||||
* spam. This sequence processes the filters we use on all
|
||||
* emails.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function preFlightChecksFail(): bool
|
||||
{
|
||||
/* If we are migrating data we don't want to fire any emails */
|
||||
if ($this->company->is_disabled && !$this->override) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Ninja::isSelfHost()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* To handle spam users we drop all emails from flagged accounts */
|
||||
if ($this->company->account && $this->company->account->is_flagged) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* On the hosted platform we set default contacts a @example.com email address - we shouldn't send emails to these types of addresses */
|
||||
if ($this->hasInValidEmails()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* GMail users are uncapped */
|
||||
if (in_array($this->email_object->settings->email_sending_method, ['gmail', 'office365', 'client_postmark', 'client_mailgun'])) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* On the hosted platform, if the user is over the email quotas, we do not send the email. */
|
||||
if ($this->company->account && $this->company->account->emailQuotaExceeded()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* If the account is verified, we allow emails to flow */
|
||||
if ($this->company->account && $this->company->account->is_verified_account) {
|
||||
//11-01-2022
|
||||
|
||||
/* Continue to analyse verified accounts in case they later start sending poor quality emails*/
|
||||
// if(class_exists(\Modules\Admin\Jobs\Account\EmailQuality::class))
|
||||
// (new \Modules\Admin\Jobs\Account\EmailQuality($this->nmo, $this->company))->run();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/* On the hosted platform if the user has not verified their account we fail here - but still check what they are trying to send! */
|
||||
if ($this->company->account && !$this->company->account->account_sms_verified) {
|
||||
if (class_exists(\Modules\Admin\Jobs\Account\EmailFilter::class)) {
|
||||
return (new \Modules\Admin\Jobs\Account\EmailFilter($this->email_object, $this->company))->run();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/* On the hosted platform we actively scan all outbound emails to ensure outbound email quality remains high */
|
||||
if (class_exists(\Modules\Admin\Jobs\Account\EmailFilter::class)) {
|
||||
return (new \Modules\Admin\Jobs\Account\EmailFilter($this->email_object, $this->company))->run();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* hasInValidEmails
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
private function hasInValidEmails(): bool
|
||||
{
|
||||
foreach ($this->email_object->to as $address_object) {
|
||||
if (strpos($address_object->address, '@example.com') !== false) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!str_contains($address_object->address, "@")) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if ($address_object->address == " ") {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the mail driver to use and applies any specific configuration
|
||||
* the the mailable
|
||||
*/
|
||||
private function setMailDriver(): self
|
||||
{
|
||||
switch ($this->mail_object->settings->email_sending_method) {
|
||||
switch ($this->email_object->settings->email_sending_method) {
|
||||
case 'default':
|
||||
$this->mailer = config('mail.default');
|
||||
break;
|
||||
@ -157,7 +436,7 @@ class MailEntity implements ShouldQueue
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* Allows configuration of multiple mailers
|
||||
* per company for use by self hosted users
|
||||
*/
|
||||
@ -189,176 +468,16 @@ class MailEntity implements ShouldQueue
|
||||
*/
|
||||
private function cleanUpMailers(): void
|
||||
{
|
||||
$this->client_postmark_secret = false;
|
||||
$this->client_postmark_secret = null;
|
||||
|
||||
$this->client_mailgun_secret = false;
|
||||
$this->client_mailgun_secret = null;
|
||||
|
||||
$this->client_mailgun_domain = false;
|
||||
$this->client_mailgun_domain = null;
|
||||
|
||||
//always dump the drivers to prevent reuse
|
||||
app('mail.manager')->forgetMailers();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Attempts to send the email
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function trySending(): void
|
||||
{
|
||||
try {
|
||||
$this->mail->send($this->mailable);
|
||||
|
||||
/* Count the amount of emails sent across all the users accounts */
|
||||
Cache::increment($this->company->account->key);
|
||||
|
||||
LightLogs::create(new EmailSuccess($this->company->company_key))
|
||||
->send();
|
||||
} catch(\Symfony\Component\Mime\Exception\RfcComplianceException $e) {
|
||||
nlog("Mailer failed with a Logic Exception {$e->getMessage()}");
|
||||
$this->fail();
|
||||
$this->cleanUpMailers();
|
||||
// $this->logMailError($e->getMessage(), $this->company->clients()->first());
|
||||
return;
|
||||
} catch(\Symfony\Component\Mime\Exception\LogicException $e) {
|
||||
nlog("Mailer failed with a Logic Exception {$e->getMessage()}");
|
||||
$this->fail();
|
||||
$this->cleanUpMailers();
|
||||
// $this->logMailError($e->getMessage(), $this->company->clients()->first());
|
||||
return;
|
||||
} catch (\Exception | \Google\Service\Exception $e) {
|
||||
nlog("Mailer failed with {$e->getMessage()}");
|
||||
$message = $e->getMessage();
|
||||
|
||||
/**
|
||||
* Post mark buries the proper message in a a guzzle response
|
||||
* this merges a text string with a json object
|
||||
* need to harvest the ->Message property using the following
|
||||
*/
|
||||
if (stripos($e->getMessage(), 'code 406') || stripos($e->getMessage(), 'code 300') || stripos($e->getMessage(), 'code 413')) {
|
||||
$message = "Either Attachment too large, or recipient has been suppressed.";
|
||||
|
||||
$this->fail();
|
||||
// $this->logMailError($e->getMessage(), $this->company->clients()->first());
|
||||
$this->cleanUpMailers();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
//only report once, not on all tries
|
||||
if ($this->attempts() == $this->tries) {
|
||||
/* If the is an entity attached to the message send a failure mailer */
|
||||
if ($this->mail_object->entity_id) {
|
||||
// $this->entityEmailFailed($message);
|
||||
|
||||
/* Don't send postmark failures to Sentry */
|
||||
if (Ninja::isHosted() && (!$e instanceof ClientException)) {
|
||||
app('sentry')->captureException($e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Releasing immediately does not add in the backoff */
|
||||
$this->release($this->backoff()[$this->attempts()-1]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* On the hosted platform we scan all outbound email for
|
||||
* spam. This sequence processes the filters we use on all
|
||||
* emails.
|
||||
*/
|
||||
public function preFlightChecksFail(): bool
|
||||
{
|
||||
/* Handle bad state */
|
||||
if (!$this->company) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* Handle deactivated company */
|
||||
if ($this->company->is_disabled && !$this->override) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* To handle spam users we drop all emails from flagged accounts */
|
||||
if (Ninja::isHosted() && $this->company->account && $this->company->account->is_flagged) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* On the hosted platform we set default contacts a @example.com email address - we shouldn't send emails to these types of addresses */
|
||||
if ($this->hasInValidEmails()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* GMail users are uncapped */
|
||||
if (in_array($this->mail_object->settings->email_sending_method, ['gmail', 'office365', 'client_postmark', 'client_mailgun'])) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* On the hosted platform, if the user is over the email quotas, we do not send the email. */
|
||||
if (Ninja::isHosted() && $this->company->account && $this->company->account->emailQuotaExceeded()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* If the account is verified, we allow emails to flow */
|
||||
if (Ninja::isHosted() && $this->company->account && $this->company->account->is_verified_account) {
|
||||
//11-01-2022
|
||||
|
||||
/* Continue to analyse verified accounts in case they later start sending poor quality emails*/
|
||||
// if(class_exists(\Modules\Admin\Jobs\Account\EmailQuality::class))
|
||||
// (new \Modules\Admin\Jobs\Account\EmailQuality($this->mail_object, $this->company))->run();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/* On the hosted platform if the user has not verified their account we fail here - but still check what they are trying to send! */
|
||||
if ($this->company->account && !$this->company->account->account_sms_verified) {
|
||||
if (class_exists(\Modules\Admin\Jobs\Account\EmailFilter::class)) {
|
||||
(new \Modules\Admin\Jobs\Account\EmailFilter($this->mail_object, $this->company))->run();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/* On the hosted platform we actively scan all outbound emails to ensure outbound email quality remains high */
|
||||
if (class_exists(\Modules\Admin\Jobs\Account\EmailFilter::class)) {
|
||||
(new \Modules\Admin\Jobs\Account\EmailFilter($this->mail_object, $this->company))->run();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Checks if emails are have some illegal / required characters.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
private function hasInValidEmails(): bool
|
||||
{
|
||||
if (Ninja::isSelfHost()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
foreach ($this->mail_object->to as $address_object) {
|
||||
if (strpos($address_object->address, '@example.com') !== false) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!str_contains($address_object->address, "@")) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if ($address_object->address == " ") {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Check to ensure no cross account
|
||||
@ -370,7 +489,8 @@ class MailEntity implements ShouldQueue
|
||||
{
|
||||
/* Always ensure the user is set on the correct account */
|
||||
if ($user->account_id != $this->company->account_id) {
|
||||
$this->mail_object->settings->email_sending_method = 'default';
|
||||
$this->email_object->settings->email_sending_method = 'default';
|
||||
|
||||
return $this->setMailDriver();
|
||||
}
|
||||
}
|
||||
@ -384,7 +504,7 @@ class MailEntity implements ShouldQueue
|
||||
*/
|
||||
private function resolveSendingUser(): ?User
|
||||
{
|
||||
$sending_user = $this->mail_object->settings->gmail_sending_user_id;
|
||||
$sending_user = $this->email_object->settings->gmail_sending_user_id;
|
||||
|
||||
if ($sending_user == "0") {
|
||||
$user = $this->company->owner();
|
||||
@ -394,25 +514,24 @@ class MailEntity implements ShouldQueue
|
||||
|
||||
return $user;
|
||||
}
|
||||
|
||||
/**
|
||||
* Configures Mailgun using client supplied secret
|
||||
* as the Mailer
|
||||
*/
|
||||
private function setMailgunMailer()
|
||||
{
|
||||
if (strlen($this->mail_object->settings->mailgun_secret) > 2 && strlen($this->mail_object->settings->mailgun_domain) > 2) {
|
||||
$this->client_mailgun_secret = $this->mail_object->settings->mailgun_secret;
|
||||
$this->client_mailgun_domain = $this->mail_object->settings->mailgun_domain;
|
||||
if (strlen($this->email_object->settings->mailgun_secret) > 2 && strlen($this->email_object->settings->mailgun_domain) > 2) {
|
||||
$this->client_mailgun_secret = $this->email_object->settings->mailgun_secret;
|
||||
$this->client_mailgun_domain = $this->email_object->settings->mailgun_domain;
|
||||
} else {
|
||||
$this->mail_object->settings->email_sending_method = 'default';
|
||||
$this->email_object->settings->email_sending_method = 'default';
|
||||
return $this->setMailDriver();
|
||||
}
|
||||
|
||||
$user = $this->resolveSendingUser();
|
||||
|
||||
$sending_email = (isset($this->mail_object->settings->custom_sending_email) && stripos($this->mail_object->settings->custom_sending_email, "@")) ? $this->mail_object->settings->custom_sending_email : $user->email;
|
||||
$sending_user = (isset($this->mail_object->settings->email_from_name) && strlen($this->mail_object->settings->email_from_name) > 2) ? $this->mail_object->settings->email_from_name : $user->name();
|
||||
$sending_email = (isset($this->email_object->settings->custom_sending_email) && stripos($this->email_object->settings->custom_sending_email, "@")) ? $this->email_object->settings->custom_sending_email : $user->email;
|
||||
$sending_user = (isset($this->email_object->settings->email_from_name) && strlen($this->email_object->settings->email_from_name) > 2) ? $this->email_object->settings->email_from_name : $user->name();
|
||||
|
||||
$this->mailable
|
||||
->from($sending_email, $sending_user);
|
||||
@ -424,18 +543,18 @@ class MailEntity implements ShouldQueue
|
||||
*/
|
||||
private function setPostmarkMailer()
|
||||
{
|
||||
if (strlen($this->mail_object->settings->postmark_secret) > 2) {
|
||||
$this->client_postmark_secret = $this->mail_object->settings->postmark_secret;
|
||||
if (strlen($this->email_object->settings->postmark_secret) > 2) {
|
||||
$this->client_postmark_secret = $this->email_object->settings->postmark_secret;
|
||||
} else {
|
||||
$this->mail_object->settings->email_sending_method = 'default';
|
||||
$this->email_object->settings->email_sending_method = 'default';
|
||||
return $this->setMailDriver();
|
||||
}
|
||||
|
||||
$user = $this->resolveSendingUser();
|
||||
|
||||
$sending_email = (isset($this->mail_object->settings->custom_sending_email) && stripos($this->mail_object->settings->custom_sending_email, "@")) ? $this->mail_object->settings->custom_sending_email : $user->email;
|
||||
$sending_user = (isset($this->mail_object->settings->email_from_name) && strlen($this->mail_object->settings->email_from_name) > 2) ? $this->mail_object->settings->email_from_name : $user->name();
|
||||
|
||||
$sending_email = (isset($this->email_object->settings->custom_sending_email) && stripos($this->email_object->settings->custom_sending_email, "@")) ? $this->email_object->settings->custom_sending_email : $user->email;
|
||||
$sending_user = (isset($this->email_object->settings->email_from_name) && strlen($this->email_object->settings->email_from_name) > 2) ? $this->email_object->settings->email_from_name : $user->name();
|
||||
|
||||
$this->mailable
|
||||
->from($sending_email, $sending_user);
|
||||
}
|
||||
@ -447,7 +566,7 @@ class MailEntity implements ShouldQueue
|
||||
private function setOfficeMailer()
|
||||
{
|
||||
$user = $this->resolveSendingUser();
|
||||
|
||||
|
||||
$this->checkValidSendingUser($user);
|
||||
|
||||
nlog("Sending via {$user->name()}");
|
||||
@ -458,7 +577,7 @@ class MailEntity implements ShouldQueue
|
||||
$user->oauth_user_token = $token;
|
||||
$user->save();
|
||||
} else {
|
||||
$this->mail_object->settings->email_sending_method = 'default';
|
||||
$this->email_object->settings->email_sending_method = 'default';
|
||||
return $this->setMailDriver();
|
||||
}
|
||||
|
||||
@ -478,7 +597,7 @@ class MailEntity implements ShouldQueue
|
||||
$user = $this->resolveSendingUser();
|
||||
|
||||
$this->checkValidSendingUser($user);
|
||||
|
||||
|
||||
nlog("Sending via {$user->name()}");
|
||||
|
||||
$google = (new Google())->init();
|
||||
@ -491,8 +610,8 @@ class MailEntity implements ShouldQueue
|
||||
|
||||
$google->getClient()->setAccessToken(json_encode($user->oauth_user_token));
|
||||
} catch(\Exception $e) {
|
||||
// $this->logMailError('Gmail Token Invalid', $this->company->clients()->first());
|
||||
$this->mail_object->settings->email_sending_method = 'default';
|
||||
$this->logMailError('Gmail Token Invalid', $this->company->clients()->first());
|
||||
$this->email_object->settings->email_sending_method = 'default';
|
||||
return $this->setMailDriver();
|
||||
}
|
||||
|
||||
@ -502,7 +621,7 @@ class MailEntity implements ShouldQueue
|
||||
|
||||
if (!$user->oauth_user_token) {
|
||||
$this->company->account->gmailCredentialNotification();
|
||||
$this->mail_object->settings->email_sending_method = 'default';
|
||||
$this->email_object->settings->email_sending_method = 'default';
|
||||
return $this->setMailDriver();
|
||||
}
|
||||
|
||||
@ -516,7 +635,7 @@ class MailEntity implements ShouldQueue
|
||||
|
||||
if (!$token) {
|
||||
$this->company->account->gmailCredentialNotification();
|
||||
$this->mail_object->settings->email_sending_method = 'default';
|
||||
$this->email_object->settings->email_sending_method = 'default';
|
||||
return $this->setMailDriver();
|
||||
}
|
||||
|
||||
@ -527,13 +646,41 @@ class MailEntity implements ShouldQueue
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* Logs any errors to the SystemLog
|
||||
*
|
||||
* @param string $errors
|
||||
* @param null | \App\Models\Client $recipient_object
|
||||
* @return void
|
||||
*/
|
||||
private function logMailError($errors, $recipient_object) :void
|
||||
{
|
||||
(new SystemLogger(
|
||||
$errors,
|
||||
SystemLog::CATEGORY_MAIL,
|
||||
SystemLog::EVENT_MAIL_SEND,
|
||||
SystemLog::TYPE_FAILURE,
|
||||
$recipient_object,
|
||||
$this->company
|
||||
))->handle();
|
||||
|
||||
$job_failure = new EmailFailure($this->company->company_key);
|
||||
$job_failure->string_metric5 = 'failed_email';
|
||||
$job_failure->string_metric6 = substr($errors, 0, 150);
|
||||
|
||||
LightLogs::create($job_failure)
|
||||
->send();
|
||||
|
||||
$job_failure = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Attempts to refresh the Microsoft refreshToken
|
||||
*
|
||||
* @param App\Models\User
|
||||
* @return string | boool
|
||||
* @param \App\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
private function refreshOfficeToken($user)
|
||||
private function refreshOfficeToken(User $user): mixed
|
||||
{
|
||||
$expiry = $user->oauth_user_token_expiry ?: now()->subDay();
|
||||
|
||||
@ -567,23 +714,42 @@ class MailEntity implements ShouldQueue
|
||||
}
|
||||
|
||||
/**
|
||||
* Backoff time
|
||||
* Entity notification when an email fails to send
|
||||
*
|
||||
* @param string $message
|
||||
* @return void
|
||||
*/
|
||||
public function backoff()
|
||||
private function entityEmailFailed($message): void
|
||||
{
|
||||
return [5, 10, 30, 240];
|
||||
$class = get_class($this->email_object->entity);
|
||||
|
||||
switch ($class) {
|
||||
case Invoice::class:
|
||||
event(new InvoiceWasEmailedAndFailed($this->email_object->invitation, $this->company, $message, $this->email_object->html_template, Ninja::eventVars(auth()->user() ? auth()->user()->id : null)));
|
||||
break;
|
||||
case Payment::class:
|
||||
event(new PaymentWasEmailedAndFailed($this->email_object->entity, $this->company, $message, Ninja::eventVars(auth()->user() ? auth()->user()->id : null)));
|
||||
break;
|
||||
default:
|
||||
# code...
|
||||
break;
|
||||
}
|
||||
|
||||
if ($this->email_object->client) {
|
||||
$this->logMailError($message, $this->email_object->client);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Failed handler
|
||||
*
|
||||
* @param mixed $exception
|
||||
* @return void
|
||||
*/
|
||||
|
||||
|
||||
public function failed($exception = null)
|
||||
{
|
||||
|
||||
if($exception)
|
||||
nlog($exception->getMessage());
|
||||
|
||||
config(['queue.failed.driver' => null]);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -11,18 +11,29 @@
|
||||
|
||||
namespace App\Services\Email;
|
||||
|
||||
use App\DataMapper\EmailTemplateDefaults;
|
||||
use App\Models\Account;
|
||||
use App\Models\Task;
|
||||
use App\Utils\Ninja;
|
||||
use Illuminate\Mail\Mailables\Address;
|
||||
use App\Models\Quote;
|
||||
use App\Models\Credit;
|
||||
use App\Models\Account;
|
||||
use App\Models\Expense;
|
||||
use App\Models\Invoice;
|
||||
use App\Models\PurchaseOrder;
|
||||
use App\Jobs\Invoice\CreateUbl;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Jobs\Entity\CreateRawPdf;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use Illuminate\Mail\Mailables\Address;
|
||||
use App\DataMapper\EmailTemplateDefaults;
|
||||
use League\CommonMark\CommonMarkConverter;
|
||||
use App\Jobs\Vendor\CreatePurchaseOrderPdf;
|
||||
|
||||
class EmailDefaults
|
||||
{
|
||||
use MakesHash;
|
||||
/**
|
||||
* The settings object for this email
|
||||
* @var CompanySettings $settings
|
||||
* @var \App\DataMapper\CompanySettings $settings
|
||||
*/
|
||||
protected $settings;
|
||||
|
||||
@ -39,10 +50,9 @@ class EmailDefaults
|
||||
private string $locale;
|
||||
|
||||
/**
|
||||
* @param EmailService $email_service The email service class
|
||||
* @param EmailObject $email_object the email object class
|
||||
* @param Email $email job class
|
||||
*/
|
||||
public function __construct(protected EmailService $email_service, public EmailObject $email_object)
|
||||
public function __construct(protected Email $email)
|
||||
{
|
||||
}
|
||||
|
||||
@ -54,36 +64,20 @@ class EmailDefaults
|
||||
*/
|
||||
public function run()
|
||||
{
|
||||
$this->settings = $this->email_object->settings;
|
||||
$this->settings = $this->email->email_object->settings;
|
||||
|
||||
$this->setLocale()
|
||||
$this->setLocale()
|
||||
->setFrom()
|
||||
->setTo()
|
||||
->setTemplate()
|
||||
->setBody()
|
||||
->setSubject()
|
||||
->setReplyTo()
|
||||
->setBcc()
|
||||
->setAttachments()
|
||||
->setMetaData()
|
||||
->setVariables();
|
||||
|
||||
return $this->email_object;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the meta data for the Email object
|
||||
*/
|
||||
private function setMetaData(): self
|
||||
{
|
||||
$this->email_object->company_key = $this->email_service->company->company_key;
|
||||
|
||||
$this->email_object->logo = $this->email_service->company->present()->logo();
|
||||
|
||||
$this->email_object->signature = $this->email_object->signature ?: $this->settings->email_signature;
|
||||
|
||||
$this->email_object->whitelabel = $this->email_object->company->account->isPaid() ? true : false;
|
||||
|
||||
return $this;
|
||||
return $this->email->email_object;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -91,12 +85,12 @@ class EmailDefaults
|
||||
*/
|
||||
private function setLocale(): self
|
||||
{
|
||||
if ($this->email_object->client) {
|
||||
$this->locale = $this->email_object->client->locale();
|
||||
} elseif ($this->email_object->vendor) {
|
||||
$this->locale = $this->email_object->vendor->locale();
|
||||
if ($this->email->email_object->client) {
|
||||
$this->locale = $this->email->email_object->client->locale();
|
||||
} elseif ($this->email->email_object->vendor) {
|
||||
$this->locale = $this->email->email_object->vendor->locale();
|
||||
} else {
|
||||
$this->locale = $this->email_service->company->locale();
|
||||
$this->locale = $this->email->company->locale();
|
||||
}
|
||||
|
||||
App::setLocale($this->locale);
|
||||
@ -112,16 +106,16 @@ class EmailDefaults
|
||||
*/
|
||||
private function setTemplate(): self
|
||||
{
|
||||
$this->template = $this->email_object->settings->email_style;
|
||||
$this->template = $this->email->email_object->settings->email_style;
|
||||
|
||||
match ($this->email_object->settings->email_style) {
|
||||
match ($this->email->email_object->settings->email_style) {
|
||||
'light' => $this->template = 'email.template.client',
|
||||
'dark' => $this->template = 'email.template.client',
|
||||
'custom' => $this->template = 'email.template.custom',
|
||||
default => $this->template = 'email.template.client',
|
||||
};
|
||||
|
||||
$this->email_object->html_template = $this->template;
|
||||
$this->email->email_object->html_template = $this->template;
|
||||
|
||||
return $this;
|
||||
}
|
||||
@ -131,16 +125,30 @@ class EmailDefaults
|
||||
*/
|
||||
private function setFrom(): self
|
||||
{
|
||||
if (Ninja::isHosted() && $this->email_object->settings->email_sending_method == 'default') {
|
||||
$this->email_object->from = new Address(config('mail.from.address'), $this->email_service->company->owner()->name());
|
||||
if (Ninja::isHosted() && $this->email->email_object->settings->email_sending_method == 'default') {
|
||||
$this->email->email_object->from = new Address(config('mail.from.address'), $this->email->company->owner()->name());
|
||||
return $this;
|
||||
}
|
||||
|
||||
if ($this->email_object->from) {
|
||||
if ($this->email->email_object->from) {
|
||||
return $this;
|
||||
}
|
||||
|
||||
$this->email_object->from = new Address($this->email_service->company->owner()->email, $this->email_service->company->owner()->name());
|
||||
$this->email->email_object->from = new Address($this->email->company->owner()->email, $this->email->company->owner()->name());
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the To address
|
||||
*/
|
||||
private function setTo(): self
|
||||
{
|
||||
if ($this->email->email_object->to) {
|
||||
return $this;
|
||||
}
|
||||
|
||||
$this->email->email_object->to = [new Address($this->email->email_object->contact->email, $this->email->email_object->contact->present()->name())];
|
||||
|
||||
return $this;
|
||||
}
|
||||
@ -150,16 +158,19 @@ class EmailDefaults
|
||||
*/
|
||||
private function setBody(): self
|
||||
{
|
||||
if ($this->email_object->body) {
|
||||
$this->email_object->body = $this->email_object->body;
|
||||
} elseif (strlen($this->email_object->settings->{$this->email_object->email_template_body}) > 3) {
|
||||
$this->email_object->body = $this->email_object->settings->{$this->email_object->email_template_body};
|
||||
if ($this->email->email_object->body) {
|
||||
// A Custom Message has been set in the email screen.
|
||||
return $this;
|
||||
} elseif (strlen($this->email->email_object->settings?->{$this->email->email_object->email_template_body}) > 3) {
|
||||
// A body has been saved in the settings.
|
||||
$this->email->email_object->body = $this->email->email_object->settings?->{$this->email->email_object->email_template_body};
|
||||
} else {
|
||||
$this->email_object->body = EmailTemplateDefaults::getDefaultTemplate($this->email_object->email_template_body, $this->locale);
|
||||
// Default template to be used
|
||||
$this->email->email_object->body = EmailTemplateDefaults::getDefaultTemplate($this->email->email_object->email_template_body, $this->locale);
|
||||
}
|
||||
|
||||
if ($this->template == 'email.template.custom') {
|
||||
$this->email_object->body = (str_replace('$body', $this->email_object->body, $this->email_object->settings->email_style_custom));
|
||||
$this->email->email_object->body = (str_replace('$body', $this->email->email_object->body, $this->email->email_object->settings->email_style_custom));
|
||||
}
|
||||
|
||||
return $this;
|
||||
@ -170,12 +181,12 @@ class EmailDefaults
|
||||
*/
|
||||
private function setSubject(): self
|
||||
{
|
||||
if ($this->email_object->subject) { //where the user updates the subject from the UI
|
||||
if ($this->email->email_object->subject) { //where the user updates the subject from the UI
|
||||
return $this;
|
||||
} elseif (strlen($this->email_object->settings->{$this->email_object->email_template_subject}) > 3) {
|
||||
$this->email_object->subject = $this->email_object->settings->{$this->email_object->email_template_subject};
|
||||
} elseif (strlen($this->email->email_object->settings?->{$this->email->email_object->email_template_subject}) > 3) {
|
||||
$this->email->email_object->subject = $this->email->email_object->settings?->{$this->email->email_object->email_template_subject};
|
||||
} else {
|
||||
$this->email_object->subject = EmailTemplateDefaults::getDefaultTemplate($this->email_object->email_template_subject, $this->locale);
|
||||
$this->email->email_object->subject = EmailTemplateDefaults::getDefaultTemplate($this->email->email_object->email_template_subject, $this->locale);
|
||||
}
|
||||
|
||||
return $this;
|
||||
@ -186,11 +197,11 @@ class EmailDefaults
|
||||
*/
|
||||
private function setReplyTo(): self
|
||||
{
|
||||
$reply_to_email = str_contains($this->email_object->settings->reply_to_email, "@") ? $this->email_object->settings->reply_to_email : $this->email_service->company->owner()->email;
|
||||
$reply_to_email = str_contains($this->email->email_object->settings->reply_to_email, "@") ? $this->email->email_object->settings->reply_to_email : $this->email->company->owner()->email;
|
||||
|
||||
$reply_to_name = strlen($this->email_object->settings->reply_to_name) > 3 ? $this->email_object->settings->reply_to_name : $this->email_service->company->owner()->present()->name();
|
||||
$reply_to_name = strlen($this->email->email_object->settings->reply_to_name) > 3 ? $this->email->email_object->settings->reply_to_name : $this->email->company->owner()->present()->name();
|
||||
|
||||
$this->email_object->reply_to = array_merge($this->email_object->reply_to, [new Address($reply_to_email, $reply_to_name)]);
|
||||
$this->email->email_object->reply_to = array_merge($this->email->email_object->reply_to, [new Address($reply_to_email, $reply_to_name)]);
|
||||
|
||||
return $this;
|
||||
}
|
||||
@ -201,12 +212,12 @@ class EmailDefaults
|
||||
*/
|
||||
public function setVariables(): self
|
||||
{
|
||||
$this->email_object->body = strtr($this->email_object->body, $this->email_object->variables);
|
||||
$this->email->email_object->body = strtr($this->email->email_object->body, $this->email->email_object->variables);
|
||||
|
||||
$this->email_object->subject = strtr($this->email_object->subject, $this->email_object->variables);
|
||||
$this->email->email_object->subject = strtr($this->email->email_object->subject, $this->email->email_object->variables);
|
||||
|
||||
if ($this->template != 'custom') {
|
||||
$this->email_object->body = $this->parseMarkdownToHtml($this->email_object->body);
|
||||
$this->email->email_object->body = $this->parseMarkdownToHtml($this->email->email_object->body);
|
||||
}
|
||||
|
||||
return $this;
|
||||
@ -220,11 +231,11 @@ class EmailDefaults
|
||||
$bccs = [];
|
||||
$bcc_array = [];
|
||||
|
||||
if (strlen($this->email_object->settings->bcc_email) > 1) {
|
||||
if (Ninja::isHosted() && $this->email_service->company->account->isPaid()) {
|
||||
$bccs = array_slice(explode(',', str_replace(' ', '', $this->email_object->settings->bcc_email)), 0, 2);
|
||||
if (strlen($this->email->email_object->settings->bcc_email) > 1) {
|
||||
if (Ninja::isHosted() && $this->email->company->account->isPaid()) {
|
||||
$bccs = array_slice(explode(',', str_replace(' ', '', $this->email->email_object->settings->bcc_email)), 0, 2);
|
||||
} elseif (Ninja::isSelfHost()) {
|
||||
$bccs = (explode(',', str_replace(' ', '', $this->email_object->settings->bcc_email)));
|
||||
$bccs = (explode(',', str_replace(' ', '', $this->email->email_object->settings->bcc_email)));
|
||||
}
|
||||
}
|
||||
|
||||
@ -232,7 +243,7 @@ class EmailDefaults
|
||||
$bcc_array[] = new Address($bcc);
|
||||
}
|
||||
|
||||
$this->email_object->bcc = array_merge($this->email_object->bcc, $bcc_array);
|
||||
$this->email->email_object->bcc = array_merge($this->email->email_object->bcc, $bcc_array);
|
||||
|
||||
return $this;
|
||||
}
|
||||
@ -258,15 +269,81 @@ class EmailDefaults
|
||||
*/
|
||||
private function setAttachments(): self
|
||||
{
|
||||
$attachments = [];
|
||||
$documents = [];
|
||||
|
||||
if ($this->email_object->settings->document_email_attachment && $this->email_service->company->account->hasFeature(Account::FEATURE_DOCUMENTS)) {
|
||||
foreach ($this->email_service->company->documents as $document) {
|
||||
$attachments[] = ['file' => base64_encode($document->getFile()), 'name' => $document->name];
|
||||
/* Return early if the user cannot attach documents */
|
||||
if (!$this->email->email_object->settings->document_email_attachment || !$this->email->company->account->hasFeature(Account::FEATURE_DOCUMENTS)) {
|
||||
return $this;
|
||||
}
|
||||
|
||||
/** Purchase Order / Invoice / Credit / Quote PDF */
|
||||
if ($this->email->email_object->entity instanceof PurchaseOrder) {
|
||||
$pdf = (new CreatePurchaseOrderPdf($this->email->email_object->invitation))->rawPdf();
|
||||
|
||||
$this->email->email_object->attachments = array_merge($this->email->email_object->attachments, [['file' => base64_encode($pdf), 'name' => $this->email->email_object->entity->numberFormatter().'.pdf']]);
|
||||
} elseif ($this->email->email_object->settings->pdf_email_attachment &&
|
||||
($this->email->email_object->entity instanceof Invoice ||
|
||||
$this->email->email_object->entity instanceof Quote ||
|
||||
$this->email->email_object->entity instanceof Credit)) {
|
||||
$pdf = ((new CreateRawPdf($this->email->email_object->invitation, $this->email->company->db))->handle());
|
||||
|
||||
$this->email->email_object->attachments = array_merge($this->email->email_object->attachments, [['file' => base64_encode($pdf), 'name' => $this->email->email_object->entity->numberFormatter().'.pdf']]);
|
||||
}
|
||||
|
||||
/* Company Documents */
|
||||
$this->email->email_object->documents = array_merge($this->email->email_object->documents, $this->email->company->documents->pluck('id')->toArray());
|
||||
|
||||
/** Entity Documents */
|
||||
if ($this->email->email_object->entity?->documents) {
|
||||
$this->email->email_object->documents = array_merge($this->email->email_object->documents, $this->email->email_object->entity->documents->pluck('id')->toArray());
|
||||
}
|
||||
|
||||
/** Recurring Invoice Documents */
|
||||
if ($this->email->email_object->entity instanceof Invoice && $this->email->email_object->entity->recurring_id != null) {
|
||||
$this->email->email_object->documents = array_merge($this->email->email_object->documents, $this->email->email_object->entity->recurring_invoice->documents->pluck('id')->toArray());
|
||||
}
|
||||
|
||||
/** Task / Expense Documents */
|
||||
if ($this->email->email_object->entity instanceof Invoice) {
|
||||
$expense_ids = [];
|
||||
$task_ids = [];
|
||||
|
||||
foreach ($this->email->email_object->entity->line_items as $item) {
|
||||
if (property_exists($item, 'expense_id')) {
|
||||
$expense_ids[] = $item->expense_id;
|
||||
}
|
||||
|
||||
if (property_exists($item, 'task_id')) {
|
||||
$task_ids[] = $item->task_id;
|
||||
}
|
||||
}
|
||||
|
||||
if (count($expense_ids) > 0) {
|
||||
Expense::whereIn('id', $this->transformKeys($expense_ids))
|
||||
->where('invoice_documents', 1)
|
||||
->cursor()
|
||||
->each(function ($expense) {
|
||||
$this->email->email_object->documents = array_merge($this->email->email_object->documents, $expense->documents->pluck('id')->toArray());
|
||||
});
|
||||
}
|
||||
|
||||
if (count($task_ids) > 0 && $this->email->company->invoice_task_documents) {
|
||||
Task::whereIn('id', $this->transformKeys($task_ids))
|
||||
->cursor()
|
||||
->each(function ($task) {
|
||||
$this->email->email_object->documents = array_merge($this->email->email_object->documents, $task->documents->pluck('id')->toArray());
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$this->email_object->attachments = array_merge($this->email_object->attachments, $attachments);
|
||||
/** UBL xml file */
|
||||
if ($this->email->email_object->entity instanceof Invoice && $this->email->email_object->settings->ubl_email_attachment) {
|
||||
$ubl_string = (new CreateUbl($this->email->email_object->entity))->handle();
|
||||
|
||||
if ($ubl_string) {
|
||||
$this->email->email_object->attachments = array_merge($this->email->email_object->attachments, [['file' => base64_encode($ubl_string), 'name' => $this->email->email_object->entity->getFileName('xml')]]);
|
||||
}
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
@ -276,8 +353,8 @@ class EmailDefaults
|
||||
*/
|
||||
private function setHeaders(): self
|
||||
{
|
||||
if ($this->email_object->invitation_key) {
|
||||
$this->email_object->headers = array_merge($this->email_object->headers, ['x-invitation-key' => $this->email_object->invitation_key]);
|
||||
if ($this->email->email_object->invitation_key) {
|
||||
$this->email->email_object->headers = array_merge($this->email->email_object->headers, ['x-invitation-key' => $this->email->email_object->invitation_key]);
|
||||
}
|
||||
|
||||
return $this;
|
||||
|
@ -11,14 +11,19 @@
|
||||
|
||||
namespace App\Services\Email;
|
||||
|
||||
use Illuminate\Mail\Attachment;
|
||||
use App\Models\Document;
|
||||
use Illuminate\Mail\Mailable;
|
||||
use Illuminate\Mail\Attachment;
|
||||
use Illuminate\Support\Facades\URL;
|
||||
use Illuminate\Mail\Mailables\Content;
|
||||
use Illuminate\Mail\Mailables\Envelope;
|
||||
use Illuminate\Mail\Mailables\Headers;
|
||||
use Illuminate\Mail\Mailables\Envelope;
|
||||
|
||||
class EmailMailable extends Mailable
|
||||
{
|
||||
|
||||
public int $max_attachment_size = 3000000;
|
||||
|
||||
/**
|
||||
* Create a new message instance.
|
||||
*
|
||||
@ -52,6 +57,16 @@ class EmailMailable extends Mailable
|
||||
*/
|
||||
public function content()
|
||||
{
|
||||
|
||||
$links = Document::whereIn('id',$this->email_object->documents)
|
||||
->where('size', '>', $this->max_attachment_size)
|
||||
->cursor()
|
||||
->map(function ($document){
|
||||
|
||||
return "<a class='doc_links' href='" . URL::signedRoute('documents.public_download', ['document_hash' => $document->hash]) ."'>". $document->name ."</a>";
|
||||
|
||||
});
|
||||
|
||||
return new Content(
|
||||
view: $this->email_object->html_template,
|
||||
text: $this->email_object->text_template,
|
||||
@ -63,7 +78,8 @@ class EmailMailable extends Mailable
|
||||
'logo' => $this->email_object->logo,
|
||||
'signature' => $this->email_object->signature,
|
||||
'company' => $this->email_object->company,
|
||||
'greeting' => ''
|
||||
'greeting' => '',
|
||||
'links' => array_merge($this->email_object->links, $links->toArray()),
|
||||
]
|
||||
);
|
||||
}
|
||||
@ -77,11 +93,20 @@ class EmailMailable extends Mailable
|
||||
{
|
||||
$attachments = [];
|
||||
|
||||
foreach ($this->email_object->attachments as $file) {
|
||||
$attachments[] = Attachment::fromData(fn () => base64_decode($file['file']), $file['name']);
|
||||
}
|
||||
$attachments = collect($this->email_object->attachments)->map(function ($file){
|
||||
return Attachment::fromData(fn () => base64_decode($file['file']), $file['name']);
|
||||
});
|
||||
|
||||
return $attachments;
|
||||
$documents = Document::whereIn('id',$this->email_object->documents)
|
||||
->where('size', '<', $this->max_attachment_size)
|
||||
->cursor()
|
||||
->map(function ($document){
|
||||
|
||||
return Attachment::fromData(fn () => $document->getFile(), $document->name);
|
||||
|
||||
});
|
||||
|
||||
return $attachments->merge($documents)->toArray();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -37,6 +37,7 @@ use Illuminate\Support\Facades\Cache;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
use Turbo124\Beacon\Facades\LightLogs;
|
||||
|
||||
//@deprecated v5.5.83
|
||||
class EmailMailer implements ShouldQueue
|
||||
{
|
||||
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels, MakesHash;
|
||||
|
@ -11,13 +11,22 @@
|
||||
|
||||
namespace App\Services\Email;
|
||||
|
||||
use App\Models\Client;
|
||||
use App\Models\ClientContact;
|
||||
use App\Models\Company;
|
||||
use App\Models\User;
|
||||
use App\Models\Quote;
|
||||
use App\Models\Client;
|
||||
use App\Models\Credit;
|
||||
use App\Models\Vendor;
|
||||
use App\Models\Company;
|
||||
use App\Models\Invoice;
|
||||
use App\Models\Payment;
|
||||
use App\Models\ClientContact;
|
||||
use App\Models\PurchaseOrder;
|
||||
use App\Models\VendorContact;
|
||||
use App\Models\QuoteInvitation;
|
||||
use App\Models\CreditInvitation;
|
||||
use App\Models\InvoiceInvitation;
|
||||
use Illuminate\Mail\Mailables\Address;
|
||||
use App\Models\PurchaseOrderInvitation;
|
||||
|
||||
/**
|
||||
* EmailObject.
|
||||
@ -42,6 +51,8 @@ class EmailObject
|
||||
|
||||
public string $company_key;
|
||||
|
||||
public Company $company;
|
||||
|
||||
public ?object $settings = null;
|
||||
|
||||
public bool $whitelabel = false;
|
||||
@ -52,15 +63,31 @@ class EmailObject
|
||||
|
||||
public ?string $greeting = null;
|
||||
|
||||
public ?Client $client = null;
|
||||
public ?int $invitation_id = null;
|
||||
|
||||
public ?Vendor $vendor = null;
|
||||
public InvoiceInvitation | QuoteInvitation | CreditInvitation | PurchaseOrderInvitation | null $invitation;
|
||||
|
||||
public ?int $entity_id = null;
|
||||
|
||||
public ?User $user = null;
|
||||
public Invoice | Quote | Credit | PurchaseOrder | Payment | null $entity;
|
||||
|
||||
public ?int $client_id = null;
|
||||
|
||||
public ?ClientContact $client_contact = null;
|
||||
public ?Client $client;
|
||||
|
||||
public ?int $vendor_id = null;
|
||||
|
||||
public ?VendorContact $vendor_contact = null;
|
||||
public ?Vendor $vendor;
|
||||
|
||||
public ?int $user_id = null;
|
||||
|
||||
public ?User $user;
|
||||
|
||||
public ?int $client_contact_id = null;
|
||||
|
||||
public ClientContact | VendorContact | null $contact;
|
||||
|
||||
public ?int $vendor_contact_id = null;
|
||||
|
||||
public ?string $email_template_body = null;
|
||||
|
||||
@ -72,13 +99,18 @@ class EmailObject
|
||||
|
||||
public array $headers = [];
|
||||
|
||||
public ?string $invitation_key = null;
|
||||
|
||||
public ?int $entity_id = null;
|
||||
|
||||
public ?string $entity_class = null;
|
||||
|
||||
public array $variables = [];
|
||||
|
||||
public ?Company $company = null;
|
||||
public bool $override = false;
|
||||
|
||||
public ?string $invitation_key = null;
|
||||
|
||||
// @phpstan-ignore-next-line
|
||||
public array $documents = [];
|
||||
|
||||
public ?string $template = null; //invoice //quote //reminder1
|
||||
|
||||
public array $links = [];
|
||||
}
|
||||
|
@ -1,570 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Invoice Ninja (https://invoiceninja.com).
|
||||
*
|
||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||
*
|
||||
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com)
|
||||
*
|
||||
* @license https://www.elastic.co/licensing/elastic-license
|
||||
*/
|
||||
|
||||
namespace App\Services\Email;
|
||||
|
||||
use App\DataMapper\EmailTemplateDefaults;
|
||||
use App\Jobs\Entity\CreateRawPdf;
|
||||
use App\Jobs\Vendor\CreatePurchaseOrderPdf;
|
||||
use App\Models\Account;
|
||||
use App\Models\Client;
|
||||
use App\Models\ClientContact;
|
||||
use App\Models\Credit;
|
||||
use App\Models\Expense;
|
||||
use App\Models\Invoice;
|
||||
use App\Models\PurchaseOrder;
|
||||
use App\Models\Quote;
|
||||
use App\Models\Task;
|
||||
use App\Models\Vendor;
|
||||
use App\Models\VendorContact;
|
||||
use App\Utils\HtmlEngine;
|
||||
use App\Utils\Ninja;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Utils\VendorHtmlEngine;
|
||||
use Illuminate\Contracts\Mail\Mailable;
|
||||
use Illuminate\Mail\Mailables\Address;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use Illuminate\Support\Facades\URL;
|
||||
use League\CommonMark\CommonMarkConverter;
|
||||
|
||||
class MailBuild
|
||||
{
|
||||
use MakesHash;
|
||||
|
||||
/** @var mixed $settings */
|
||||
protected $settings;
|
||||
|
||||
/** @var string $template */
|
||||
private string $template;
|
||||
|
||||
/** @var string $locale */
|
||||
private string $locale;
|
||||
|
||||
/** @var ?Client $client */
|
||||
private ?Client $client;
|
||||
|
||||
/** @var ?Vendor $vendor */
|
||||
private ?Vendor $vendor;
|
||||
|
||||
/** @var mixed $html_engine */
|
||||
private mixed $html_engine;
|
||||
|
||||
/** @var array $variables */
|
||||
private array $variables = [];
|
||||
|
||||
/** @var int $max_attachment_size */
|
||||
public int $max_attachment_size = 3000000;
|
||||
|
||||
/**
|
||||
* __construct
|
||||
*
|
||||
* @param MailEntity $mail_entity
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(public MailEntity $mail_entity)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Builds the mailable
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function run(): self
|
||||
{
|
||||
//resolve settings, if client existing - use merged - else default to company
|
||||
$this->resolveEntities()
|
||||
->setLocale()
|
||||
->setMetaData()
|
||||
->setFrom()
|
||||
->setTo()
|
||||
->setTemplate()
|
||||
->setSubject()
|
||||
->setBody()
|
||||
->setReplyTo()
|
||||
->setBcc()
|
||||
->setAttachments()
|
||||
->setVariables();
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the mailable to the mailer
|
||||
*
|
||||
* @return Mailable
|
||||
*/
|
||||
public function getMailable(): Mailable
|
||||
{
|
||||
return new MailMailable($this->mail_entity->mail_object);
|
||||
}
|
||||
|
||||
/**
|
||||
* Resolve any class entities
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
private function resolveEntities(): self
|
||||
{
|
||||
$client_contact = $this->mail_entity?->invitation?->client_contact_id ? ClientContact::withTrashed()->find($this->mail_entity->invitation->client_contact_id) : null;
|
||||
|
||||
$this->client = $client_contact?->client;
|
||||
|
||||
$vendor_contact = $this->mail_entity?->invitation?->vendor_contact_id ? VendorContact::withTrashed()->find($this->mail_entity->invitation->vendor_contact_id) : null;
|
||||
|
||||
$this->vendor = $vendor_contact?->vendor;
|
||||
|
||||
if ($this->mail_entity?->invitation) {
|
||||
if ($this->mail_entity->invitation?->invoice) {
|
||||
$this->mail_entity->mail_object->entity_string = 'invoice';
|
||||
$this->mail_entity->mail_object->entity_class = Invoice::class;
|
||||
}
|
||||
|
||||
if ($this->mail_entity->invitation?->quote) {
|
||||
$this->mail_entity->mail_object->entity_string = 'quote';
|
||||
$this->mail_entity->mail_object->entity_class = Quote::class;
|
||||
}
|
||||
|
||||
if ($this->mail_entity->invitation?->credit) {
|
||||
$this->mail_entity->mail_object->entity_string = 'credit';
|
||||
$this->mail_entity->mail_object->entity_class = Credit::class;
|
||||
}
|
||||
|
||||
if ($this->mail_entity->invitation?->puchase_order) {
|
||||
$this->mail_entity->mail_object->entity_string = 'purchase_order';
|
||||
$this->mail_entity->mail_object->entity_class = PurchaseOrder::class;
|
||||
}
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the locale
|
||||
* Sets the settings object depending on context
|
||||
* Sets the HTML variables depending on context
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
private function setLocale(): self
|
||||
{
|
||||
if ($this->client) {
|
||||
$this->locale = $this->client->locale();
|
||||
$this->settings = $this->client->getMergedSettings();
|
||||
|
||||
if ($this->mail_entity->invitation) {
|
||||
$this->variables = (new HtmlEngine($this->mail_entity->invitation))->makeValues();
|
||||
}
|
||||
} elseif ($this->vendor) {
|
||||
$this->locale = $this->vendor->locale();
|
||||
$this->settings = $this->mail_entity->company->settings;
|
||||
|
||||
if ($this->mail_entity->invitation) {
|
||||
$this->variables = (new VendorHtmlEngine($this->mail_entity->invitation))->makeValues();
|
||||
}
|
||||
} else {
|
||||
$this->locale = $this->mail_entity->company->locale();
|
||||
$this->settings = $this->mail_entity->company->settings;
|
||||
}
|
||||
|
||||
$this->mail_entity->mail_object->settings = $this->settings;
|
||||
|
||||
App::setLocale($this->locale);
|
||||
App::forgetInstance('translator');
|
||||
$t = app('translator');
|
||||
$t->replace(Ninja::transformTranslations($this->settings));
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the meta data for the Email object
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
private function setMetaData(): self
|
||||
{
|
||||
$this->mail_entity->mail_object->company_key = $this->mail_entity->company->company_key;
|
||||
|
||||
$this->mail_entity->mail_object->logo = $this->mail_entity->company->present()->logo();
|
||||
|
||||
$this->mail_entity->mail_object->signature = $this->mail_entity->mail_object->signature ?: $this->settings->email_signature;
|
||||
|
||||
$this->mail_entity->mail_object->whitelabel = $this->mail_entity->company->account->isPaid() ? true : false;
|
||||
|
||||
$this->mail_entity->mail_object->company = $this->mail_entity->company;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the template
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
private function setTemplate(): self
|
||||
{
|
||||
$this->template = $this->settings->email_style;
|
||||
|
||||
match ($this->settings->email_style) {
|
||||
'light' => $this->template = 'email.template.client',
|
||||
'dark' => $this->template = 'email.template.client',
|
||||
'custom' => $this->template = 'email.template.custom',
|
||||
default => $this->template = 'email.template.client',
|
||||
};
|
||||
|
||||
$this->mail_entity->mail_object->html_template = $this->template;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* setTo
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
private function setTo(): self
|
||||
{
|
||||
$this->mail_entity->mail_object->to = array_merge(
|
||||
$this->mail_entity->mail_object->to,
|
||||
[new Address($this->mail_entity->invitation->contact->email, $this->mail_entity->invitation->contact->present()->name())]
|
||||
);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the FROM address
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
private function setFrom(): self
|
||||
{
|
||||
if (Ninja::isHosted() && $this->settings->email_sending_method == 'default') {
|
||||
$this->mail_entity->mail_object->from = new Address(config('mail.from.address'), $this->mail_entity->company->owner()->name());
|
||||
return $this;
|
||||
}
|
||||
|
||||
if ($this->mail_entity->mail_object->from) {
|
||||
return $this;
|
||||
}
|
||||
|
||||
$this->mail_entity->mail_object->from = new Address($this->mail_entity->company->owner()->email, $this->mail_entity->company->owner()->name());
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the subject of the email
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
private function setSubject(): self
|
||||
{
|
||||
if ($this->mail_entity->mail_object->subject) { //where the user updates the subject from the UI
|
||||
return $this;
|
||||
} elseif (is_string($this->mail_entity->mail_object->email_template) && strlen($this->settings->{$this->resolveBaseEntityTemplate()}) > 3) {
|
||||
$this->mail_entity->mail_object->subject = $this->settings->{$this->resolveBaseEntityTemplate()};
|
||||
} else {
|
||||
$this->mail_entity->mail_object->subject = EmailTemplateDefaults::getDefaultTemplate($this->resolveBaseEntityTemplate(), $this->locale);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the body of the email
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
private function setBody(): self
|
||||
{
|
||||
if ($this->mail_entity->mail_object->body) {
|
||||
$this->mail_entity->mail_object->body = $this->mail_entity->mail_object->body;
|
||||
} elseif (is_string($this->mail_entity->mail_object->email_template) && strlen($this->settings->{$this->resolveBaseEntityTemplate('body')}) > 3) {
|
||||
$this->mail_entity->mail_object->body = $this->settings->{$this->resolveBaseEntityTemplate('body')};
|
||||
} else {
|
||||
$this->mail_entity->mail_object->body = EmailTemplateDefaults::getDefaultTemplate($this->resolveBaseEntityTemplate('body'), $this->locale);
|
||||
}
|
||||
|
||||
if ($this->template == 'email.template.custom') {
|
||||
$this->mail_entity->mail_object->body = (str_replace('$body', $this->mail_entity->mail_object->body, $this->settings->email_style_custom));
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Where no template is explicitly passed, we need to infer by the entity type -
|
||||
* which is hopefully resolvable.
|
||||
*
|
||||
* @param string $type
|
||||
* @return string
|
||||
*/
|
||||
private function resolveBaseEntityTemplate(string $type = 'subject'): string
|
||||
{
|
||||
if ($this->mail_entity->mail_object->email_template) {
|
||||
match ($type) {
|
||||
'subject' => $template = "email_subject_{$this->mail_entity->mail_object->email_template}",
|
||||
'body' => $template = "email_template_{$this->mail_entity->mail_object->email_template}",
|
||||
default => $template = "email_template_invoice",
|
||||
};
|
||||
|
||||
return $template;
|
||||
}
|
||||
|
||||
//handle statements being emailed
|
||||
//handle custom templates these types won't have a resolvable entity_string
|
||||
if (!$this->mail_entity->mail_object->entity_string) {
|
||||
return 'email_template_invoice';
|
||||
}
|
||||
|
||||
match ($type) {
|
||||
'subject' => $template = "email_subject_{$this->mail_entity->mail_object->entity_string}",
|
||||
'body' => $template = "email_template_{$this->mail_entity->mail_object->entity_string}",
|
||||
default => $template = "email_template_invoice",
|
||||
};
|
||||
|
||||
return $template;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the attachments for the email
|
||||
*
|
||||
* Note that we base64 encode these, as they
|
||||
* sometimes may not survive serialization.
|
||||
*
|
||||
* We decode these in the Mailable later
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
private function setAttachments(): self
|
||||
{
|
||||
$this->setContextAttachments();
|
||||
|
||||
if ($this->settings->document_email_attachment && $this->mail_entity->company->account->hasFeature(Account::FEATURE_DOCUMENTS)) {
|
||||
$this->attachDocuments($this->mail_entity->company->documents);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
private function attachDocuments($documents): self
|
||||
{
|
||||
foreach ($documents as $document) {
|
||||
if ($document->size > $this->max_attachment_size) {
|
||||
$this->mail_entity->mail_object->attachment_links = array_merge($this->mail_entity->mail_object->attachment_links, [["<a class='doc_links' href='" . URL::signedRoute('documents.public_download', ['document_hash' => $document->hash]) ."'>". $document->name ."</a>"]]);
|
||||
} else {
|
||||
$this->mail_entity->mail_object->attachments = array_merge($this->mail_entity->mail_object->attachments, [['file' => base64_encode($document->getFile()), 'name' => $document->name]]);
|
||||
}
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Depending on context we may need to resolve the
|
||||
* attachment dependencies.
|
||||
*
|
||||
* ie. Resolve the entity.
|
||||
* ie. Resolve if we should attach the Entity PDF
|
||||
* ie. Create the Entity PDF
|
||||
* ie. Inject the PDF
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
private function setContextAttachments(): self
|
||||
{
|
||||
if (!$this->settings->pdf_email_attachment || !$this->mail_entity->company->account->hasFeature(Account::FEATURE_PDF_ATTACHMENT)) {
|
||||
return $this;
|
||||
}
|
||||
|
||||
if ($this->mail_entity->invitation?->purchase_order) {
|
||||
$pdf = (new CreatePurchaseOrderPdf($this->mail_entity->invitation))->rawPdf();
|
||||
|
||||
$this->mail_entity->mail_object->attachments = array_merge($this->mail_entity->mail_object->attachments, [['file' => base64_encode($pdf), 'name' => $this->mail_entity->invitation->purchase_order->numberFormatter().'.pdf']]);
|
||||
|
||||
if ($this->vendor->getSetting('document_email_attachment') !== false && $this->mail_entity->company->account->hasFeature(Account::FEATURE_DOCUMENTS)) {
|
||||
$this->attachDocuments($this->mail_entity->invitation->purchase_order->documents);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
if (!$this->mail_entity->mail_object->entity_string) {
|
||||
return $this;
|
||||
}
|
||||
|
||||
$pdf = ((new CreateRawPdf($this->mail_entity->invitation, $this->mail_entity->invitation->company->db))->handle());
|
||||
|
||||
$this->mail_entity->mail_object->attachments = array_merge($this->mail_entity->mail_object->attachments, [['file' => base64_encode($pdf), 'name' => $this->mail_entity->invitation->{$this->mail_entity->mail_object->entity_string}->numberFormatter().'.pdf']]);
|
||||
|
||||
if ($this->client->getSetting('document_email_attachment') !== false && $this->mail_entity->company->account->hasFeature(Account::FEATURE_DOCUMENTS)) {
|
||||
$this->attachDocuments($this->mail_entity->invitation->{$this->mail_entity->mail_object->entity_string}->documents);
|
||||
}
|
||||
|
||||
return $this;
|
||||
|
||||
|
||||
|
||||
|
||||
if ($this->settings->ubl_email_attachment && $this->mail_entity->mail_object->entity_string == 'invoice') {
|
||||
}
|
||||
|
||||
if ($this->mail_entity->mail_object->entity_string == 'invoice') {
|
||||
$line_items = $this->mail_entity->invitation->invoice->line_items;
|
||||
|
||||
foreach ($line_items as $item) {
|
||||
$expense_ids = [];
|
||||
|
||||
if (property_exists($item, 'expense_id')) {
|
||||
$expense_ids[] = $item->expense_id;
|
||||
}
|
||||
|
||||
if (count($expense_ids) > 0) {
|
||||
$expenses = Expense::whereIn('id', $this->transformKeys($expense_ids))
|
||||
->where('invoice_documents', 1)
|
||||
->cursor()
|
||||
->each(function ($expense) {
|
||||
$this->attachDocuments($expense->documents);
|
||||
});
|
||||
}
|
||||
|
||||
$task_ids = [];
|
||||
|
||||
if (property_exists($item, 'task_id')) {
|
||||
$task_ids[] = $item->task_id;
|
||||
}
|
||||
|
||||
if (count($task_ids) > 0 && $this->mail_entity->company->invoice_task_documents) {
|
||||
$tasks = Task::whereIn('id', $this->transformKeys($task_ids))
|
||||
->cursor()
|
||||
->each(function ($task) {
|
||||
$this->attachDocuments($task->documents);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets the reply to of the email
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
private function setReplyTo(): self
|
||||
{
|
||||
$reply_to_email = str_contains($this->settings->reply_to_email, "@") ? $this->settings->reply_to_email : $this->mail_entity->company->owner()->email;
|
||||
|
||||
$reply_to_name = strlen($this->settings->reply_to_name) > 3 ? $this->settings->reply_to_name : $this->mail_entity->company->owner()->present()->name();
|
||||
|
||||
$this->mail_entity->mail_object->reply_to = array_merge($this->mail_entity->mail_object->reply_to, [new Address($reply_to_email, $reply_to_name)]);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Replaces the template placeholders
|
||||
* with variable values.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setVariables(): self
|
||||
{
|
||||
if ($this->mail_entity->mail_object->variables) {
|
||||
$this->mail_entity->mail_object->subject = strtr($this->mail_entity->mail_object->subject, $this->mail_entity->mail_object->variables);
|
||||
$this->mail_entity->mail_object->body = strtr($this->mail_entity->mail_object->body, $this->mail_entity->mail_object->variables);
|
||||
}
|
||||
|
||||
$this->mail_entity->mail_object->subject = strtr($this->mail_entity->mail_object->subject, $this->variables);
|
||||
$this->mail_entity->mail_object->body = strtr($this->mail_entity->mail_object->body, $this->variables);
|
||||
|
||||
if ($this->template != 'custom') {
|
||||
$this->mail_entity->mail_object->body = $this->parseMarkdownToHtml($this->mail_entity->mail_object->body);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the BCC of the email
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
private function setBcc(): self
|
||||
{
|
||||
$bccs = [];
|
||||
$bcc_array = [];
|
||||
|
||||
if (strlen($this->settings->bcc_email) > 1) {
|
||||
if (Ninja::isHosted() && $this->mail_entity->company->account->isPaid()) {
|
||||
$bccs = array_slice(explode(',', str_replace(' ', '', $this->settings->bcc_email)), 0, 2);
|
||||
} elseif (Ninja::isSelfHost()) {
|
||||
$bccs = (explode(',', str_replace(' ', '', $this->settings->bcc_email)));
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($bccs as $bcc) {
|
||||
$bcc_array[] = new Address($bcc);
|
||||
}
|
||||
|
||||
$this->mail_entity->mail_object->bcc = array_merge($this->mail_entity->mail_object->bcc, $bcc_array);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the CC of the email
|
||||
* @todo at some point....
|
||||
*/
|
||||
private function buildCc()
|
||||
{
|
||||
return [
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets the headers for the email
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
private function setHeaders(): self
|
||||
{
|
||||
if ($this->mail_entity->mail_object->invitation_key) {
|
||||
$this->mail_entity->mail_object->headers = array_merge($this->mail_entity->mail_object->headers, ['x-invitation-key' => $this->mail_entity->mail_object->invitation_key]);
|
||||
} elseif ($this->mail_entity->invitation) {
|
||||
$this->mail_entity->mail_object->headers = array_merge($this->mail_entity->mail_object->headers, ['x-invitation-key' => $this->mail_entity->invitation->key]);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts any markdown to HTML in the email
|
||||
*
|
||||
* @param string $markdown The body to convert
|
||||
* @return string The parsed markdown response
|
||||
*/
|
||||
private function parseMarkdownToHtml(string $markdown): ?string
|
||||
{
|
||||
$converter = new CommonMarkConverter([
|
||||
'allow_unsafe_links' => false,
|
||||
]);
|
||||
|
||||
return $converter->convert($markdown);
|
||||
}
|
||||
}
|
@ -1,100 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Invoice Ninja (https://invoiceninja.com).
|
||||
*
|
||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||
*
|
||||
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com)
|
||||
*
|
||||
* @license https://www.elastic.co/licensing/elastic-license
|
||||
*/
|
||||
|
||||
namespace App\Services\Email;
|
||||
|
||||
use Illuminate\Mail\Attachment;
|
||||
use Illuminate\Mail\Mailable;
|
||||
use Illuminate\Mail\Mailables\Content;
|
||||
use Illuminate\Mail\Mailables\Envelope;
|
||||
use Illuminate\Mail\Mailables\Headers;
|
||||
|
||||
class MailMailable extends Mailable
|
||||
{
|
||||
/**
|
||||
* Create a new message instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(public MailObject $mail_object)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the message envelope.
|
||||
*
|
||||
* @return \Illuminate\Mail\Mailables\Envelope
|
||||
*/
|
||||
public function envelope()
|
||||
{
|
||||
return new Envelope(
|
||||
subject: $this->mail_object->subject,
|
||||
tags: [$this->mail_object->company_key],
|
||||
replyTo: $this->mail_object->reply_to,
|
||||
from: $this->mail_object->from,
|
||||
to: $this->mail_object->to,
|
||||
bcc: $this->mail_object->bcc
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the message content definition.
|
||||
*
|
||||
* @return \Illuminate\Mail\Mailables\Content
|
||||
*/
|
||||
public function content()
|
||||
{
|
||||
return new Content(
|
||||
view: $this->mail_object->html_template,
|
||||
text: $this->mail_object->text_template,
|
||||
with: [
|
||||
'text_body' => str_replace("<br>", "\n", strip_tags($this->mail_object->body, "<br>")), //@todo this is a bit hacky here.
|
||||
'body' => $this->mail_object->body,
|
||||
'settings' => $this->mail_object->settings,
|
||||
'whitelabel' => $this->mail_object->whitelabel,
|
||||
'logo' => $this->mail_object->logo,
|
||||
'signature' => $this->mail_object->signature,
|
||||
'company' => $this->mail_object->company,
|
||||
'greeting' => ''
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the attachments for the message.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function attachments()
|
||||
{
|
||||
$attachments = [];
|
||||
|
||||
foreach ($this->mail_object->attachments as $file) {
|
||||
$attachments[] = Attachment::fromData(fn () => base64_decode($file['file']), $file['name']);
|
||||
}
|
||||
|
||||
return $attachments;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the message headers.
|
||||
*
|
||||
* @return \Illuminate\Mail\Mailables\Headers
|
||||
*/
|
||||
public function headers()
|
||||
{
|
||||
return new Headers(
|
||||
messageId: null,
|
||||
references: [],
|
||||
text: $this->mail_object->headers,
|
||||
);
|
||||
}
|
||||
}
|
@ -1,89 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Invoice Ninja (https://invoiceninja.com).
|
||||
*
|
||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||
*
|
||||
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com)
|
||||
*
|
||||
* @license https://www.elastic.co/licensing/elastic-license
|
||||
*/
|
||||
|
||||
namespace App\Services\Email;
|
||||
|
||||
use App\Models\Company;
|
||||
use Illuminate\Mail\Mailables\Address;
|
||||
|
||||
/**
|
||||
* MailObject.
|
||||
*/
|
||||
class MailObject
|
||||
{
|
||||
public ?string $db = null;
|
||||
|
||||
public array $to = [];
|
||||
|
||||
public ?Address $from = null;
|
||||
|
||||
public array $reply_to = [];
|
||||
|
||||
public array $cc = [];
|
||||
|
||||
public array $bcc = [];
|
||||
|
||||
public ?string $subject = null;
|
||||
|
||||
public ?string $body = null;
|
||||
|
||||
public array $attachments = [];
|
||||
|
||||
public array $attachment_links = [];
|
||||
|
||||
public string $company_key;
|
||||
|
||||
public ?object $settings = null;
|
||||
|
||||
public bool $whitelabel = false;
|
||||
|
||||
public ?string $logo = null;
|
||||
|
||||
public ?string $signature = null;
|
||||
|
||||
public ?string $greeting = null;
|
||||
|
||||
public ?int $client_id = null;
|
||||
|
||||
public ?int $vendor_id = null;
|
||||
|
||||
public ?int $user_id = null;
|
||||
|
||||
public ?int $client_contact_id = null;
|
||||
|
||||
public ?int $vendor_contact_id = null;
|
||||
|
||||
public ?string $email_template = null; //this defines the template in short notation WITH the email_template prefix
|
||||
|
||||
public ?string $html_template = null;
|
||||
|
||||
public ?string $text_template = 'email.template.text';
|
||||
|
||||
public array $headers = [];
|
||||
|
||||
public ?string $invitation_key = null;
|
||||
|
||||
public ?int $entity_id = null;
|
||||
|
||||
public ?string $entity_class = null;
|
||||
|
||||
public ?string $entity_string = null;
|
||||
|
||||
public array $variables = [];
|
||||
|
||||
public ?string $template = null;
|
||||
|
||||
public ?string $template_data = null;
|
||||
|
||||
public bool $override = false;
|
||||
|
||||
public ?Company $company = null;
|
||||
}
|
@ -38,7 +38,8 @@ class SchedulerService
|
||||
*/
|
||||
public function runTask(): void
|
||||
{
|
||||
$this->{$this->scheduler->template}();
|
||||
if(method_exists($this, $this->scheduler->template))
|
||||
$this->{$this->scheduler->template}();
|
||||
}
|
||||
|
||||
private function email_statement()
|
||||
|
@ -355,7 +355,7 @@ class SubscriptionService
|
||||
* @param Invoice $invoice
|
||||
* @return float
|
||||
*/
|
||||
private function calculateProRataRefund($invoice) :float
|
||||
private function calculateProRataRefund($invoice, $subscription = null) :float
|
||||
{
|
||||
if (!$invoice || !$invoice->date) {
|
||||
return 0;
|
||||
@ -367,7 +367,10 @@ class SubscriptionService
|
||||
|
||||
$days_of_subscription_used = $start_date->diffInDays($current_date);
|
||||
|
||||
$days_in_frequency = $this->getDaysInFrequency();
|
||||
if($subscription)
|
||||
$days_in_frequency = $subscription->service()->getDaysInFrequency();
|
||||
else
|
||||
$days_in_frequency = $this->getDaysInFrequency();
|
||||
|
||||
if ($days_of_subscription_used >= $days_in_frequency) {
|
||||
return 0;
|
||||
|
@ -11,7 +11,6 @@
|
||||
|
||||
namespace App\Transformers;
|
||||
|
||||
use App\Models\Account;
|
||||
use App\Models\BankTransaction;
|
||||
use App\Models\Company;
|
||||
use App\Models\Expense;
|
||||
@ -35,7 +34,6 @@ class BankTransactionTransformer extends EntityTransformer
|
||||
*/
|
||||
protected $availableIncludes = [
|
||||
'company',
|
||||
'account',
|
||||
'expense',
|
||||
'payment',
|
||||
'vendor',
|
||||
@ -76,13 +74,6 @@ class BankTransactionTransformer extends EntityTransformer
|
||||
];
|
||||
}
|
||||
|
||||
public function includeAccount(BankTransaction $bank_transaction)
|
||||
{
|
||||
$transformer = new AccountTransformer($this->serializer);
|
||||
|
||||
return $this->includeItem($bank_transaction->account, $transformer, Account::class);
|
||||
}
|
||||
|
||||
public function includeCompany(BankTransaction $bank_transaction)
|
||||
{
|
||||
$transformer = new CompanyTransformer($this->serializer);
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user