mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-11-13 22:54:25 +01:00
Merge pull request #8479 from turbo124/v5-develop
move e_invoice config into company settings
This commit is contained in:
commit
78927994e1
@ -174,7 +174,7 @@ class SendRemindersCron extends Command
|
||||
$invoice->calc()->getInvoice()->save();
|
||||
$invoice->fresh();
|
||||
$invoice->service()->deletePdf()->save();
|
||||
if ($invoice->company->enable_e_invoice){
|
||||
if ($invoice->client->getSetting('enable_e_invoice')){
|
||||
$invoice->service()->deleteEInvoice()->save();
|
||||
}
|
||||
|
||||
|
@ -479,7 +479,10 @@ class CompanySettings extends BaseSettings
|
||||
|
||||
public $default_expense_payment_type_id = '0';
|
||||
|
||||
public $enable_e_invoice = false;
|
||||
|
||||
public static $casts = [
|
||||
'enable_e_invoice' => 'bool',
|
||||
'default_expense_payment_type_id' => 'string',
|
||||
'e_invoice_type' => 'string',
|
||||
'mailgun_endpoint' => 'string',
|
||||
|
@ -200,7 +200,6 @@ class Yodlee
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function getTransactions($params = [])
|
||||
{
|
||||
$token = $this->getAccessToken();
|
||||
@ -208,7 +207,6 @@ class Yodlee
|
||||
$response = Http::withHeaders($this->getHeaders(["Authorization" => "Bearer {$token}"]))->get($this->getEndpoint(). "/transactions", $params);
|
||||
|
||||
if ($response->successful()) {
|
||||
// return $response->object();
|
||||
$it = new IncomeTransformer();
|
||||
return $it->transform($response->object());
|
||||
}
|
||||
|
@ -22,17 +22,11 @@ class YodleeController extends BaseController
|
||||
{
|
||||
public function auth(YodleeAuthRequest $request)
|
||||
{
|
||||
// create a user at this point
|
||||
// use the one time token here to pull in the actual user
|
||||
// store the user_account_id on the accounts table
|
||||
|
||||
$yodlee = new Yodlee();
|
||||
|
||||
$company = $request->getCompany();
|
||||
|
||||
|
||||
//ensure user is enterprise!!
|
||||
|
||||
if ($company->account->bank_integration_account_id) {
|
||||
$flow = 'edit';
|
||||
|
||||
|
@ -11,24 +11,25 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\BankIntegration;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use App\Helpers\Bank\Yodlee\Yodlee;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use App\Factory\BankIntegrationFactory;
|
||||
use App\Filters\BankIntegrationFilters;
|
||||
use App\Helpers\Bank\Yodlee\Yodlee;
|
||||
use App\Http\Requests\BankIntegration\AdminBankIntegrationRequest;
|
||||
use App\Http\Requests\BankIntegration\BulkBankIntegrationRequest;
|
||||
use App\Http\Requests\BankIntegration\CreateBankIntegrationRequest;
|
||||
use App\Http\Requests\BankIntegration\DestroyBankIntegrationRequest;
|
||||
use App\Http\Requests\BankIntegration\EditBankIntegrationRequest;
|
||||
use App\Http\Requests\BankIntegration\ShowBankIntegrationRequest;
|
||||
use App\Http\Requests\BankIntegration\StoreBankIntegrationRequest;
|
||||
use App\Http\Requests\BankIntegration\UpdateBankIntegrationRequest;
|
||||
use App\Jobs\Bank\ProcessBankTransactions;
|
||||
use App\Models\BankIntegration;
|
||||
use App\Repositories\BankIntegrationRepository;
|
||||
use App\Transformers\BankIntegrationTransformer;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use App\Http\Requests\BankIntegration\BulkBankIntegrationRequest;
|
||||
use App\Http\Requests\BankIntegration\EditBankIntegrationRequest;
|
||||
use App\Http\Requests\BankIntegration\ShowBankIntegrationRequest;
|
||||
use App\Http\Requests\BankIntegration\AdminBankIntegrationRequest;
|
||||
use App\Http\Requests\BankIntegration\StoreBankIntegrationRequest;
|
||||
use App\Http\Requests\BankIntegration\CreateBankIntegrationRequest;
|
||||
use App\Http\Requests\BankIntegration\UpdateBankIntegrationRequest;
|
||||
use App\Http\Requests\BankIntegration\DestroyBankIntegrationRequest;
|
||||
|
||||
class BankIntegrationController extends BaseController
|
||||
{
|
||||
@ -159,7 +160,7 @@ class BankIntegrationController extends BaseController
|
||||
/**
|
||||
* Perform bulk actions on the list view.
|
||||
*
|
||||
* @return Collection
|
||||
* @return Response
|
||||
*
|
||||
*/
|
||||
public function bulk(BulkBankIntegrationRequest $request)
|
||||
@ -168,7 +169,7 @@ class BankIntegrationController extends BaseController
|
||||
|
||||
$ids = request()->input('ids');
|
||||
|
||||
$bank_integrations = BankIntegration::withTrashed()->whereIn('id', $this->transformKeys($ids))
|
||||
BankIntegration::withTrashed()->whereIn('id', $this->transformKeys($ids))
|
||||
->company()
|
||||
->cursor()
|
||||
->each(function ($bank_integration, $key) use ($action) {
|
||||
@ -184,7 +185,7 @@ class BankIntegrationController extends BaseController
|
||||
/**
|
||||
* Return the remote list of accounts stored on the third party provider.
|
||||
*
|
||||
* @return Response
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function refreshAccounts(AdminBankIntegrationRequest $request)
|
||||
{
|
||||
@ -227,7 +228,7 @@ class BankIntegrationController extends BaseController
|
||||
}
|
||||
}
|
||||
|
||||
if (Cache::get("throttle_polling:{$account->key}")) {
|
||||
if (Cache::get("throttle_polling:{$user_account->key}")) {
|
||||
return response()->json(BankIntegration::query()->company(), 200);
|
||||
}
|
||||
|
||||
@ -276,7 +277,7 @@ class BankIntegrationController extends BaseController
|
||||
* Return the remote list of accounts stored on the third party provider
|
||||
* and update our local cache.
|
||||
*
|
||||
* @return Response
|
||||
* @return JsonResponse
|
||||
*
|
||||
*/
|
||||
public function getTransactions(AdminBankIntegrationRequest $request)
|
||||
|
@ -63,6 +63,8 @@ class ProcessBankTransactions implements ShouldQueue
|
||||
//Loop through everything until we are up to date
|
||||
$this->from_date = $this->from_date ?: '2021-01-01';
|
||||
|
||||
nlog("Processing transactions for account: {$this->bank_integration->account->key}");
|
||||
|
||||
do {
|
||||
try {
|
||||
$this->processTransactions();
|
||||
|
@ -212,7 +212,7 @@ class CreateEntityPdf implements ShouldQueue
|
||||
throw new FilePermissionsFailure($e->getMessage());
|
||||
}
|
||||
}
|
||||
if ($this->entity_string == "invoice" && $this->company->enable_e_invoice){
|
||||
if ($this->entity_string == "invoice" && $this->client->getSetting('enable_e_invoice')){
|
||||
(new CreateEInvoice($this->entity, true))->handle();
|
||||
}
|
||||
$this->invitation = null;
|
||||
|
@ -75,7 +75,7 @@ class ZipInvoices implements ShouldQueue
|
||||
|
||||
$this->invoices->each(function ($invoice) {
|
||||
(new CreateEntityPdf($invoice->invitations()->first()))->handle();
|
||||
if ($this->company->enable_e_invoice){
|
||||
if ($invoice->client->getSetting('enable_e_invoice')){
|
||||
(new CreateEInvoice($invoice, false))->handle();
|
||||
}
|
||||
});
|
||||
@ -86,13 +86,13 @@ class ZipInvoices implements ShouldQueue
|
||||
$file = $invoice->service()->getInvoicePdf();
|
||||
$zip_file_name = basename($file);
|
||||
$zipFile->addFromString($zip_file_name, Storage::get($file));
|
||||
}
|
||||
|
||||
if($this->company->enable_e_invoice){
|
||||
foreach ($this->invoices as $invoice) {
|
||||
if($invoice->client->getSetting('enable_e_invoice')){
|
||||
|
||||
$xinvoice = $invoice->service()->getEInvoice();
|
||||
$xinvoice_zip_file_name = basename($xinvoice);
|
||||
$zipFile->addFromString($xinvoice_zip_file_name, Storage::get($xinvoice));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -153,7 +153,7 @@ class TemplateEmail extends Mailable
|
||||
$this->attachData($ubl_string, $this->invitation->invoice->getFileName('xml'));
|
||||
}
|
||||
}
|
||||
if ($this->invitation && $this->invitation->invoice && $company->enable_e_invoice && $this->company->account->hasFeature(Account::FEATURE_PDF_ATTACHMENT)) {
|
||||
if ($this->invitation && $this->invitation->invoice && $this->invitation->invoice->client->getSetting('enable_e_invoice') && $this->company->account->hasFeature(Account::FEATURE_PDF_ATTACHMENT)) {
|
||||
$this->invitation->invoice->service()->getEInvoice($this->invitation->contact);
|
||||
$disk = config('filesystems.default');
|
||||
$this->attach(Storage::disk($disk)->path($this->invitation->invoice->client->xinvoice_filepath($this->invitation->invoice->invitations->first()) . $this->invitation->invoice->getFileName("xml")));
|
||||
|
@ -35,8 +35,8 @@ use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
* @property int|null $created_at
|
||||
* @property int|null $updated_at
|
||||
* @property int|null $deleted_at
|
||||
* @property int $disabled_upstream
|
||||
* @property int $auto_sync
|
||||
* @property bool $disabled_upstream
|
||||
* @property bool $auto_sync
|
||||
* @property-read \App\Models\Account $account
|
||||
* @property-read \App\Models\Company $company
|
||||
* @property-read mixed $hashed_id
|
||||
|
@ -40,6 +40,7 @@ use Illuminate\Support\Str;
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel scopeExclude()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel find()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel whereIn()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|BankIntegration where()
|
||||
* @method \App\Models\Company company()
|
||||
* @method int companyId()
|
||||
* @method Builder|static exclude($columns)
|
||||
|
@ -167,79 +167,12 @@ use Laracasts\Presenter\PresentableTrait;
|
||||
* @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()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client with()
|
||||
* @property string $payment_balance
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $activities
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $company_ledger
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $contacts
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Credit> $credits
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Expense> $expenses
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientGatewayToken> $gateway_tokens
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Invoice> $invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $ledger
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Payment> $payments
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $primary_contact
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Project> $projects
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Quote> $quotes
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringExpense> $recurring_expenses
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringInvoice> $recurring_invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\SystemLog> $system_logs
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Task> $tasks
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client wherePaymentBalance($value)
|
||||
* @property mixed $tax_data
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $activities
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $company_ledger
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $contacts
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Credit> $credits
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Expense> $expenses
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientGatewayToken> $gateway_tokens
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Invoice> $invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $ledger
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Payment> $payments
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $primary_contact
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Project> $projects
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Quote> $quotes
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringExpense> $recurring_expenses
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringInvoice> $recurring_invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\SystemLog> $system_logs
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Task> $tasks
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereTaxData($value)
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $activities
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $company_ledger
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $contacts
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Credit> $credits
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Expense> $expenses
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientGatewayToken> $gateway_tokens
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Invoice> $invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $ledger
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Payment> $payments
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $primary_contact
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Project> $projects
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Quote> $quotes
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringExpense> $recurring_expenses
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringInvoice> $recurring_invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\SystemLog> $system_logs
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Task> $tasks
|
||||
* @property int $is_tax_exempt
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $activities
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $company_ledger
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $contacts
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Credit> $credits
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Expense> $expenses
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientGatewayToken> $gateway_tokens
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Invoice> $invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $ledger
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Payment> $payments
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $primary_contact
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Project> $projects
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Quote> $quotes
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringExpense> $recurring_expenses
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringInvoice> $recurring_invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\SystemLog> $system_logs
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Task> $tasks
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereIsTaxExempt($value)
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $activities
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $company_ledger
|
||||
@ -247,6 +180,7 @@ use Laracasts\Presenter\PresentableTrait;
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Credit> $credits
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Expense> $expenses
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\GroupSetting> $group_settings
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientGatewayToken> $gateway_tokens
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Invoice> $invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $ledger
|
||||
@ -258,130 +192,9 @@ use Laracasts\Presenter\PresentableTrait;
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringInvoice> $recurring_invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\SystemLog> $system_logs
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Task> $tasks
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $activities
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $company_ledger
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $contacts
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Credit> $credits
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Expense> $expenses
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientGatewayToken> $gateway_tokens
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Invoice> $invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $ledger
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Payment> $payments
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $primary_contact
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Project> $projects
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Quote> $quotes
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringExpense> $recurring_expenses
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringInvoice> $recurring_invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\SystemLog> $system_logs
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Task> $tasks
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $activities
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $company_ledger
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $contacts
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Credit> $credits
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Expense> $expenses
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientGatewayToken> $gateway_tokens
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Invoice> $invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $ledger
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Payment> $payments
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $primary_contact
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Project> $projects
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Quote> $quotes
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringExpense> $recurring_expenses
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringInvoice> $recurring_invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\SystemLog> $system_logs
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Task> $tasks
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $activities
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $company_ledger
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $contacts
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Credit> $credits
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Expense> $expenses
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientGatewayToken> $gateway_tokens
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Invoice> $invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $ledger
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Payment> $payments
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $primary_contact
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Project> $projects
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Quote> $quotes
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringExpense> $recurring_expenses
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringInvoice> $recurring_invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\SystemLog> $system_logs
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Task> $tasks
|
||||
* @property int $has_valid_vat_number
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $activities
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $company_ledger
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $contacts
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Credit> $credits
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Expense> $expenses
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientGatewayToken> $gateway_tokens
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Invoice> $invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $ledger
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Payment> $payments
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $primary_contact
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Project> $projects
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Quote> $quotes
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringExpense> $recurring_expenses
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringInvoice> $recurring_invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\SystemLog> $system_logs
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Task> $tasks
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereHasValidVatNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereLeitwegId($value)
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $activities
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $company_ledger
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $contacts
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Credit> $credits
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Expense> $expenses
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientGatewayToken> $gateway_tokens
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Invoice> $invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $ledger
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Payment> $payments
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $primary_contact
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Project> $projects
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Quote> $quotes
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringExpense> $recurring_expenses
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringInvoice> $recurring_invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\SystemLog> $system_logs
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Task> $tasks
|
||||
* @property string|null $routing_id
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $activities
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $company_ledger
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $contacts
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Credit> $credits
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Expense> $expenses
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientGatewayToken> $gateway_tokens
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Invoice> $invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $ledger
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Payment> $payments
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $primary_contact
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Project> $projects
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Quote> $quotes
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringExpense> $recurring_expenses
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringInvoice> $recurring_invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\SystemLog> $system_logs
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Task> $tasks
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Client whereRoutingId($value)
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $activities
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $company_ledger
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $contacts
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Credit> $credits
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Expense> $expenses
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientGatewayToken> $gateway_tokens
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Invoice> $invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyLedger> $ledger
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Payment> $payments
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\ClientContact> $primary_contact
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Project> $projects
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Quote> $quotes
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringExpense> $recurring_expenses
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecurringInvoice> $recurring_invoices
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\SystemLog> $system_logs
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Task> $tasks
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Client extends BaseModel implements HasLocalePreference
|
||||
|
@ -96,7 +96,6 @@ use Laracasts\Presenter\PresentableTrait;
|
||||
* @property int $stock_notification
|
||||
* @property string|null $matomo_url
|
||||
* @property int|null $matomo_id
|
||||
* @property bool $enable_e_invoice
|
||||
* @property int $enabled_expense_tax_rates
|
||||
* @property int $invoice_task_project
|
||||
* @property int $report_include_deleted
|
||||
@ -640,8 +639,7 @@ use Laracasts\Presenter\PresentableTrait;
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Vendor> $vendors
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Webhook> $webhooks
|
||||
* @property int $tax_all_products
|
||||
* @property int $enable_e_invoice
|
||||
* @property string $xinvoice_type
|
||||
* @property string $e_invoice_type
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $activities
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Activity> $all_activities
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $all_documents
|
||||
|
@ -55,29 +55,6 @@ use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GroupSetting withTrashed()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|GroupSetting withoutTrashed()
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Client> $clients
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Client> $clients
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Client> $clients
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Client> $clients
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Client> $clients
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Client> $clients
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Client> $clients
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Client> $clients
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Client> $clients
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Client> $clients
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Client> $clients
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Client> $clients
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Document> $documents
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class GroupSetting extends StaticModel
|
||||
|
@ -77,6 +77,7 @@ use Illuminate\Support\Facades\Storage;
|
||||
* @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()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|InvoiceInvitation where()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class InvoiceInvitation extends BaseModel
|
||||
@ -166,7 +167,7 @@ class InvoiceInvitation extends BaseModel
|
||||
|
||||
public function pdf_file_path()
|
||||
{
|
||||
$storage_path = Storage::url($this->invoice->client->invoice_filepath().$this->invoice->numberFormatter().'.pdf');
|
||||
$storage_path = Storage::url($this->invoice->client->invoice_filepath($this).$this->invoice->numberFormatter().'.pdf');
|
||||
|
||||
if (! Storage::exists($this->invoice->client->invoice_filepath($this).$this->invoice->numberFormatter().'.pdf')) {
|
||||
event(new InvoiceWasUpdated($this->invoice, $this->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null)));
|
||||
|
@ -40,15 +40,15 @@ class AppServiceProvider extends ServiceProvider
|
||||
*/
|
||||
public function boot()
|
||||
{
|
||||
\DB::listen(function($query) {
|
||||
nlog(
|
||||
$query->sql,
|
||||
[
|
||||
'bindings' => $query->bindings,
|
||||
'time' => $query->time
|
||||
]
|
||||
);
|
||||
});
|
||||
// \DB::listen(function($query) {
|
||||
// nlog(
|
||||
// $query->sql,
|
||||
// [
|
||||
// 'bindings' => $query->bindings,
|
||||
// 'time' => $query->time
|
||||
// ]
|
||||
// );
|
||||
// });
|
||||
|
||||
// Model::preventLazyLoading(
|
||||
// !$this->app->isProduction()
|
||||
|
@ -11,7 +11,9 @@
|
||||
|
||||
namespace App\Repositories;
|
||||
|
||||
use App\Utils\Ninja;
|
||||
use App\Models\BankIntegration;
|
||||
use App\Helpers\Bank\Yodlee\Yodlee;
|
||||
|
||||
/**
|
||||
* Class for bank integration repository.
|
||||
@ -22,8 +24,46 @@ class BankIntegrationRepository extends BaseRepository
|
||||
{
|
||||
//stub to store
|
||||
$bank_integration->fill($data);
|
||||
|
||||
$bank_integration->save();
|
||||
|
||||
return $bank_integration->fresh();
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes the bank integration from Yodlee
|
||||
*
|
||||
* @param BankIntegration $bank_integration
|
||||
*
|
||||
* @return BankIntegration $bank_integration
|
||||
*/
|
||||
public function delete($bank_integration) :BankIntegration
|
||||
{
|
||||
if ($bank_integration->is_deleted) {
|
||||
return $bank_integration;
|
||||
}
|
||||
|
||||
if(Ninja::isHosted())
|
||||
{
|
||||
|
||||
$account = $bank_integration->account;
|
||||
|
||||
$bank_integration_account_id = $account->bank_integration_account_id;
|
||||
|
||||
$yodlee = new Yodlee($bank_integration_account_id);
|
||||
|
||||
try {
|
||||
$yodlee->deleteAccount($bank_integration->bank_account_id);
|
||||
}
|
||||
catch(\Exception $e){
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
parent::delete($bank_integration);
|
||||
|
||||
return $bank_integration;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -295,7 +295,7 @@ class BaseRepository
|
||||
}
|
||||
|
||||
if (! $model->design_id) {
|
||||
$model->design_id = $this->decodePrimaryKey($client->getSetting('invoice_design_id'));
|
||||
$model->design_id = intval($this->decodePrimaryKey($client->getSetting('invoice_design_id')));
|
||||
}
|
||||
|
||||
//links tasks and expenses back to the invoice, but only if we are not in the middle of a transaction.
|
||||
@ -334,7 +334,7 @@ class BaseRepository
|
||||
|
||||
if ($model instanceof Quote) {
|
||||
if (! $model->design_id) {
|
||||
$model->design_id = $this->decodePrimaryKey($client->getSetting('quote_design_id'));
|
||||
$model->design_id = intval($this->decodePrimaryKey($client->getSetting('quote_design_id')));
|
||||
}
|
||||
|
||||
$model = $model->calc()->getQuote();
|
||||
@ -348,7 +348,7 @@ class BaseRepository
|
||||
|
||||
if ($model instanceof RecurringInvoice) {
|
||||
if (! $model->design_id) {
|
||||
$model->design_id = $this->decodePrimaryKey($client->getSetting('invoice_design_id'));
|
||||
$model->design_id = intval($this->decodePrimaryKey($client->getSetting('invoice_design_id')));
|
||||
}
|
||||
|
||||
$model = $model->calc()->getRecurringInvoice();
|
||||
|
@ -78,8 +78,8 @@ class InvoiceRepository extends BaseRepository
|
||||
/**
|
||||
* Handles the restoration on a deleted invoice.
|
||||
*
|
||||
* @param [type] $invoice [description]
|
||||
* @return [type] [description]
|
||||
* @param Invoice $invoice
|
||||
* @return Invoice
|
||||
*/
|
||||
public function restore($invoice) :Invoice
|
||||
{
|
||||
|
@ -298,7 +298,7 @@ class EmailDefaults
|
||||
$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());
|
||||
if ($this->email->email_object->company->enable_e_invoice && $this->email->email_object->entity instanceof Invoice) {
|
||||
if ($this->email->email_object->settings->enable_e_invoice && $this->email->email_object->entity instanceof Invoice) {
|
||||
$tempfile = tmpfile();
|
||||
file_put_contents(stream_get_meta_data($tempfile)['uri'], $pdf);
|
||||
$xinvoice_path = (new CreateEInvoice($this->email->email_object->entity, true, stream_get_meta_data($tempfile)['uri']))->handle();
|
||||
@ -320,7 +320,7 @@ class EmailDefaults
|
||||
}
|
||||
}
|
||||
/** E-Invoice xml file */
|
||||
if ($this->email->email_object->company->enable_e_invoice && $this->email->email_object->entity instanceof Invoice) {
|
||||
if ($this->email->email_object->settings->enable_e_invoice && $this->email->email_object->entity instanceof Invoice) {
|
||||
$xinvoice_path = (new GetInvoiceXInvoice($this->email->email_object->entity))->run();
|
||||
$this->email->email_object->attachments = array_merge($this->email->email_object->attachments, [['file' => base64_encode(file_get_contents($xinvoice_path)), 'name' => explode(".", $this->email->email_object->entity->getFileName('xml'))[0]."-e_invoice.xml"]]);
|
||||
}
|
||||
|
@ -450,7 +450,7 @@ class InvoiceService
|
||||
$this->invoice->invitations->each(function ($invitation) {
|
||||
(new CreateEntityPdf($invitation))->handle();
|
||||
|
||||
if ($invitation->company->enable_e_invoice && $invitation instanceof InvoiceInvitation)
|
||||
if ($invitation->invoice->client->getSetting('enable_e_invoice') && $invitation instanceof InvoiceInvitation)
|
||||
{
|
||||
(new CreateEInvoice($invitation->invoice, true))->handle();
|
||||
}
|
||||
@ -464,7 +464,7 @@ class InvoiceService
|
||||
$this->invoice->invitations->each(function ($invitation) {
|
||||
CreateEntityPdf::dispatch($invitation);
|
||||
|
||||
if ($invitation->company->enable_e_invoice && $invitation instanceof InvoiceInvitation) {
|
||||
if ($invitation->invoice->client->getSetting('enable_e_invoice') && $invitation instanceof InvoiceInvitation) {
|
||||
CreateEInvoice::dispatch($invitation->invoice, true);
|
||||
}
|
||||
|
||||
|
@ -149,7 +149,8 @@ class ClientTransformer extends EntityTransformer
|
||||
'number' => (string) $client->number ?: '',
|
||||
'has_valid_vat_number' => (bool) $client->has_valid_vat_number,
|
||||
'is_tax_exempt' => (bool) $client->is_tax_exempt,
|
||||
// 'tax_data' => $client->tax_data ?: '',
|
||||
'routing_id' => (string) $client->routing_id,
|
||||
'tax_data' => $client->tax_data ?: '',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
@ -196,7 +196,6 @@ class CompanyTransformer extends EntityTransformer
|
||||
'invoice_task_hours' => (bool) $company->invoice_task_hours,
|
||||
'calculate_taxes' => (bool) $company->calculate_taxes,
|
||||
'tax_data' => $company->tax_data ?: new \stdClass,
|
||||
'enable_e_invoice' => (bool) $company->enable_e_invoice,
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -149,7 +149,7 @@ class InvoiceTransformer extends EntityTransformer
|
||||
'paid_to_date' => (float) $invoice->paid_to_date,
|
||||
'subscription_id' => $this->encodePrimaryKey($invoice->subscription_id),
|
||||
'auto_bill_enabled' => (bool) $invoice->auto_bill_enabled,
|
||||
// 'tax_data' => $invoice->tax_data ?: '',
|
||||
'tax_data' => $invoice->tax_data ?: '',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
@ -44,12 +44,14 @@ class Ninja
|
||||
{
|
||||
$mysql_version = DB::select(DB::raw('select version() as version'))[0]->version;
|
||||
|
||||
$version = request()->input('version', 'No Version Supplied.');
|
||||
|
||||
$info = 'App Version: v'.config('ninja.app_version').'\\n'.
|
||||
'White Label: '.'\\n'. // TODO: Implement white label with hasFeature.
|
||||
'Server OS: '.php_uname('s').' '.php_uname('r').'\\n'.
|
||||
'PHP Version: '.phpversion().'\\n'.
|
||||
'MySQL Version: '.$mysql_version.'\\n'.
|
||||
'Version: '.request()->has('version') ? request()->input('version') : 'No Version Supplied.';
|
||||
'Version: '.$version;
|
||||
|
||||
return $info;
|
||||
}
|
||||
@ -101,7 +103,8 @@ class Ninja
|
||||
foreach ($fields as $key => $value) {
|
||||
$data .= $key.'='.$value.'&';
|
||||
}
|
||||
rtrim($data, '&');
|
||||
|
||||
$data = rtrim($data, '&');
|
||||
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
|
@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
use App\Models\Language;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
return new class extends Migration
|
||||
@ -21,6 +22,9 @@ return new class extends Migration
|
||||
Language::create(['id' => 38, 'name' => 'Khmer', 'locale' => 'km_KH']);
|
||||
}
|
||||
|
||||
Schema::table('companies', function (Blueprint $table) {
|
||||
$table->dropColumn('enable_e_invoice');
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
3750
lang/km_KH/texts.php
3750
lang/km_KH/texts.php
File diff suppressed because it is too large
Load Diff
@ -4,8 +4,8 @@ includes:
|
||||
parameters:
|
||||
ignoreErrors:
|
||||
- '#Call to an undefined method .*badMethod\(\)#'
|
||||
- 'Call to an undefined method Illuminate\Database\Eloquent\Builder::exclude().
|
||||
level: 2
|
||||
- '#Call to an undefined method Illuminate\Database\Eloquent\Builder::exclude#'
|
||||
level: 4
|
||||
paths:
|
||||
- app
|
||||
universalObjectCratesClasses:
|
||||
|
@ -9,7 +9,7 @@
|
||||
* @license https://www.elastic.co/licensing/elastic-license
|
||||
*/
|
||||
|
||||
namespace Tests\Feature;
|
||||
namespace Tests\Feature\EInvoice;
|
||||
|
||||
use App\Services\Invoice\EInvoice\FacturaEInvoice;
|
||||
use Illuminate\Foundation\Testing\DatabaseTransactions;
|
||||
@ -19,7 +19,6 @@ use Tests\TestCase;
|
||||
|
||||
/**
|
||||
* @test
|
||||
* @covers App\Http\Controllers\ActivityController
|
||||
*/
|
||||
class FacturaeTest extends TestCase
|
||||
{
|
||||
|
@ -9,7 +9,7 @@
|
||||
* @license https://www.elastic.co/licensing/elastic-license
|
||||
*/
|
||||
|
||||
namespace Tests\Feature;
|
||||
namespace Tests\Feature\EInvoice;
|
||||
|
||||
use App\Services\Invoice\EInvoice\FatturaPA;
|
||||
use Illuminate\Foundation\Testing\DatabaseTransactions;
|
||||
|
@ -19,7 +19,6 @@ use App\Models\Company;
|
||||
use App\Models\Invoice;
|
||||
use App\Models\User;
|
||||
use App\Services\Report\ARDetailReport;
|
||||
use App\Services\Report\UserSalesReport;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use Illuminate\Routing\Middleware\ThrottleRequests;
|
||||
use Tests\MockAccountData;
|
||||
@ -28,7 +27,7 @@ use Tests\TestCase;
|
||||
/**
|
||||
* @test
|
||||
*/
|
||||
class ARDetailReportTest extends TestCase
|
||||
class ArDetailReportTest extends TestCase
|
||||
{
|
||||
use MakesHash;
|
||||
|
||||
|
@ -27,7 +27,7 @@ use Tests\TestCase;
|
||||
/**
|
||||
* @test
|
||||
*/
|
||||
class ARSummaryReportTest extends TestCase
|
||||
class ArSummaryReportTest extends TestCase
|
||||
{
|
||||
use MakesHash;
|
||||
|
||||
|
@ -34,6 +34,11 @@ class PreviewTest extends TestCase
|
||||
$this->withoutMiddleware(
|
||||
ThrottleRequests::class
|
||||
);
|
||||
|
||||
if (config('ninja.testvars.travis') !== false) {
|
||||
$this->markTestSkipped('Skip test for Travis');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function testPreviewRoute()
|
||||
|
Loading…
Reference in New Issue
Block a user