Viewing file: SenderIdController.php (17.33 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller; use App\Models\Invoice; use App\Models\SenderId; use App\Models\SenderIdDetail; use App\Models\Settings; use App\Models\Transactions; use Carbon\Carbon; use Illuminate\Http\Request;
class SenderIdController extends Controller { public function index() { $data['senderIdPrice']= Settings::where('name', 'senderid_price')->first(); return view('admin.senderId.index', $data); }
public function getAll() { $senders = SenderId::where('status','approved')->where('is_dlt','no')->select(['id','customer_id','dynamic_gateway_id','sender_id','expire_date', 'status', 'is_paid','is_dlt']); return datatables()->of($senders) ->addColumn('expire_date',function($q){ if ($q->expire_date) { return formatDate($q->expire_date); }else{ return ''; } }) ->addColumn('customer',function($q){ return "<a href='" . route('admin.customers.edit', [$q->customer_id]) . "'>".$q->customer->full_name."</a>"; }) ->addColumn('from',function($q){ $gateway=$q->gateway->name; return $gateway; }) ->addColumn('status',function(SenderId $q){ $renew=''; if($q->expire_date < now()){ $renew = '<button class="btn btn-sm btn-info " data-message="<label>Enter Expire Date</label><br><input value='.now()->addDay().' name=' . 'expire_date' . ' type=' . 'date' . ' class=' . 'form-control' . ' >" data-action=' . route('admin.sender.requests.response') . ' data-input={"id":"' . $q->id . '","status":"renew"} data-toggle="modal" data-target="#modal-confirm" >Renew</button>'; }
if($q->status == 'approved'){ return '<button class="btn btn-sm mr-2 btn-danger" data-message="Are you sure you want to reject the request ?" data-action='.route('admin.sender.requests.response').' data-input={"id":"'.$q->id.'","status":"rejected"} data-toggle="modal" data-target="#modal-confirm" >Reject</button>' . '<a href="'.route('admin.sender.sec.details', [$q->id]).'" class="btn btn-sm btn-warning">Sec Details</a>' ." $renew"; }else{ return ''; } }) // ->addColumn('sender_id',function($q){ // if($q->is_dlt == 'yes'){ // $sender_id = '<strong>'.$q->sender_id.' (DLT) </strong>'; // } // else { // $sender_id = '<strong>'.$q->sender_id.'</strong>'; // } // return $sender_id; // }) ->rawColumns(['customer', 'status','from']) ->toJson(); } public function sender_id_request(Request $request) { $senderId = SenderId::find($request->id);
if(!$senderId){ return back()->with('fail','Sender ID not found'); } $expire_date=$request->expire_date?:now(); if($request->status=='renew'){ $senderId->expire_date=$expire_date; $senderId->save(); return back()->with('success', trans('admin.message.senderid_renewed')); } if($request->status == 'review') { $request->validate([ 'status' => 'required|in:approved,rejected,review_pending,review', 'dynamic_gateway_id' => 'required', ]); }else{ $request->validate([ 'status' => 'required|in:approved,rejected,review_pending,review', ]); }
$senderIdPrice = isset(json_decode(get_settings('senderid_price'))->sender_id_price) ? json_decode(get_settings('senderid_price'))->sender_id_price : 0; // If sender-id price is 0 then approving automatically if ($senderIdPrice==0 && $request->status !='rejected'){ $expire_date = Carbon::now()->addMonths(1); $senderId->expire_date=$expire_date; $senderId->status='approved'; $senderId->is_paid='yes'; $senderId->dynamic_gateway_id=$request->dynamic_gateway_id; $senderId->save(); return back()->with('success', trans('admin.message.senderid_assign_success')); }
if($request->status == 'review'){ $senderId->dynamic_gateway_id=$request->dynamic_gateway_id; $senderId->status=$request->status; $senderId->save(); }else if($request->status=='review_pending'){ $expire_date = Carbon::now()->addMonths(1); $senderId->expire_date=$expire_date; $senderId->status='approved'; $senderId->is_paid='yes'; $senderId->save();
if($request->status=='accepted') { $transactions = Transactions::where('ref_id', $senderId->id)->where('type','sender_id')->first(); if ($transactions) { $transactions->status = 'paid'; $transactions->save(); } }
}else{ $senderId->status=$request->status; $senderId->save(); }
return back()->with('success', 'Sender ID '.str_replace('_','-', ucfirst($request->status)).' successfully'); }
public function sender_id_approved(){ $data['gateways']=auth()->user()->gateways()->where('status', 'active')->get(); return view('admin.senderId.requests', $data); } public function sender_id_get_requests() { $senders = SenderId::where('status','!=','approved')->where('is_dlt','no')->orderByDesc('created_at')->select(['id','dynamic_gateway_id','customer_id','sender_id','status','is_dlt']); return datatables()->of($senders) ->addColumn('customer',function($q){ return "<a href='" . route('admin.customers.edit', [$q->customer_id]) . "'>".$q->customer->full_name."</a>"; }) ->addColumn('action',function(SenderId $q){ if($q->status == 'pending'){ return '<button class="mr-1 btn btn-sm btn-info approve_btn" type="button" data-message="Are you sure you want to approve this Sender ID ?" data-status="review" data-id="'.$q->id.'" data-senderid="'.$q->sender_id.'" >Approve</button>'. '<button class="btn btn-sm btn-danger mr-1" data-message="Are you sure you want to reject the request ?" data-action='.route('admin.sender.requests.response').' data-input={"id":"'.$q->id.'","status":"rejected"} data-toggle="modal" data-target="#modal-confirm" >Reject</button>' . '<a href="'.route('admin.sender.sec.details', [$q->id]).'" class="btn btn-sm btn-warning">Sec Details</a>'; }else if($q->status=='review_pending'){ return '<button data-status="review_pending" class="mr-1 btn btn-sm btn-info approve_btn" type="button" data-message="Are you sure you want to approve this Sender ID ?" data-id="'.$q->id.'" data-senderid="'.$q->sender_id.'" >Approve</button>'; } }) ->addColumn('from',function($q){ $gateway=$q->gateway->name; return $gateway; }) ->addColumn('status',function(SenderId $q){ if($q->status == 'review'){ $status= '<strong class="text-danger">Not paid Yet</strong>'; }else if($q->status=='review_pending'){ $status= '<strong class="text-info">Review Payment</strong>'; }else if($q->status=='approved'){ $status= '<strong class="text-success">Approved</strong>'; }else{ $status= ucfirst($q->status); } return $status; }) ->rawColumns(['action','customer','status','from','sender_id']) ->toJson(); } public function removeSenderId(Request $request){
$senderId = SenderId::where('id',$request->id)->first();
if(!$senderId){ return redirect()->back()->with('fail',trans('admin.message.invalid_senderid')); } $senderId->delete();
return back()->with('success', trans('admin.message.senderid_deleted')); }
public function setPrice(Request $request){
$data=['name'=>'senderid_price']; $requestData=$request->only('sender_id_price'); $setting = auth()->user()->settings()->firstOrNew($data); $setting->value = json_encode($requestData); $setting->save(); cache()->forget('settings'); return redirect()->back()->with('success', trans('admin.message.sender_id_price_set_successfully')); } public function details($id){
$senderId = SenderId::findOrFail($id);
$data['senderId'] = $senderId;
return view('admin.senderId.details',$data); }
public function getAllheaderid() { $senders = SenderId::where('status','approved')->where('is_dlt','yes')->select(['id','customer_id','dynamic_gateway_id','sender_id','expire_date', 'status', 'is_paid','is_dlt']); return datatables()->of($senders) ->addColumn('expire_date',function($q){ if ($q->expire_date) { return formatDate($q->expire_date); }else{ return ''; } }) ->addColumn('customer',function($q){ return "<a href='" . route('admin.customers.edit', [$q->customer_id]) . "'>".$q->customer->full_name."</a>"; }) ->addColumn('from',function($q){ $gateway=$q->gateway->name; return $gateway; }) ->addColumn('status',function(SenderId $q){ $renew=''; if($q->expire_date < now()){ $renew = '<button class="btn btn-sm btn-info " data-message="<label>Enter Expire Date</label><br><input value='.now()->addDay().' name=' . 'expire_date' . ' type=' . 'date' . ' class=' . 'form-control' . ' >" data-action=' . route('admin.sender.requests.response') . ' data-input={"id":"' . $q->id . '","status":"renew"} data-toggle="modal" data-target="#modal-confirm" >Renew</button>'; }
if($q->status == 'approved'){ return '<button class="btn btn-sm mr-2 btn-danger" data-message="Are you sure you want to reject the request ?" data-action='.route('admin.sender.requests.response').' data-input={"id":"'.$q->id.'","status":"rejected"} data-toggle="modal" data-target="#modal-confirm" >Reject</button>' . '<a href="'.route('admin.sender.sec.details', [$q->id]).'" class="btn btn-sm btn-warning">Sec Details</a>' ." $renew"; }else{ return ''; } }) ->rawColumns(['customer', 'status','from']) ->toJson(); } public function getAllheaderidrequests() { $senders = SenderId::where('status','!=','approved')->where('is_dlt','yes')->orderByDesc('created_at')->select(['id','dynamic_gateway_id','customer_id','sender_id','status','is_dlt']); return datatables()->of($senders) ->addColumn('customer',function($q){ return "<a href='" . route('admin.customers.edit', [$q->customer_id]) . "'>".$q->customer->full_name."</a>"; }) ->addColumn('action',function(SenderId $q){ if($q->status == 'pending'){ return '<button class="mr-1 btn btn-sm btn-info approve_btn" type="button" data-message="Are you sure you want to approve this Header ID ?" data-status="review" data-id="'.$q->id.'" data-senderid="'.$q->sender_id.'" >Approve</button>'. '<button class="btn btn-sm btn-danger mr-1" data-message="Are you sure you want to reject the request ?" data-action='.route('admin.sender.requests.response').' data-input={"id":"'.$q->id.'","status":"rejected"} data-toggle="modal" data-target="#modal-confirm" >Reject</button>' . '<a href="'.route('admin.sender.sec.details', [$q->id]).'" class="btn btn-sm btn-warning">Sec Details</a>'; }else if($q->status=='review_pending'){ return '<button data-status="review_pending" class="mr-1 btn btn-sm btn-info approve_btn" type="button" data-message="Are you sure you want to approve this Sender ID ?" data-id="'.$q->id.'" data-senderid="'.$q->sender_id.'" >Approve</button>'; } }) ->addColumn('from',function($q){ $gateway=$q->gateway->name; return $gateway; }) ->addColumn('status',function(SenderId $q){ if($q->status == 'review'){ $status= '<strong class="text-danger">Not paid Yet</strong>'; }else if($q->status=='review_pending'){ $status= '<strong class="text-info">Review Payment</strong>'; }else if($q->status=='approved'){ $status= '<strong class="text-success">Approved</strong>'; }else{ $status= ucfirst($q->status); } return $status; }) ->rawColumns(['action','customer','status','from','sender_id']) ->toJson(); } public function headerId(){ return view('admin.senderId.headerid'); } public function headerIdRequest(){ $data['gateways']=auth()->user()->gateways()->where('status', 'active')->get(); return view('admin.senderId.headerid_request',$data); } public function header_id_request(Request $request) { $senderId = SenderId::find($request->id); if (!$senderId) { return back()->with('fail', 'Sender ID not found'); } $expire_date = $request->expire_date ?: now(); if ($request->status == 'renew') { $senderId->expire_date = $expire_date; $senderId->save(); return back()->with('success', trans('admin.message.senderid_renewed')); } if ($request->status == 'review') { $request->validate([ 'status' => 'required|in:approved,rejected,review_pending,review', 'dynamic_gateway_id' => 'required', ]); } else { $request->validate([ 'status' => 'required|in:approved,rejected,review_pending,review', ]); } $senderIdPrice = isset(json_decode(get_settings('senderid_price'))->sender_id_price) ? json_decode(get_settings('senderid_price'))->sender_id_price : 0; if ($senderIdPrice == 0 && $request->status != 'rejected') { $expire_date = Carbon::now()->addYears(10); $senderId->expire_date = $expire_date; $senderId->status = 'approved'; $senderId->is_paid = 'yes'; $senderId->dynamic_gateway_id = $request->dynamic_gateway_id; $senderId->save(); return back()->with('success', trans('admin.message.senderid_assign_success')); } if ($request->status == 'review') { $senderId->dynamic_gateway_id = $request->dynamic_gateway_id; $senderId->status = $request->status; $senderId->save(); } else if ($request->status == 'review_pending') { $expire_date = Carbon::now()->addYears(10); $senderId->expire_date = $expire_date; $senderId->status = 'approved'; $senderId->is_paid = 'yes'; $senderId->save(); if ($request->status == 'accepted') { $transactions = Transactions::where('ref_id', $senderId->id) ->where('type', 'sender_id') ->first(); if ($transactions) { $transactions->status = 'paid'; $transactions->save(); } } } else { $senderId->status = $request->status; $senderId->save(); } return back()->with('success', 'Header ID ' . str_replace('_', '-', ucfirst($request->status)) . ' successfully'); } }
|