diff --git a/app/Http/Requests/BankTransaction/StoreBankTransactionRequest.php b/app/Http/Requests/BankTransaction/StoreBankTransactionRequest.php index 266aa4eb0328..35e55607919e 100644 --- a/app/Http/Requests/BankTransaction/StoreBankTransactionRequest.php +++ b/app/Http/Requests/BankTransaction/StoreBankTransactionRequest.php @@ -26,14 +26,21 @@ class StoreBankTransactionRequest extends Request */ public function authorize() : bool { - return auth()->user()->can('create', BankTransaction::class); + /** @var \App\Models\User $user */ + $user = auth()->user(); + + return $user->can('create', BankTransaction::class); } public function rules() { + + /** @var \App\Models\User $user */ + $user = auth()->user(); + $rules = []; - $rules['bank_integration_id'] = 'bail|required|exists:bank_integrations,id,company_id,'.auth()->user()->company()->id.',is_deleted,0'; + $rules['bank_integration_id'] = 'bail|required|exists:bank_integrations,id,company_id,'.$user->company()->id.',is_deleted,0'; return $rules; } diff --git a/app/Import/Transformer/BaseTransformer.php b/app/Import/Transformer/BaseTransformer.php index 56a5415fc423..f651e164aafe 100644 --- a/app/Import/Transformer/BaseTransformer.php +++ b/app/Import/Transformer/BaseTransformer.php @@ -47,6 +47,9 @@ class BaseTransformer public function parseDate($date) { + if(stripos($date,"/") !== false && $this->company->settings->country_id != 840) + $date = str_replace('/', '-', $date); + try { $parsed_date = Carbon::parse($date); diff --git a/app/Models/BankTransaction.php b/app/Models/BankTransaction.php index 5dfcafdc2e64..3139ae436d4a 100644 --- a/app/Models/BankTransaction.php +++ b/app/Models/BankTransaction.php @@ -11,8 +11,9 @@ namespace App\Models; -use App\Services\Bank\BankService; +use App\Models\Expense; use App\Utils\Traits\MakesHash; +use App\Services\Bank\BankService; use Illuminate\Database\Eloquent\SoftDeletes; /** @@ -137,11 +138,6 @@ class BankTransaction extends BaseModel return $this->belongsTo(Vendor::class)->withTrashed(); } - public function expense(): \Illuminate\Database\Eloquent\Relations\BelongsTo - { - return $this->belongsTo(Expense::class)->withTrashed(); - } - public function user(): \Illuminate\Database\Eloquent\Relations\BelongsTo { return $this->belongsTo(User::class)->withTrashed(); @@ -162,8 +158,18 @@ class BankTransaction extends BaseModel return $this->belongsTo(Payment::class)->withTrashed(); } + // public function expense(): \Illuminate\Database\Eloquent\Relations\BelongsTo + // { + // return $this->belongsTo(Expense::class)->withTrashed(); + // } + public function service() :BankService { return new BankService($this); } + + public function getExpenses() + { + return Expense::whereIn('id', $this->getExpenseIds())->get(); + } } diff --git a/app/Models/Expense.php b/app/Models/Expense.php index 3ebe98b30c8b..875fa14172bb 100644 --- a/app/Models/Expense.php +++ b/app/Models/Expense.php @@ -220,7 +220,7 @@ class Expense extends BaseModel public function transaction(): \Illuminate\Database\Eloquent\Relations\BelongsTo { - return $this->belongsTo(BankTransaction::class); + return $this->belongsTo(BankTransaction::class)->withTrashed(); } public function stringStatus() diff --git a/app/Models/Payment.php b/app/Models/Payment.php index e264482048eb..8be6f607e6c0 100644 --- a/app/Models/Payment.php +++ b/app/Models/Payment.php @@ -251,7 +251,7 @@ class Payment extends BaseModel public function transaction(): \Illuminate\Database\Eloquent\Relations\BelongsTo { - return $this->belongsTo(BankTransaction::class); + return $this->belongsTo(BankTransaction::class)->withTrashed(); } public function exchange_currency(): \Illuminate\Database\Eloquent\Relations\BelongsTo diff --git a/app/Repositories/BankTransactionRepository.php b/app/Repositories/BankTransactionRepository.php index e16ba4f0fd5d..66e54d3ff9f9 100644 --- a/app/Repositories/BankTransactionRepository.php +++ b/app/Repositories/BankTransactionRepository.php @@ -38,11 +38,14 @@ class BankTransactionRepository extends BaseRepository public function convert_matched($bank_transactions) { + /** @var \App\Models\User $user */ + $user = auth()->user(); + $data['transactions'] = $bank_transactions->map(function ($bt) { return ['id' => $bt->id, 'invoice_ids' => $bt->invoice_ids, 'ninja_category_id' => $bt->ninja_category_id]; })->toArray(); - $bts = (new MatchBankTransactions(auth()->user()->company()->id, auth()->user()->company()->db, $data))->handle(); + $bts = (new MatchBankTransactions($user->company()->id, $user->company()->db, $data))->handle(); } public function unlink($bt) diff --git a/app/Repositories/ExpenseRepository.php b/app/Repositories/ExpenseRepository.php index 6af0d453c6b6..04ac88e97bdf 100644 --- a/app/Repositories/ExpenseRepository.php +++ b/app/Repositories/ExpenseRepository.php @@ -67,9 +67,12 @@ class ExpenseRepository extends BaseRepository */ public function create($expense): ?Expense { + /** @var \App\Models\User $user */ + $user = auth()->user(); + return $this->save( $expense, - ExpenseFactory::create(auth()->user()->company()->id, auth()->user()->id) + ExpenseFactory::create($user->company()->id, $user->id) ); } diff --git a/app/Services/Report/ProfitLoss.php b/app/Services/Report/ProfitLoss.php index 00f0c773df79..b9505848130b 100644 --- a/app/Services/Report/ProfitLoss.php +++ b/app/Services/Report/ProfitLoss.php @@ -355,7 +355,7 @@ class ProfitLoss $csv->insertOne(['--------------------']); - $csv->insertOne([ctrans('texts.total_revenue'), Number::formatMoney($this->income - $this->income_taxes, $this->company)]); + $csv->insertOne([ctrans('texts.total_revenue'), Number::formatMoney($this->income, $this->company)]); //total taxes