human friendly invoice import/export

This commit is contained in:
denisdulici
2020-01-20 22:58:49 +03:00
parent 8562223ff3
commit 6923a3d6e4
27 changed files with 497 additions and 76 deletions

View File

@ -49,6 +49,16 @@ class Account extends Model
return $this->hasMany('App\Models\Banking\Transaction');
}
public function scopeName($query, $name)
{
return $query->where('name', '=', $name);
}
public function scopeNumber($query, $number)
{
return $query->where('number', '=', $number);
}
/**
* Convert opening balance to double.
*

View File

@ -79,6 +79,11 @@ class Contact extends Model
return $query->whereIn('type', (array) $types);
}
public function scopeEmail($query, $email)
{
return $query->where('email', '=', $email);
}
public function onCloning($src, $child = null)
{
$this->user_id = null;

View File

@ -36,12 +36,12 @@ class Item extends Model
public function category()
{
return $this->belongsTo('App\Models\Setting\Category');
return $this->belongsTo('App\Models\Setting\Category')->withDefault(['name' => trans('general.na')]);
}
public function tax()
{
return $this->belongsTo('App\Models\Setting\Tax');
return $this->belongsTo('App\Models\Setting\Tax')->withDefault(['name' => trans('general.na')]);
}
public function bill_items()
@ -54,6 +54,11 @@ class Item extends Model
return $this->hasMany('App\Models\Sale\InvoiceItem');
}
public function scopeName($query, $name)
{
return $query->where('name', '=', $name);
}
/**
* Convert sale price to double.
*

View File

@ -125,6 +125,11 @@ class Invoice extends Model
return $query->where('status', '<>', 'paid');
}
public function scopeNumber($query, $number)
{
return $query->where('invoice_number', '=', $number);
}
public function onCloning($src, $child = null)
{
$this->status = 'draft';

View File

@ -34,7 +34,7 @@ class InvoiceItem extends Model
public function item()
{
return $this->belongsTo('App\Models\Common\Item');
return $this->belongsTo('App\Models\Common\Item')->withDefault(['name' => trans('general.na')]);
}
public function taxes()

View File

@ -4,11 +4,11 @@ namespace App\Models\Sale;
use App\Abstracts\Model;
use App\Traits\Currencies;
use Znck\Eloquent\Traits\BelongsToThrough;
class InvoiceItemTax extends Model
{
use Currencies;
use Currencies, BelongsToThrough;
protected $table = 'invoice_item_taxes';
@ -24,9 +24,14 @@ class InvoiceItemTax extends Model
return $this->belongsTo('App\Models\Sale\Invoice');
}
public function item()
{
return $this->belongsToThrough('App\Models\Common\Item', 'App\Models\Sale\InvoiceItem', 'invoice_item_id')->withDefault(['name' => trans('general.na')]);
}
public function tax()
{
return $this->belongsTo('App\Models\Setting\Tax');
return $this->belongsTo('App\Models\Setting\Tax')->withDefault(['name' => trans('general.na')]);
}
/**

View File

@ -68,6 +68,11 @@ class Category extends Model
return $query->whereIn('type', (array) $types);
}
public function scopeName($query, $name)
{
return $query->where('name', '=', $name);
}
/**
* Scope transfer category.
*

View File

@ -44,6 +44,16 @@ class Tax extends Model
return $this->hasMany('App\Models\Sale\InvoiceItemTax');
}
public function scopeName($query, $name)
{
return $query->where('name', '=', $name);
}
public function scopeRate($query, $rate)
{
return $query->where('rate', '=', $rate);
}
/**
* Convert rate to double.
*