added customer and vendor scopes
This commit is contained in:
parent
d94bf5d5b5
commit
a2b17eaab5
@ -82,17 +82,17 @@ abstract class Report
|
|||||||
|
|
||||||
public function getCustomers()
|
public function getCustomers()
|
||||||
{
|
{
|
||||||
return $this->getContacts($this->getCustomerTypes());
|
return $this->getContacts('customer');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getVendors()
|
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)
|
public function applyDateFilter($event)
|
||||||
|
@ -9,12 +9,9 @@ use App\Models\Common\Contact;
|
|||||||
use App\Models\Purchase\Bill;
|
use App\Models\Purchase\Bill;
|
||||||
use App\Models\Sale\Invoice;
|
use App\Models\Sale\Invoice;
|
||||||
use App\Models\Common\Item;
|
use App\Models\Common\Item;
|
||||||
use App\Traits\Contacts;
|
|
||||||
|
|
||||||
class Search extends Controller
|
class Search extends Controller
|
||||||
{
|
{
|
||||||
use Contacts;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Display a listing of the resource.
|
* 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()) {
|
if ($customers->count()) {
|
||||||
foreach ($customers as $customer) {
|
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()) {
|
if ($vendors->count()) {
|
||||||
foreach ($vendors as $vendor) {
|
foreach ($vendors as $vendor) {
|
||||||
|
@ -20,7 +20,6 @@ use App\Models\Purchase\Bill;
|
|||||||
use App\Models\Setting\Category;
|
use App\Models\Setting\Category;
|
||||||
use App\Models\Setting\Currency;
|
use App\Models\Setting\Currency;
|
||||||
use App\Models\Setting\Tax;
|
use App\Models\Setting\Tax;
|
||||||
use App\Traits\Contacts;
|
|
||||||
use App\Traits\Currencies;
|
use App\Traits\Currencies;
|
||||||
use App\Traits\DateTime;
|
use App\Traits\DateTime;
|
||||||
use App\Traits\Purchases;
|
use App\Traits\Purchases;
|
||||||
@ -29,7 +28,7 @@ use App\Utilities\Modules;
|
|||||||
|
|
||||||
class Bills extends Controller
|
class Bills extends Controller
|
||||||
{
|
{
|
||||||
use Contacts, Currencies, DateTime, Purchases, Uploads;
|
use Currencies, DateTime, Purchases, Uploads;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Display a listing of the resource.
|
* 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']);
|
$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');
|
$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();
|
$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');
|
$categories = Category::type('expense')->enabled()->orderBy('name')->pluck('name', 'id');
|
||||||
|
|
||||||
@ -97,7 +96,7 @@ class Bills extends Controller
|
|||||||
*/
|
*/
|
||||||
public function create()
|
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();
|
$currencies = Currency::enabled()->orderBy('name')->pluck('name', 'code')->toArray();
|
||||||
|
|
||||||
@ -193,7 +192,7 @@ class Bills extends Controller
|
|||||||
*/
|
*/
|
||||||
public function edit(Bill $bill)
|
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();
|
$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\Common\Contact;
|
||||||
use App\Models\Setting\Category;
|
use App\Models\Setting\Category;
|
||||||
use App\Models\Setting\Currency;
|
use App\Models\Setting\Currency;
|
||||||
use App\Traits\Contacts;
|
|
||||||
use App\Traits\Currencies;
|
use App\Traits\Currencies;
|
||||||
use App\Traits\DateTime;
|
use App\Traits\DateTime;
|
||||||
use App\Utilities\Modules;
|
use App\Utilities\Modules;
|
||||||
|
|
||||||
class Payments extends Controller
|
class Payments extends Controller
|
||||||
{
|
{
|
||||||
use Contacts, Currencies, DateTime;
|
use Currencies, DateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Display a listing of the resource.
|
* 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']);
|
$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');
|
$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();
|
$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');
|
$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();
|
$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');
|
$categories = Category::type('expense')->enabled()->orderBy('name')->pluck('name', 'id');
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ class Vendors extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
$vendors = Contact::type($this->getVendorTypes())->collect();
|
$vendors = Contact::vendor()->collect();
|
||||||
|
|
||||||
return view('purchases.vendors.index', compact('vendors'));
|
return view('purchases.vendors.index', compact('vendors'));
|
||||||
}
|
}
|
||||||
|
@ -14,14 +14,11 @@ use App\Models\Banking\Transaction;
|
|||||||
use App\Models\Common\Contact;
|
use App\Models\Common\Contact;
|
||||||
use App\Models\Sale\Invoice;
|
use App\Models\Sale\Invoice;
|
||||||
use App\Models\Setting\Currency;
|
use App\Models\Setting\Currency;
|
||||||
use App\Traits\Contacts;
|
|
||||||
use Date;
|
use Date;
|
||||||
use Illuminate\Http\Request as BaseRequest;
|
use Illuminate\Http\Request as BaseRequest;
|
||||||
|
|
||||||
class Customers extends Controller
|
class Customers extends Controller
|
||||||
{
|
{
|
||||||
use Contacts;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Display a listing of the resource.
|
* Display a listing of the resource.
|
||||||
*
|
*
|
||||||
@ -29,7 +26,7 @@ class Customers extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
$customers = Contact::type($this->getCustomerTypes())->collect();
|
$customers = Contact::customer()->collect();
|
||||||
|
|
||||||
return view('sales.customers.index', compact('customers'));
|
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\Currency;
|
||||||
use App\Models\Setting\Tax;
|
use App\Models\Setting\Tax;
|
||||||
use App\Notifications\Sale\Invoice as Notification;
|
use App\Notifications\Sale\Invoice as Notification;
|
||||||
use App\Traits\Contacts;
|
|
||||||
use App\Traits\Currencies;
|
use App\Traits\Currencies;
|
||||||
use App\Traits\DateTime;
|
use App\Traits\DateTime;
|
||||||
use App\Traits\Sales;
|
use App\Traits\Sales;
|
||||||
@ -30,7 +29,7 @@ use Illuminate\Support\Facades\URL;
|
|||||||
|
|
||||||
class Invoices extends Controller
|
class Invoices extends Controller
|
||||||
{
|
{
|
||||||
use Contacts, Currencies, DateTime, Sales;
|
use Currencies, DateTime, Sales;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Display a listing of the resource.
|
* 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']);
|
$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');
|
$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();
|
$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');
|
$categories = Category::type('income')->enabled()->orderBy('name')->pluck('name', 'id');
|
||||||
|
|
||||||
@ -100,7 +99,7 @@ class Invoices extends Controller
|
|||||||
*/
|
*/
|
||||||
public function create()
|
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();
|
$currencies = Currency::enabled()->orderBy('name')->pluck('name', 'code')->toArray();
|
||||||
|
|
||||||
@ -196,7 +195,7 @@ class Invoices extends Controller
|
|||||||
*/
|
*/
|
||||||
public function edit(Invoice $invoice)
|
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();
|
$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\Common\Contact;
|
||||||
use App\Models\Setting\Category;
|
use App\Models\Setting\Category;
|
||||||
use App\Models\Setting\Currency;
|
use App\Models\Setting\Currency;
|
||||||
use App\Traits\Contacts;
|
|
||||||
use App\Traits\Currencies;
|
use App\Traits\Currencies;
|
||||||
use App\Traits\DateTime;
|
use App\Traits\DateTime;
|
||||||
use App\Utilities\Modules;
|
use App\Utilities\Modules;
|
||||||
|
|
||||||
class Revenues extends Controller
|
class Revenues extends Controller
|
||||||
{
|
{
|
||||||
use Contacts, Currencies, DateTime;
|
use Currencies, DateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Display a listing of the resource.
|
* 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']);
|
$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');
|
$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();
|
$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');
|
$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();
|
$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');
|
$categories = Category::type('income')->enabled()->orderBy('name')->pluck('name', 'id');
|
||||||
|
|
||||||
|
@ -4,13 +4,14 @@ namespace App\Models\Common;
|
|||||||
|
|
||||||
use App\Abstracts\Model;
|
use App\Abstracts\Model;
|
||||||
use Bkwld\Cloner\Cloneable;
|
use Bkwld\Cloner\Cloneable;
|
||||||
|
use App\Traits\Contacts;
|
||||||
use App\Traits\Currencies;
|
use App\Traits\Currencies;
|
||||||
use App\Traits\Media;
|
use App\Traits\Media;
|
||||||
use Illuminate\Notifications\Notifiable;
|
use Illuminate\Notifications\Notifiable;
|
||||||
|
|
||||||
class Contact extends Model
|
class Contact extends Model
|
||||||
{
|
{
|
||||||
use Cloneable, Currencies, Media, Notifiable;
|
use Cloneable, Contacts, Currencies, Media, Notifiable;
|
||||||
|
|
||||||
protected $table = 'contacts';
|
protected $table = 'contacts';
|
||||||
|
|
||||||
@ -79,6 +80,28 @@ class Contact extends Model
|
|||||||
return $query->whereIn($this->table . '.type', (array) $types);
|
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)
|
public function scopeEmail($query, $email)
|
||||||
{
|
{
|
||||||
return $query->where('email', '=', $email);
|
return $query->where('email', '=', $email);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user