minor fixes for profit/loss

This commit is contained in:
David Bomba 2023-10-09 15:16:35 +11:00
parent 8dd79fa176
commit 1ad3480f31
8 changed files with 35 additions and 13 deletions

View File

@ -26,14 +26,21 @@ class StoreBankTransactionRequest extends Request
*/ */
public function authorize() : bool 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() public function rules()
{ {
/** @var \App\Models\User $user */
$user = auth()->user();
$rules = []; $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; return $rules;
} }

View File

@ -47,6 +47,9 @@ class BaseTransformer
public function parseDate($date) public function parseDate($date)
{ {
if(stripos($date,"/") !== false && $this->company->settings->country_id != 840)
$date = str_replace('/', '-', $date);
try { try {
$parsed_date = Carbon::parse($date); $parsed_date = Carbon::parse($date);

View File

@ -11,8 +11,9 @@
namespace App\Models; namespace App\Models;
use App\Services\Bank\BankService; use App\Models\Expense;
use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesHash;
use App\Services\Bank\BankService;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
/** /**
@ -137,11 +138,6 @@ class BankTransaction extends BaseModel
return $this->belongsTo(Vendor::class)->withTrashed(); 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 public function user(): \Illuminate\Database\Eloquent\Relations\BelongsTo
{ {
return $this->belongsTo(User::class)->withTrashed(); return $this->belongsTo(User::class)->withTrashed();
@ -162,8 +158,18 @@ class BankTransaction extends BaseModel
return $this->belongsTo(Payment::class)->withTrashed(); return $this->belongsTo(Payment::class)->withTrashed();
} }
// public function expense(): \Illuminate\Database\Eloquent\Relations\BelongsTo
// {
// return $this->belongsTo(Expense::class)->withTrashed();
// }
public function service() :BankService public function service() :BankService
{ {
return new BankService($this); return new BankService($this);
} }
public function getExpenses()
{
return Expense::whereIn('id', $this->getExpenseIds())->get();
}
} }

View File

@ -220,7 +220,7 @@ class Expense extends BaseModel
public function transaction(): \Illuminate\Database\Eloquent\Relations\BelongsTo public function transaction(): \Illuminate\Database\Eloquent\Relations\BelongsTo
{ {
return $this->belongsTo(BankTransaction::class); return $this->belongsTo(BankTransaction::class)->withTrashed();
} }
public function stringStatus() public function stringStatus()

View File

@ -251,7 +251,7 @@ class Payment extends BaseModel
public function transaction(): \Illuminate\Database\Eloquent\Relations\BelongsTo 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 public function exchange_currency(): \Illuminate\Database\Eloquent\Relations\BelongsTo

View File

@ -38,11 +38,14 @@ class BankTransactionRepository extends BaseRepository
public function convert_matched($bank_transactions) public function convert_matched($bank_transactions)
{ {
/** @var \App\Models\User $user */
$user = auth()->user();
$data['transactions'] = $bank_transactions->map(function ($bt) { $data['transactions'] = $bank_transactions->map(function ($bt) {
return ['id' => $bt->id, 'invoice_ids' => $bt->invoice_ids, 'ninja_category_id' => $bt->ninja_category_id]; return ['id' => $bt->id, 'invoice_ids' => $bt->invoice_ids, 'ninja_category_id' => $bt->ninja_category_id];
})->toArray(); })->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) public function unlink($bt)

View File

@ -67,9 +67,12 @@ class ExpenseRepository extends BaseRepository
*/ */
public function create($expense): ?Expense public function create($expense): ?Expense
{ {
/** @var \App\Models\User $user */
$user = auth()->user();
return $this->save( return $this->save(
$expense, $expense,
ExpenseFactory::create(auth()->user()->company()->id, auth()->user()->id) ExpenseFactory::create($user->company()->id, $user->id)
); );
} }

View File

@ -355,7 +355,7 @@ class ProfitLoss
$csv->insertOne(['--------------------']); $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 //total taxes