Merge pull request #6580 from papnoisanjeev/validation-amt-cart-catalog-rule-for-percentage
Validation for percentage amt for Cart and Catalog Rule.
This commit is contained in:
commit
4f7b3c5760
|
|
@ -7,6 +7,7 @@ use Illuminate\Http\Request;
|
|||
use Illuminate\Validation\ValidationException;
|
||||
use Illuminate\View\View;
|
||||
use Webkul\Admin\DataGrids\CartRuleDataGrid;
|
||||
use Webkul\CartRule\Http\Requests\CartRuleRequest;
|
||||
use Webkul\CartRule\Repositories\CartRuleRepository;
|
||||
|
||||
class CartRuleController extends Controller
|
||||
|
|
@ -91,26 +92,14 @@ class CartRuleController extends Controller
|
|||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
*
|
||||
* @param \Webkul\CartRule\Http\Requests\CartRuleRequest $cartRuleRequest
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store()
|
||||
public function store(CartRuleRequest $cartRuleRequest)
|
||||
{
|
||||
try {
|
||||
$this->validate(request(), [
|
||||
'name' => 'required',
|
||||
'channels' => 'required|array|min:1',
|
||||
'customer_groups' => 'required|array|min:1',
|
||||
'coupon_type' => 'required',
|
||||
'use_auto_generation' => 'required_if:coupon_type,==,1',
|
||||
'coupon_code' => 'required_if:use_auto_generation,==,0|unique:cart_rule_coupons,code',
|
||||
'starts_from' => 'nullable|date',
|
||||
'ends_till' => 'nullable|date|after_or_equal:starts_from',
|
||||
'action_type' => 'required',
|
||||
'discount_amount' => 'required|numeric',
|
||||
]);
|
||||
|
||||
$data = request()->all();
|
||||
$data = $cartRuleRequest->all();
|
||||
|
||||
$this->cartRuleRepository->create($data);
|
||||
|
||||
|
|
@ -142,25 +131,13 @@ class CartRuleController extends Controller
|
|||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Webkul\CartRule\Http\Requests\CartRuleRequest $cartRuleRequest
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
public function update(CartRuleRequest $cartRuleRequest, $id)
|
||||
{
|
||||
try {
|
||||
$this->validate(request(), [
|
||||
'name' => 'required',
|
||||
'channels' => 'required|array|min:1',
|
||||
'customer_groups' => 'required|array|min:1',
|
||||
'coupon_type' => 'required',
|
||||
'use_auto_generation' => 'required_if:coupon_type,==,1',
|
||||
'starts_from' => 'nullable|date',
|
||||
'ends_till' => 'nullable|date|after_or_equal:starts_from',
|
||||
'action_type' => 'required',
|
||||
'discount_amount' => 'required|numeric',
|
||||
]);
|
||||
|
||||
$cartRule = $this->cartRuleRepository->findOrFail($id);
|
||||
|
||||
if ($cartRule->coupon_type) {
|
||||
|
|
@ -175,7 +152,7 @@ class CartRuleController extends Controller
|
|||
}
|
||||
}
|
||||
|
||||
$cartRule = $this->cartRuleRepository->update(request()->all(), $id);
|
||||
$cartRule = $this->cartRuleRepository->update($cartRuleRequest->all(), $id);
|
||||
|
||||
session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Cart Rule']));
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,52 @@
|
|||
<?php
|
||||
|
||||
namespace Webkul\CartRule\Http\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class CartRuleRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function authorize()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
$rules = [
|
||||
'name' => 'required',
|
||||
'channels' => 'required|array|min:1',
|
||||
'customer_groups' => 'required|array|min:1',
|
||||
'coupon_type' => 'required',
|
||||
'use_auto_generation' => 'required_if:coupon_type,==,1',
|
||||
'starts_from' => 'nullable|date',
|
||||
'ends_till' => 'nullable|date|after_or_equal:starts_from',
|
||||
'action_type' => 'required',
|
||||
'discount_amount' => 'required|numeric',
|
||||
];
|
||||
|
||||
if (! request('id')) {
|
||||
$rules = array_merge($rules, [
|
||||
'coupon_code' => 'required_if:use_auto_generation,==,0|unique:cart_rule_coupons,code',
|
||||
]);
|
||||
}
|
||||
|
||||
if (request()->has('action_type') && request()->action_type == 'by_percent') {
|
||||
$rules = array_merge($rules, [
|
||||
'discount_amount' => 'required|numeric|min:0|max:100',
|
||||
]);
|
||||
}
|
||||
|
||||
return $rules;
|
||||
}
|
||||
}
|
||||
|
|
@ -5,6 +5,7 @@ namespace Webkul\CatalogRule\Http\Controllers;
|
|||
use Illuminate\Http\Request;
|
||||
use Webkul\Admin\DataGrids\CatalogRuleDataGrid;
|
||||
use Webkul\CatalogRule\Helpers\CatalogRuleIndex;
|
||||
use Webkul\CatalogRule\Http\Requests\CatalogRuleRequest;
|
||||
use Webkul\CatalogRule\Repositories\CatalogRuleRepository;
|
||||
|
||||
class CatalogRuleController extends Controller
|
||||
|
|
@ -58,21 +59,12 @@ class CatalogRuleController extends Controller
|
|||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Webkul\CatalogRule\Http\Requests\CatalogRuleRequest $catalogRuleRequest
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store()
|
||||
public function store(CatalogRuleRequest $catalogRuleRequest)
|
||||
{
|
||||
$this->validate(request(), [
|
||||
'name' => 'required',
|
||||
'channels' => 'required|array|min:1',
|
||||
'customer_groups' => 'required|array|min:1',
|
||||
'starts_from' => 'nullable|date',
|
||||
'ends_till' => 'nullable|date|after_or_equal:starts_from',
|
||||
'action_type' => 'required',
|
||||
'discount_amount' => 'required|numeric',
|
||||
]);
|
||||
|
||||
$data = request()->all();
|
||||
$data = $catalogRuleRequest->all();
|
||||
|
||||
$this->catalogRuleRepository->create($data);
|
||||
|
||||
|
|
@ -99,25 +91,15 @@ class CatalogRuleController extends Controller
|
|||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Webkul\CatalogRule\Http\Requests\CatalogRuleRequest $catalogRuleRequest
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
public function update(CatalogRuleRequest $catalogRuleRequest, $id)
|
||||
{
|
||||
$this->validate(request(), [
|
||||
'name' => 'required',
|
||||
'channels' => 'required|array|min:1',
|
||||
'customer_groups' => 'required|array|min:1',
|
||||
'starts_from' => 'nullable|date',
|
||||
'ends_till' => 'nullable|date|after_or_equal:starts_from',
|
||||
'action_type' => 'required',
|
||||
'discount_amount' => 'required|numeric',
|
||||
]);
|
||||
|
||||
$this->catalogRuleRepository->findOrFail($id);
|
||||
|
||||
$this->catalogRuleRepository->update(request()->all(), $id);
|
||||
$this->catalogRuleRepository->update($catalogRuleRequest->all(), $id);
|
||||
|
||||
$this->catalogRuleIndexHelper->reindexComplete();
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,44 @@
|
|||
<?php
|
||||
|
||||
namespace Webkul\CatalogRule\Http\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class CatalogRuleRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function authorize()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
$rules = [
|
||||
'name' => 'required',
|
||||
'channels' => 'required|array|min:1',
|
||||
'customer_groups' => 'required|array|min:1',
|
||||
'starts_from' => 'nullable|date',
|
||||
'ends_till' => 'nullable|date|after_or_equal:starts_from',
|
||||
'action_type' => 'required',
|
||||
'discount_amount' => 'required|numeric',
|
||||
];
|
||||
|
||||
if (request()->has('action_type') && request()->action_type == 'by_percent') {
|
||||
$rules = array_merge($rules, [
|
||||
'discount_amount' => 'required|numeric|min:0|max:100',
|
||||
]);
|
||||
}
|
||||
|
||||
return $rules;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue