1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-13 22:54:25 +01:00

Fixes for matching transactions

This commit is contained in:
David Bomba 2023-08-02 10:38:36 +10:00
parent c72d802e4a
commit 2ca3246af8
6 changed files with 29 additions and 19 deletions

View File

@ -33,6 +33,7 @@ class ExpenseFilters extends QueryFilters
return $this->builder->where(function ($query) use ($filter) {
$query->where('number', 'like', '%'.$filter.'%')
->orWhere('amount', 'like', '%'.$filter.'%')
->orWhere('public_notes', 'like', '%'.$filter.'%')
->orWhere('custom_value1', 'like', '%'.$filter.'%')
->orWhere('custom_value2', 'like', '%'.$filter.'%')

View File

@ -243,7 +243,7 @@ class MatchBankTransactions implements ShouldQueue
private function matchExpense($input) :self
{
//if there is a category id, pull it from Yodlee and insert - or just reuse!!
$this->bt = BankTransaction::find($input['id']);
$this->bt = BankTransaction::withTrashed()->find($input['id']);
if (!$this->bt || $this->bt->status_id == BankTransaction::STATUS_CONVERTED) {
return $this;

View File

@ -249,12 +249,12 @@ class PurchaseOrder extends BaseModel
return $this->belongsTo(Vendor::class)->withTrashed();
}
public function history()
public function history(): \Illuminate\Database\Eloquent\Relations\HasManyThrough
{
return $this->hasManyThrough(Backup::class, Activity::class);
}
public function activities()
public function activities(): \Illuminate\Database\Eloquent\Relations\HasMany
{
return $this->hasMany(Activity::class)->orderBy('id', 'DESC')->take(50);
}
@ -325,12 +325,12 @@ class PurchaseOrder extends BaseModel
return $this->hasMany(PurchaseOrderInvitation::class);
}
public function project()
public function project(): \Illuminate\Database\Eloquent\Relations\BelongsTo
{
return $this->belongsTo(Project::class)->withTrashed();
}
public function invoice()
public function invoice(): \Illuminate\Database\Eloquent\Relations\BelongsTo
{
return $this->belongsTo(Invoice::class);
}
@ -341,17 +341,17 @@ class PurchaseOrder extends BaseModel
return new PurchaseOrderService($this);
}
public function invoices()
public function invoices(): \Illuminate\Database\Eloquent\Relations\BelongsToMany
{
return $this->belongsToMany(Invoice::class)->using(Paymentable::class);
}
public function payments()
public function payments(): \Illuminate\Database\Eloquent\Relations\MorphToMany
{
return $this->morphToMany(Payment::class, 'paymentable');
}
public function documents()
public function documents(): \Illuminate\Database\Eloquent\Relations\MorphMany
{
return $this->morphMany(Document::class, 'documentable');
}
@ -374,7 +374,7 @@ class PurchaseOrder extends BaseModel
return $purchase_order_calc->build();
}
public function translate_entity()
public function translate_entity(): string
{
return ctrans('texts.purchase_order');
}

View File

@ -90,19 +90,13 @@ use Laracasts\Presenter\PresentableTrait;
* @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 int|null $invitations_count
* @property-read \App\Models\Invoice|null $invoice
* @property-read \App\Models\QuoteInvitation|null $invitations

View File

@ -5135,9 +5135,13 @@ $LANG = array(
'activity_10_online' => ':contact entered payment :payment for invoice :invoice for :client',
'activity_10_manual' => ':user entered payment :payment for invoice :invoice for :client',
'default_payment_type' => 'Default Payment Type',
'number_precision' => 'Number precision',
'number_precision_help' => 'Controls the number of decimals supported in the interface',
'is_tax_exempt' => 'Tax Exempt',
'drop_files_here' => 'Drop files here',
'upload_files' => 'Upload Files',
);
return $LANG;
?>

View File

@ -369,7 +369,7 @@ $LANG = array(
'go_back' => 'Retour',
'data_visualizations' => 'Visualisation des données',
'sample_data' => 'Données fictives présentées',
'hide' => 'Cacher',
'hide' => 'Masquer',
'new_version_available' => 'Une nouvelle version de :releases_link est disponible. Vous utilisez v:user_version, la plus récente est v:latest_version',
'invoice_settings' => 'Paramètres des factures',
'invoice_number_prefix' => 'Préfixe du numéro de facture',
@ -1132,7 +1132,7 @@ $LANG = array(
'document_size' => 'Taille',
'enable_client_portal' => 'Portail client',
'enable_client_portal_help' => 'Afficher / masquer le portail client.',
'enable_client_portal_help' => 'Afficher/masquer le portail client.',
'enable_client_portal_dashboard' => 'Tableau de bord',
'enable_client_portal_dashboard_help' => 'Afficher/masquer la page du tableau de bord dans le portail client.',
@ -4281,7 +4281,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'remind_me' => 'Rappel',
'instant_bank_pay' => 'Instant Bank Pay',
'click_selected' => 'Cliquer sur la sélection',
'hide_preview' => 'Cacher l\'aperçu',
'hide_preview' => 'Masquer l\'aperçu',
'edit_record' => 'Modifier l\'enregistrement',
'credit_is_more_than_invoice' => 'Le montant du crédit ne peut pas être supérieur que le montant de la facture',
'please_set_a_password' => 'Veuillez spécifier un mot de passe',
@ -5116,6 +5116,17 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'income' => 'Revenu',
'amount_received_help' => 'Saisissez une valeur si le montant total reçu été PLUS élevé que le montant de la facture, ou lors de l\'enregistrement d\'un paiement sans factures. Sinon, ce champ devrait rester vide.',
'vendor_phone' => 'Téléphone du fournisseur',
'mercado_pago' => 'Mercado Pago',
'mybank' => 'MyBank',
'paypal_paylater' => 'Payez en 4',
'paid_date' => 'Date de paiement',
'district' => 'District',
'region' => 'Région',
'county' => 'Comté',
'tax_details' => 'Détails de taxes',
'activity_10_online' => ':contact a saisi un paiement :payment pour la facture :invoice pour :client',
'activity_10_manual' => ':user a saisi un paiement :payment pour la facture :invoice pour :client',
'default_payment_type' => 'Type de paiement par défaut',
);