diff --git a/app/DataTables/AdjustmentsDataTable.php b/Modules/Adjustment/DataTables/AdjustmentsDataTable.php
similarity index 98%
rename from app/DataTables/AdjustmentsDataTable.php
rename to Modules/Adjustment/DataTables/AdjustmentsDataTable.php
index 42981f67..65f7aed3 100644
--- a/app/DataTables/AdjustmentsDataTable.php
+++ b/Modules/Adjustment/DataTables/AdjustmentsDataTable.php
@@ -1,6 +1,6 @@
hasMany(AdjustedProduct::class, 'adjustment_id', 'id');
}
- public function getReferenceAttribute($value) {
- return strtoupper($value) . '_' . str_pad($this->attributes['id'], 6, '0', STR_PAD_LEFT );
+ public static function boot() {
+ parent::boot();
+
+ static::creating(function ($model) {
+ $number = Adjustment::max('id') + 1;
+ $model->reference = make_reference_id('ADJ', $number);
+ });
}
}
diff --git a/Modules/Adjustment/Http/Controllers/AdjustmentController.php b/Modules/Adjustment/Http/Controllers/AdjustmentController.php
index 91cc75c8..5a1cc1d2 100644
--- a/Modules/Adjustment/Http/Controllers/AdjustmentController.php
+++ b/Modules/Adjustment/Http/Controllers/AdjustmentController.php
@@ -2,7 +2,7 @@
namespace Modules\Adjustment\Http\Controllers;
-use App\DataTables\AdjustmentsDataTable;
+use Modules\Adjustment\DataTables\AdjustmentsDataTable;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
@@ -11,6 +11,7 @@ use Illuminate\Support\Facades\Gate;
use Modules\Adjustment\Entities\AdjustedProduct;
use Modules\Adjustment\Entities\Adjustment;
use Modules\Product\Entities\Product;
+use Modules\Product\Notifications\NotifyQuantityAlert;
class AdjustmentController extends Controller
{
@@ -43,9 +44,8 @@ class AdjustmentController extends Controller
DB::transaction(function () use ($request) {
$adjustment = Adjustment::create([
- 'reference' => $request->reference,
- 'date' => $request->date,
- 'note' => $request->note
+ 'date' => $request->date,
+ 'note' => $request->note
]);
foreach ($request->product_ids as $key => $id) {
@@ -128,15 +128,14 @@ class AdjustmentController extends Controller
foreach ($request->product_ids as $key => $id) {
AdjustedProduct::create([
'adjustment_id' => $adjustment->id,
- 'product_id' => $id,
+ 'product_id' => $id,
'quantity' => $request->quantities[$key],
'type' => $request->types[$key]
]);
$product = Product::findOrFail($id);
- if ($request->types[$key] == 'add')
- {
+ if ($request->types[$key] == 'add') {
$product->update([
'product_quantity' => $product->product_quantity + $request->quantities[$key]
]);
diff --git a/app/DataTables/CurrencyDataTable.php b/Modules/Currency/DataTables/CurrencyDataTable.php
similarity index 98%
rename from app/DataTables/CurrencyDataTable.php
rename to Modules/Currency/DataTables/CurrencyDataTable.php
index 92cd8c21..6714590d 100644
--- a/app/DataTables/CurrencyDataTable.php
+++ b/Modules/Currency/DataTables/CurrencyDataTable.php
@@ -1,6 +1,6 @@
belongsTo(ExpenseCategory::class, 'category_id', 'id');
}
+ public static function boot() {
+ parent::boot();
+
+ static::creating(function ($model) {
+ $number = Expense::max('id') + 1;
+ $model->reference = make_reference_id('EXP', $number);
+ });
+ }
+
public function getDateAttribute($value) {
return Carbon::parse($value)->format('d M, Y');
}
@@ -27,8 +36,4 @@ class Expense extends Model
public function getAmountAttribute($value) {
return ($value / 100);
}
-
- public function getReferenceAttribute($value) {
- return strtoupper($value) . '_' . str_pad($this->attributes['id'], 6, '0', STR_PAD_LEFT );
- }
}
diff --git a/Modules/Expense/Http/Controllers/ExpenseCategoriesController.php b/Modules/Expense/Http/Controllers/ExpenseCategoriesController.php
index ac3fd135..96b05b70 100644
--- a/Modules/Expense/Http/Controllers/ExpenseCategoriesController.php
+++ b/Modules/Expense/Http/Controllers/ExpenseCategoriesController.php
@@ -2,7 +2,7 @@
namespace Modules\Expense\Http\Controllers;
-use App\DataTables\ExpenseCategoriesDataTable;
+use Modules\Expense\DataTables\ExpenseCategoriesDataTable;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
diff --git a/Modules/Expense/Http/Controllers/ExpenseController.php b/Modules/Expense/Http/Controllers/ExpenseController.php
index 945cafb7..b9ea2d45 100644
--- a/Modules/Expense/Http/Controllers/ExpenseController.php
+++ b/Modules/Expense/Http/Controllers/ExpenseController.php
@@ -2,7 +2,7 @@
namespace Modules\Expense\Http\Controllers;
-use App\DataTables\ExpensesDataTable;
+use Modules\Expense\DataTables\ExpensesDataTable;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
@@ -40,7 +40,6 @@ class ExpenseController extends Controller
Expense::create([
'date' => $request->date,
- 'reference' => $request->reference,
'category_id' => $request->category_id,
'amount' => $request->amount,
'details' => $request->details
diff --git a/Modules/Expense/Resources/views/expenses/edit.blade.php b/Modules/Expense/Resources/views/expenses/edit.blade.php
index 700497d3..22368b89 100644
--- a/Modules/Expense/Resources/views/expenses/edit.blade.php
+++ b/Modules/Expense/Resources/views/expenses/edit.blade.php
@@ -29,7 +29,7 @@
diff --git a/app/DataTables/CustomersDataTable.php b/Modules/People/DataTables/CustomersDataTable.php
similarity index 98%
rename from app/DataTables/CustomersDataTable.php
rename to Modules/People/DataTables/CustomersDataTable.php
index be651594..54f287e9 100644
--- a/app/DataTables/CustomersDataTable.php
+++ b/Modules/People/DataTables/CustomersDataTable.php
@@ -1,6 +1,6 @@
hasMany(PurchasePayment::class, 'purchase_id', 'id');
}
- public function getReferenceAttribute($value) {
- return strtoupper($value) . '_' . str_pad($this->attributes['id'], 6, '0', STR_PAD_LEFT);
+ public static function boot() {
+ parent::boot();
+
+ static::creating(function ($model) {
+ $number = Purchase::max('id') + 1;
+ $model->reference = make_reference_id('PR', $number);
+ });
}
public function getShippingAmountAttribute($value) {
diff --git a/Modules/Purchase/Http/Controllers/PurchaseController.php b/Modules/Purchase/Http/Controllers/PurchaseController.php
index fdaaad35..287b2a39 100644
--- a/Modules/Purchase/Http/Controllers/PurchaseController.php
+++ b/Modules/Purchase/Http/Controllers/PurchaseController.php
@@ -2,10 +2,8 @@
namespace Modules\Purchase\Http\Controllers;
-use App\DataTables\PurchaseDataTable;
+use Modules\Purchase\DataTables\PurchaseDataTable;
use Gloudemans\Shoppingcart\Facades\Cart;
-use Illuminate\Contracts\Support\Renderable;
-use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Gate;
@@ -49,7 +47,6 @@ class PurchaseController extends Controller
$purchase = Purchase::create([
'date' => $request->date,
- 'reference' => $request->reference,
'supplier_id' => $request->supplier_id,
'supplier_name' => Supplier::findOrFail($request->supplier_id)->supplier_name,
'tax_percentage' => $request->tax_percentage,
diff --git a/Modules/Purchase/Http/Controllers/PurchasePaymentsController.php b/Modules/Purchase/Http/Controllers/PurchasePaymentsController.php
index 6d17c15f..f320bfd5 100644
--- a/Modules/Purchase/Http/Controllers/PurchasePaymentsController.php
+++ b/Modules/Purchase/Http/Controllers/PurchasePaymentsController.php
@@ -2,8 +2,7 @@
namespace Modules\Purchase\Http\Controllers;
-use App\DataTables\PurchasePaymentsDataTable;
-use Illuminate\Contracts\Support\Renderable;
+use Modules\Purchase\DataTables\PurchasePaymentsDataTable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\DB;
diff --git a/Modules/Purchase/Resources/views/edit.blade.php b/Modules/Purchase/Resources/views/edit.blade.php
index d3dc3dd3..b59e175c 100644
--- a/Modules/Purchase/Resources/views/edit.blade.php
+++ b/Modules/Purchase/Resources/views/edit.blade.php
@@ -30,7 +30,7 @@
diff --git a/app/DataTables/PurchaseReturnPaymentsDataTable.php b/Modules/PurchasesReturn/DataTables/PurchaseReturnPaymentsDataTable.php
similarity index 98%
rename from app/DataTables/PurchaseReturnPaymentsDataTable.php
rename to Modules/PurchasesReturn/DataTables/PurchaseReturnPaymentsDataTable.php
index 36d9f70e..841284d7 100644
--- a/app/DataTables/PurchaseReturnPaymentsDataTable.php
+++ b/Modules/PurchasesReturn/DataTables/PurchaseReturnPaymentsDataTable.php
@@ -1,6 +1,6 @@
hasMany(PurchaseReturnPayment::class, 'purchase_return_id', 'id');
}
- public function getReferenceAttribute($value) {
- return strtoupper($value) . '_' . str_pad($this->attributes['id'], 6, '0', STR_PAD_LEFT);
+ public static function boot() {
+ parent::boot();
+
+ static::creating(function ($model) {
+ $number = PurchaseReturn::max('id') + 1;
+ $model->reference = make_reference_id('PRRN', $number);
+ });
}
public function getShippingAmountAttribute($value) {
diff --git a/Modules/PurchasesReturn/Http/Controllers/PurchaseReturnPaymentsController.php b/Modules/PurchasesReturn/Http/Controllers/PurchaseReturnPaymentsController.php
index 8281cd9b..6f55a119 100644
--- a/Modules/PurchasesReturn/Http/Controllers/PurchaseReturnPaymentsController.php
+++ b/Modules/PurchasesReturn/Http/Controllers/PurchaseReturnPaymentsController.php
@@ -2,8 +2,7 @@
namespace Modules\PurchasesReturn\Http\Controllers;
-use App\DataTables\PurchaseReturnPaymentsDataTable;
-use Illuminate\Contracts\Support\Renderable;
+use Modules\PurchasesReturn\DataTables\PurchaseReturnPaymentsDataTable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\DB;
diff --git a/Modules/PurchasesReturn/Http/Controllers/PurchasesReturnController.php b/Modules/PurchasesReturn/Http/Controllers/PurchasesReturnController.php
index 3e58c3f6..e8eb175a 100644
--- a/Modules/PurchasesReturn/Http/Controllers/PurchasesReturnController.php
+++ b/Modules/PurchasesReturn/Http/Controllers/PurchasesReturnController.php
@@ -2,10 +2,8 @@
namespace Modules\PurchasesReturn\Http\Controllers;
-use App\DataTables\PurchaseReturnsDataTable;
+use Modules\PurchasesReturn\DataTables\PurchaseReturnsDataTable;
use Gloudemans\Shoppingcart\Facades\Cart;
-use Illuminate\Contracts\Support\Renderable;
-use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Gate;
@@ -50,7 +48,6 @@ class PurchasesReturnController extends Controller
$purchase_return = PurchaseReturn::create([
'date' => $request->date,
- 'reference' => $request->reference,
'supplier_id' => $request->supplier_id,
'supplier_name' => Supplier::findOrFail($request->supplier_id)->supplier_name,
'tax_percentage' => $request->tax_percentage,
diff --git a/Modules/PurchasesReturn/Resources/views/edit.blade.php b/Modules/PurchasesReturn/Resources/views/edit.blade.php
index d8f927cb..cc6398d9 100644
--- a/Modules/PurchasesReturn/Resources/views/edit.blade.php
+++ b/Modules/PurchasesReturn/Resources/views/edit.blade.php
@@ -30,7 +30,7 @@
diff --git a/app/DataTables/SalePaymentsDataTable.php b/Modules/Sale/DataTables/SalePaymentsDataTable.php
similarity index 98%
rename from app/DataTables/SalePaymentsDataTable.php
rename to Modules/Sale/DataTables/SalePaymentsDataTable.php
index b2f8433f..12931070 100644
--- a/app/DataTables/SalePaymentsDataTable.php
+++ b/Modules/Sale/DataTables/SalePaymentsDataTable.php
@@ -1,6 +1,6 @@
hasMany(SalePayment::class, 'sale_id', 'id');
}
- public function getReferenceAttribute($value) {
- return strtoupper($value) . '_' . str_pad($this->attributes['id'], 6, '0', STR_PAD_LEFT);
+ public static function boot() {
+ parent::boot();
+
+ static::creating(function ($model) {
+ $number = Sale::max('id') + 1;
+ $model->reference = make_reference_id('SL', $number);
+ });
}
public function getShippingAmountAttribute($value) {
diff --git a/Modules/Sale/Http/Controllers/SaleController.php b/Modules/Sale/Http/Controllers/SaleController.php
index c22fdfa5..20aef6fd 100644
--- a/Modules/Sale/Http/Controllers/SaleController.php
+++ b/Modules/Sale/Http/Controllers/SaleController.php
@@ -2,10 +2,8 @@
namespace Modules\Sale\Http\Controllers;
-use App\DataTables\SalesDataTable;
+use Modules\Sale\DataTables\SalesDataTable;
use Gloudemans\Shoppingcart\Facades\Cart;
-use Illuminate\Contracts\Support\Renderable;
-use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Gate;
@@ -50,7 +48,6 @@ class SaleController extends Controller
$sale = Sale::create([
'date' => $request->date,
- 'reference' => $request->reference,
'customer_id' => $request->customer_id,
'customer_name' => Customer::findOrFail($request->customer_id)->customer_name,
'tax_percentage' => $request->tax_percentage,
diff --git a/Modules/Sale/Http/Controllers/SalePaymentsController.php b/Modules/Sale/Http/Controllers/SalePaymentsController.php
index 91ad1d9b..a0fc034f 100644
--- a/Modules/Sale/Http/Controllers/SalePaymentsController.php
+++ b/Modules/Sale/Http/Controllers/SalePaymentsController.php
@@ -2,7 +2,7 @@
namespace Modules\Sale\Http\Controllers;
-use App\DataTables\SalePaymentsDataTable;
+use Modules\Sale\DataTables\SalePaymentsDataTable;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
diff --git a/Modules/Sale/Resources/views/edit.blade.php b/Modules/Sale/Resources/views/edit.blade.php
index f8373f28..74f32135 100644
--- a/Modules/Sale/Resources/views/edit.blade.php
+++ b/Modules/Sale/Resources/views/edit.blade.php
@@ -30,7 +30,7 @@
diff --git a/app/DataTables/SaleReturnPaymentsDataTable.php b/Modules/SalesReturn/DataTables/SaleReturnPaymentsDataTable.php
similarity index 98%
rename from app/DataTables/SaleReturnPaymentsDataTable.php
rename to Modules/SalesReturn/DataTables/SaleReturnPaymentsDataTable.php
index b71eb7ab..581144d9 100644
--- a/app/DataTables/SaleReturnPaymentsDataTable.php
+++ b/Modules/SalesReturn/DataTables/SaleReturnPaymentsDataTable.php
@@ -1,6 +1,6 @@
hasMany(SaleReturnPayment::class, 'sale_return_id', 'id');
}
- public function getReferenceAttribute($value) {
- return strtoupper($value) . '_' . str_pad($this->attributes['id'], 6, '0', STR_PAD_LEFT);
+ public static function boot() {
+ parent::boot();
+
+ static::creating(function ($model) {
+ $number = SaleReturn::max('id') + 1;
+ $model->reference = make_reference_id('SLRN', $number);;
+ });
}
public function getShippingAmountAttribute($value) {
diff --git a/Modules/SalesReturn/Http/Controllers/SaleReturnPaymentsController.php b/Modules/SalesReturn/Http/Controllers/SaleReturnPaymentsController.php
index 89a3ba17..95954cbe 100644
--- a/Modules/SalesReturn/Http/Controllers/SaleReturnPaymentsController.php
+++ b/Modules/SalesReturn/Http/Controllers/SaleReturnPaymentsController.php
@@ -2,8 +2,7 @@
namespace Modules\SalesReturn\Http\Controllers;
-use App\DataTables\SaleReturnPaymentsDataTable;
-use Illuminate\Contracts\Support\Renderable;
+use Modules\SalesReturn\DataTables\SaleReturnPaymentsDataTable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\DB;
diff --git a/Modules/SalesReturn/Http/Controllers/SalesReturnController.php b/Modules/SalesReturn/Http/Controllers/SalesReturnController.php
index de5b6dcf..cccea4ee 100644
--- a/Modules/SalesReturn/Http/Controllers/SalesReturnController.php
+++ b/Modules/SalesReturn/Http/Controllers/SalesReturnController.php
@@ -2,10 +2,8 @@
namespace Modules\SalesReturn\Http\Controllers;
-use App\DataTables\SaleReturnsDataTable;
+use Modules\SalesReturn\DataTables\SaleReturnsDataTable;
use Gloudemans\Shoppingcart\Facades\Cart;
-use Illuminate\Contracts\Support\Renderable;
-use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Gate;
@@ -50,7 +48,6 @@ class SalesReturnController extends Controller
$sale_return = SaleReturn::create([
'date' => $request->date,
- 'reference' => $request->reference,
'customer_id' => $request->customer_id,
'customer_name' => Customer::findOrFail($request->customer_id)->customer_name,
'tax_percentage' => $request->tax_percentage,
diff --git a/Modules/SalesReturn/Resources/views/edit.blade.php b/Modules/SalesReturn/Resources/views/edit.blade.php
index afde797d7..658777a2 100644
--- a/Modules/SalesReturn/Resources/views/edit.blade.php
+++ b/Modules/SalesReturn/Resources/views/edit.blade.php
@@ -30,7 +30,7 @@
diff --git a/app/DataTables/RolesDataTable.php b/Modules/User/DataTables/RolesDataTable.php
similarity index 98%
rename from app/DataTables/RolesDataTable.php
rename to Modules/User/DataTables/RolesDataTable.php
index 545a0557..4f8f4851 100644
--- a/app/DataTables/RolesDataTable.php
+++ b/Modules/User/DataTables/RolesDataTable.php
@@ -1,6 +1,6 @@
-
+
@@ -26,17 +26,24 @@
@if(!empty($query))
- @if($searchResults->isNotEmpty())
+ @if($search_results->isNotEmpty())