added customer and vendor scopes
This commit is contained in:
parent
d94bf5d5b5
commit
a2b17eaab5
@ -82,17 +82,17 @@ abstract class Report
|
||||
|
||||
public function getCustomers()
|
||||
{
|
||||
return $this->getContacts($this->getCustomerTypes());
|
||||
return $this->getContacts('customer');
|
||||
}
|
||||
|
||||
public function getVendors()
|
||||
{
|
||||
return $this->getContacts($this->getVendorTypes());
|
||||
return $this->getContacts('vendor');
|
||||
}
|
||||
|
||||
public function getContacts($types)
|
||||
public function getContacts($type)
|
||||
{
|
||||
return Contact::type($types)->orderBy('name')->pluck('name', 'id')->toArray();
|
||||
return Contact::$type()->orderBy('name')->pluck('name', 'id')->toArray();
|
||||
}
|
||||
|
||||
public function applyDateFilter($event)
|
||||
|
@ -9,12 +9,9 @@ use App\Models\Common\Contact;
|
||||
use App\Models\Purchase\Bill;
|
||||
use App\Models\Sale\Invoice;
|
||||
use App\Models\Common\Item;
|
||||
use App\Traits\Contacts;
|
||||
|
||||
class Search extends Controller
|
||||
{
|
||||
use Contacts;
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
@ -82,7 +79,7 @@ class Search extends Controller
|
||||
}
|
||||
}*/
|
||||
|
||||
$customers = Contact::type($this->getCustomerTypes())->enabled()->usingSearchString($keyword)->get();
|
||||
$customers = Contact::customer()->enabled()->usingSearchString($keyword)->get();
|
||||
|
||||
if ($customers->count()) {
|
||||
foreach ($customers as $customer) {
|
||||
@ -124,7 +121,7 @@ class Search extends Controller
|
||||
}
|
||||
}*/
|
||||
|
||||
$vendors = Contact::type($this->getVendorTypes())->enabled()->usingSearchString($keyword)->get();
|
||||
$vendors = Contact::vendor()->enabled()->usingSearchString($keyword)->get();
|
||||
|
||||
if ($vendors->count()) {
|
||||
foreach ($vendors as $vendor) {
|
||||
|
@ -20,7 +20,6 @@ use App\Models\Purchase\Bill;
|
||||
use App\Models\Setting\Category;
|
||||
use App\Models\Setting\Currency;
|
||||
use App\Models\Setting\Tax;
|
||||
use App\Traits\Contacts;
|
||||
use App\Traits\Currencies;
|
||||
use App\Traits\DateTime;
|
||||
use App\Traits\Purchases;
|
||||
@ -29,7 +28,7 @@ use App\Utilities\Modules;
|
||||
|
||||
class Bills extends Controller
|
||||
{
|
||||
use Contacts, Currencies, DateTime, Purchases, Uploads;
|
||||
use Currencies, DateTime, Purchases, Uploads;
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
@ -40,7 +39,7 @@ class Bills extends Controller
|
||||
{
|
||||
$bills = Bill::with(['contact', 'items', 'histories', 'transactions'])->collect(['billed_at'=> 'desc']);
|
||||
|
||||
$vendors = Contact::type($this->getVendorTypes())->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
$vendors = Contact::vendor()->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
$categories = Category::type('expense')->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
@ -66,7 +65,7 @@ class Bills extends Controller
|
||||
|
||||
$account_currency_code = Account::where('id', setting('default.account'))->pluck('currency_code')->first();
|
||||
|
||||
$vendors = Contact::type($this->getVendorTypes())->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
$vendors = Contact::vendor()->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
$categories = Category::type('expense')->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
@ -97,7 +96,7 @@ class Bills extends Controller
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
$vendors = Contact::type($this->getVendorTypes())->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
$vendors = Contact::vendor()->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
$currencies = Currency::enabled()->orderBy('name')->pluck('name', 'code')->toArray();
|
||||
|
||||
@ -193,7 +192,7 @@ class Bills extends Controller
|
||||
*/
|
||||
public function edit(Bill $bill)
|
||||
{
|
||||
$vendors = Contact::type($this->getVendorTypes())->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
$vendors = Contact::vendor()->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
$currencies = Currency::enabled()->orderBy('name')->pluck('name', 'code')->toArray();
|
||||
|
||||
|
@ -15,14 +15,13 @@ use App\Models\Banking\Transaction;
|
||||
use App\Models\Common\Contact;
|
||||
use App\Models\Setting\Category;
|
||||
use App\Models\Setting\Currency;
|
||||
use App\Traits\Contacts;
|
||||
use App\Traits\Currencies;
|
||||
use App\Traits\DateTime;
|
||||
use App\Utilities\Modules;
|
||||
|
||||
class Payments extends Controller
|
||||
{
|
||||
use Contacts, Currencies, DateTime;
|
||||
use Currencies, DateTime;
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
@ -33,7 +32,7 @@ class Payments extends Controller
|
||||
{
|
||||
$payments = Transaction::type('expense')->with(['account', 'category', 'contact'])->isNotTransfer()->collect(['paid_at'=> 'desc']);
|
||||
|
||||
$vendors = Contact::type($this->getVendorTypes())->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
$vendors = Contact::vendor()->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
$categories = Category::type('expense')->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
@ -67,7 +66,7 @@ class Payments extends Controller
|
||||
|
||||
$currency = Currency::where('code', $account_currency_code)->first();
|
||||
|
||||
$vendors = Contact::type($this->getVendorTypes())->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
$vendors = Contact::vendor()->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
$categories = Category::type('expense')->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
@ -155,7 +154,7 @@ class Payments extends Controller
|
||||
|
||||
$currency = Currency::where('code', $payment->currency_code)->first();
|
||||
|
||||
$vendors = Contact::type($this->getVendorTypes())->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
$vendors = Contact::vendor()->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
$categories = Category::type('expense')->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
|
@ -28,7 +28,7 @@ class Vendors extends Controller
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$vendors = Contact::type($this->getVendorTypes())->collect();
|
||||
$vendors = Contact::vendor()->collect();
|
||||
|
||||
return view('purchases.vendors.index', compact('vendors'));
|
||||
}
|
||||
|
@ -14,14 +14,11 @@ use App\Models\Banking\Transaction;
|
||||
use App\Models\Common\Contact;
|
||||
use App\Models\Sale\Invoice;
|
||||
use App\Models\Setting\Currency;
|
||||
use App\Traits\Contacts;
|
||||
use Date;
|
||||
use Illuminate\Http\Request as BaseRequest;
|
||||
|
||||
class Customers extends Controller
|
||||
{
|
||||
use Contacts;
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
@ -29,7 +26,7 @@ class Customers extends Controller
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$customers = Contact::type($this->getCustomerTypes())->collect();
|
||||
$customers = Contact::customer()->collect();
|
||||
|
||||
return view('sales.customers.index', compact('customers'));
|
||||
}
|
||||
|
@ -20,7 +20,6 @@ use App\Models\Setting\Category;
|
||||
use App\Models\Setting\Currency;
|
||||
use App\Models\Setting\Tax;
|
||||
use App\Notifications\Sale\Invoice as Notification;
|
||||
use App\Traits\Contacts;
|
||||
use App\Traits\Currencies;
|
||||
use App\Traits\DateTime;
|
||||
use App\Traits\Sales;
|
||||
@ -30,7 +29,7 @@ use Illuminate\Support\Facades\URL;
|
||||
|
||||
class Invoices extends Controller
|
||||
{
|
||||
use Contacts, Currencies, DateTime, Sales;
|
||||
use Currencies, DateTime, Sales;
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
@ -41,7 +40,7 @@ class Invoices extends Controller
|
||||
{
|
||||
$invoices = Invoice::with(['contact', 'items', 'histories', 'transactions'])->collect(['invoice_number'=> 'desc']);
|
||||
|
||||
$customers = Contact::type($this->getCustomerTypes())->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
$customers = Contact::customer()->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
$categories = Category::type('income')->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
@ -67,7 +66,7 @@ class Invoices extends Controller
|
||||
|
||||
$account_currency_code = Account::where('id', setting('default.account'))->pluck('currency_code')->first();
|
||||
|
||||
$customers = Contact::type($this->getCustomerTypes())->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
$customers = Contact::customer()->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
$categories = Category::type('income')->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
@ -100,7 +99,7 @@ class Invoices extends Controller
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
$customers = Contact::type($this->getCustomerTypes())->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
$customers = Contact::customer()->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
$currencies = Currency::enabled()->orderBy('name')->pluck('name', 'code')->toArray();
|
||||
|
||||
@ -196,7 +195,7 @@ class Invoices extends Controller
|
||||
*/
|
||||
public function edit(Invoice $invoice)
|
||||
{
|
||||
$customers = Contact::type($this->getCustomerTypes())->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
$customers = Contact::customer()->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
$currencies = Currency::enabled()->orderBy('name')->pluck('name', 'code')->toArray();
|
||||
|
||||
|
@ -15,14 +15,13 @@ use App\Models\Banking\Transaction;
|
||||
use App\Models\Common\Contact;
|
||||
use App\Models\Setting\Category;
|
||||
use App\Models\Setting\Currency;
|
||||
use App\Traits\Contacts;
|
||||
use App\Traits\Currencies;
|
||||
use App\Traits\DateTime;
|
||||
use App\Utilities\Modules;
|
||||
|
||||
class Revenues extends Controller
|
||||
{
|
||||
use Contacts, Currencies, DateTime;
|
||||
use Currencies, DateTime;
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
@ -33,7 +32,7 @@ class Revenues extends Controller
|
||||
{
|
||||
$revenues = Transaction::type('income')->with(['account', 'category', 'contact'])->isNotTransfer()->collect(['paid_at'=> 'desc']);
|
||||
|
||||
$customers = Contact::type($this->getCustomerTypes())->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
$customers = Contact::customer()->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
$categories = Category::type('income')->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
@ -67,7 +66,7 @@ class Revenues extends Controller
|
||||
|
||||
$currency = Currency::where('code', $account_currency_code)->first();
|
||||
|
||||
$customers = Contact::type($this->getCustomerTypes())->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
$customers = Contact::customer()->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
$categories = Category::type('income')->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
@ -155,7 +154,7 @@ class Revenues extends Controller
|
||||
|
||||
$currency = Currency::where('code', $revenue->currency_code)->first();
|
||||
|
||||
$customers = Contact::type($this->getCustomerTypes())->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
$customers = Contact::customer()->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
$categories = Category::type('income')->enabled()->orderBy('name')->pluck('name', 'id');
|
||||
|
||||
|
@ -4,13 +4,14 @@ namespace App\Models\Common;
|
||||
|
||||
use App\Abstracts\Model;
|
||||
use Bkwld\Cloner\Cloneable;
|
||||
use App\Traits\Contacts;
|
||||
use App\Traits\Currencies;
|
||||
use App\Traits\Media;
|
||||
use Illuminate\Notifications\Notifiable;
|
||||
|
||||
class Contact extends Model
|
||||
{
|
||||
use Cloneable, Currencies, Media, Notifiable;
|
||||
use Cloneable, Contacts, Currencies, Media, Notifiable;
|
||||
|
||||
protected $table = 'contacts';
|
||||
|
||||
@ -79,6 +80,28 @@ class Contact extends Model
|
||||
return $query->whereIn($this->table . '.type', (array) $types);
|
||||
}
|
||||
|
||||
/**
|
||||
* Scope to include only vendors.
|
||||
*
|
||||
* @param \Illuminate\Database\Eloquent\Builder $query
|
||||
* @return \Illuminate\Database\Eloquent\Builder
|
||||
*/
|
||||
public function scopeVendor($query)
|
||||
{
|
||||
return $query->whereIn($this->table . '.type', (array) $this->getVendorTypes());
|
||||
}
|
||||
|
||||
/**
|
||||
* Scope to include only customers.
|
||||
*
|
||||
* @param \Illuminate\Database\Eloquent\Builder $query
|
||||
* @return \Illuminate\Database\Eloquent\Builder
|
||||
*/
|
||||
public function scopeCustomer($query)
|
||||
{
|
||||
return $query->whereIn($this->table . '.type', (array) $this->getCustomerTypes());
|
||||
}
|
||||
|
||||
public function scopeEmail($query, $email)
|
||||
{
|
||||
return $query->where('email', '=', $email);
|
||||
|
Loading…
x
Reference in New Issue
Block a user