|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/parassaas.edukrypt.in/app/Http/Controllers/ |
Upload File : |
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Models\Product;
use App\Models\Promocode;
use App\Models\Product_promocode;
class PromocodeController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index(Request $request)
{
$data['mainMenu'] = 'promocodeManagement';
$data['subMenu'] = 'promocodeList';
$admin_id = $request->session()->get('loggedIn')['id'];
$admin_id = $request->session()->get('loggedIn')['id'];
if( isset($_GET['query']) && strlen($_GET['query']) > 1){
$search_text = $_GET['query'];
// dd($search_text);
$data['promocodes'] = DB::table('promocodes')->where('code','LIKE','%'.$search_text.'%')->where(['admin_id'=>$admin_id])->paginate(10);
}else{
$data['promocodes'] = DB::table('promocodes')->paginate(10);
}
return view('admin.promocodes.promocode-list',$data);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create(Request $request)
{
$admin_id = $request->session()->get('loggedIn')['id'];
$data['mainMenu'] = 'promocodeManagement';
$data['subMenu'] = 'promocodeList';
$data['products'] = Product::where(['admin_id'=>$admin_id])->get();
return view('admin.promocodes.add-promocode',$data);
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
// dd($request->input());
$admin_id = $request->session()->get('loggedIn')['id'];
$request->validate([
'code'=>'required|unique:promocodes',
'discount_type'=>'required',
'amount'=>'required',
'promo_for'=>'required',
'promo_type'=>'required',
'start_date'=>'required',
'end_date'=>'required',
]);
$data = array(
'admin_id'=>$admin_id,
'code'=>$request->code,
'discount_type'=>$request->discount_type,
'amount'=>$request->amount,
'limit_value'=>$request->limit_value,
'promo_for'=>$request->promo_for,
'promo_type'=>$request->promo_type,
'start_date'=>$request->start_date,
'end_date'=>$request->end_date,
'status'=>1,
);
$res = Promocode::create($data);
$promo_id = $res->id;
if($request->promo_for == 'selected_courses')
{
$courses = $request->courses;
if(!empty($courses))
{
foreach($courses as $course)
{
$mapData = array(
'promo_id'=>$promo_id,
'product_id'=>$course,
);
Product_promocode::create($mapData);
}
}
}
return back()->with('success', 'Promocode Has Been Added!.');
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
$data['mainMenu'] = 'promocodeManagement';
$data['subMenu'] = 'promocodeList';
$data['promocode'] = Promocode::where(['id'=>$id])->first();
return view('admin.promocodes.view-promocode',$data);
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$data['mainMenu'] = 'promocodeManagement';
$data['subMenu'] = 'promocodeList';
$data['promocode'] = Promocode::where(['id'=>$id])->first();
return view('admin.promocodes.edit-promocode',$data);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
$admin_id = $request->session()->get('loggedIn')['id'];
$request->validate([
'code'=>'required|unique:promocodes',
'discount_type'=>'required',
'amount'=>'required',
'promo_for'=>'required',
'promo_type'=>'required',
'start_date'=>'required',
'end_date'=>'required',
]);
$data = array(
'admin_id'=>$admin_id,
'code'=>$request->code,
'discount_type'=>$request->discount_type,
'amount'=>$request->amount,
'limit_value'=>$request->limit_value,
'promo_for'=>$request->promo_for,
'promo_type'=>$request->promo_type,
'start_date'=>$request->start_date,
'end_date'=>$request->end_date,
'status'=>1,
);
$res = Promocode::where('id',$id)->update($data);
// $promo_id = $res->id;
// if($request->promo_for == 'selected_courses')
// {
// $courses = $request->courses;
// if(!empty($courses))
// {
// foreach($courses as $course)
// {
// $mapData = array(
// 'promo_id'=>$promo_id,
// 'product_id'=>$course,
// );
// Product_promocode::create($mapData);
// }
// }
// }
return back()->with('success', 'Promocode Has Been Added!.');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
Promocode::where(['id'=>$id])->delete();
return back()->with('success','Post deleted successfully');
}
// map course list
public function mapCourseList(Request $request,$promo_id)
{
$data['mainMenu'] = 'promocodeManagement';
$data['subMenu'] = 'promocodeList';
$admin_id = $request->session()->get('loggedIn')['id'];
$admin_id = $request->session()->get('loggedIn')['id'];
if( isset($_GET['query']) && strlen($_GET['query']) > 1){
$search_text = $_GET['query'];
$data['promocodes'] = Product::where('products.name','LIKE','%'.$search_text.'%')
->where(['product_promocodes.promo_id'=>$promo_id])
->join('product_promocodes', 'product_promocodes.product_id', '=', 'products.id')
->paginate(10, ['products.name','product_promocodes.id']);
}else{
$data['promocodes'] = Product::where(['product_promocodes.promo_id'=>$promo_id])
->join('product_promocodes', 'product_promocodes.product_id', '=', 'products.id')
->paginate(10, ['products.name','product_promocodes.id']);
}
$data['promo'] = Promocode::where('id',$promo_id)->first();
return view('admin.promocodes.map-product-list',$data);
}
public function deleteMapPromocode($id)
{
// dd($id);
Product_promocode::where(['id'=>$id])->delete();
return back()->with('success','Post deleted successfully');
}
}