Updated: Sales Module

This commit is contained in:
Fahim 2021-08-07 02:46:54 +06:00
parent 449518e4b4
commit 305ebd7c29
10 changed files with 20 additions and 20 deletions

View File

@ -9,8 +9,8 @@ use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\Gate; use Illuminate\Support\Facades\Gate;
use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Storage;
use Modules\Product\Entities\Product; use Modules\Product\Entities\Product;
use Modules\Product\Http\Requests\ProductCreateRequest; use Modules\Product\Http\Requests\StoreProductRequest;
use Modules\Product\Http\Requests\ProductUpdateRequest; use Modules\Product\Http\Requests\UpdateProductRequest;
use Modules\Upload\Entities\Upload; use Modules\Upload\Entities\Upload;
class ProductController extends Controller class ProductController extends Controller
@ -30,7 +30,7 @@ class ProductController extends Controller
} }
public function store(ProductCreateRequest $request) { public function store(StoreProductRequest $request) {
$product = Product::create($request->except('image')); $product = Product::create($request->except('image'));
if ($request->has('image')) { if ($request->has('image')) {
@ -64,7 +64,7 @@ class ProductController extends Controller
} }
public function update(ProductUpdateRequest $request, Product $product) { public function update(UpdateProductRequest $request, Product $product) {
$product->update($request->except('image')); $product->update($request->except('image'));
if ($request->has('image')) { if ($request->has('image')) {

View File

@ -5,7 +5,7 @@ namespace Modules\Product\Http\Requests;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Gate; use Illuminate\Support\Facades\Gate;
class ProductCreateRequest extends FormRequest class StoreProductRequest extends FormRequest
{ {
/** /**
* Get the validation rules that apply to the request. * Get the validation rules that apply to the request.

View File

@ -6,7 +6,7 @@ use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Gate; use Illuminate\Support\Facades\Gate;
use Illuminate\Validation\Rule; use Illuminate\Validation\Rule;
class ProductUpdateRequest extends FormRequest class UpdateProductRequest extends FormRequest
{ {
/** /**
* Get the validation rules that apply to the request. * Get the validation rules that apply to the request.

View File

@ -15,6 +15,10 @@ class Sale extends Model
return $this->hasMany(SaleDetails::class, 'sale_id', 'id'); return $this->hasMany(SaleDetails::class, 'sale_id', 'id');
} }
public function getReferenceAttribute($value) {
return strtoupper($value) . '_' . str_pad($this->attributes['id'], 6, '0', STR_PAD_LEFT);
}
public function getShippingAmountAttribute($value) { public function getShippingAmountAttribute($value) {
return $value / 100; return $value / 100;
} }

View File

@ -16,7 +16,7 @@ class StoreSaleRequest extends FormRequest
{ {
return [ return [
'customer_id' => 'required|numeric', 'customer_id' => 'required|numeric',
'reference' => 'required|string|max:255|unique:sales,reference', 'reference' => 'required|string|max:255',
'tax_percentage' => 'required|integer|min:0|max:100', 'tax_percentage' => 'required|integer|min:0|max:100',
'discount_percentage' => 'required|integer|min:0|max:100', 'discount_percentage' => 'required|integer|min:0|max:100',
'shipping_amount' => 'required|numeric', 'shipping_amount' => 'required|numeric',

View File

@ -16,7 +16,7 @@ class UpdateSaleRequest extends FormRequest
{ {
return [ return [
'customer_id' => 'required|numeric', 'customer_id' => 'required|numeric',
'reference' => 'required|string|max:255|unique:sales,reference,' . $this->sale->id, 'reference' => 'required|string|max:255',
'tax_percentage' => 'required|integer|min:0|max:100', 'tax_percentage' => 'required|integer|min:0|max:100',
'discount_percentage' => 'required|integer|min:0|max:100', 'discount_percentage' => 'required|integer|min:0|max:100',
'shipping_amount' => 'required|numeric', 'shipping_amount' => 'required|numeric',

View File

@ -30,7 +30,7 @@
<div class="col-lg-4"> <div class="col-lg-4">
<div class="form-group"> <div class="form-group">
<label for="reference">Reference <span class="text-danger">*</span></label> <label for="reference">Reference <span class="text-danger">*</span></label>
<input type="text" class="form-control" name="reference" required> <input type="text" class="form-control" name="reference" required readonly value="SL">
</div> </div>
</div> </div>
<div class="col-lg-4"> <div class="col-lg-4">

View File

@ -30,7 +30,7 @@
<div class="col-lg-4"> <div class="col-lg-4">
<div class="form-group"> <div class="form-group">
<label for="reference">Reference <span class="text-danger">*</span></label> <label for="reference">Reference <span class="text-danger">*</span></label>
<input type="text" class="form-control" name="reference" required value="{{ $sale->reference }}"> <input type="text" class="form-control" name="reference" required value="{{ $sale->reference }}" readonly >
</div> </div>
</div> </div>
<div class="col-lg-4"> <div class="col-lg-4">

View File

@ -1,9 +1,4 @@
<?php <?php
$dom = "
B<'row'<'col-md-6'l><'col-md-6'f>> .
'tr' .
<'row'<'col-md-5'i><'col-md-7'p>>
";
return [ return [
/* /*
@ -81,16 +76,18 @@ return [
/* /*
* Default columns to generate when not set. * Default columns to generate when not set.
*/ */
'columns' => 'id,add your columns,created_at,updated_at', 'columns' => 'id,db columns,created_at',
/* /*
* Default buttons to generate when not set. * Default buttons to generate when not set.
*/ */
'buttons' => 'create,export,print,reset,reload', 'buttons' => 'excel,print,reset,reload',
/* /*
* Default DOM to generate when not set. * Default DOM to generate when not set.
*/ */
'dom' => 'Bfrtip', 'dom' => "<'row'<'col-md-3'l><'col-md-5 mb-2'B><'col-md-4'f>> .
'tr' .
<'row'<'col-md-5'i><'col-md-7 mt-2'p>>",
], ],
]; ];

View File

@ -1,13 +1,12 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<title>Print Table</title> <title>All Data</title>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name=description content=""> <meta name=description content="">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap CSS --> <!-- Bootstrap CSS -->
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<style> <style>
body {margin: 20px} body {margin: 20px}
</style> </style>