File manager - Edit - /home/autoph/public_html/projects/tickets-autohub/app/Http/Controllers/SLAController.php
Back
<?php namespace App\Http\Controllers; use App\Models\SLA; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; class SLAController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ private $sla, $auth; public function __construct() { $this->sla = new SLA; $this->auth = new AuthenticationController; } public function index() { if($this->auth->checkMaintenance() == "true"){ abort(503); } if(!Auth::user()->can('view-sla')){ abort(401); } return view('layouts.authentication.admin.sla_component.index')->with(['title_page'=>"Service Level Agreement"]); } public function list(Request $request){ $array_data['search_keyword'] = $request->search['value']; if(empty($request->search_type)){ $array_data['search_type'] = ""; } else { $array_data['search_type'] = json_decode($request->search_type,true)[0]; } $array_data['sort'] = $request->order[0]['dir']; $array_data['order'] = $request->columns[$request->order[0]['column']]['data']; $array_data['offset'] = $request->start; $array_data['limit'] = $request->length; $array_data['offset_limit'] = " LIMIT {$array_data['offset']},{$array_data['limit']}"; $array_data['sort'] = " ORDER BY {$array_data['order']} {$array_data['sort']} "; $array_data['search'] = ""; $array_data['where'] = ""; $data = $request->data; $results = $this->sla->getSLA($array_data); $result['data'] = array(); foreach($results as $row){ $result['data'][] = [ "id" => $row->id, "content" => $row->content, "type" => $row->type, "created_at" => $row->created_at ]; } $result['draw'] = $request->draw; $result['recordsTotal'] = $this->sla->getSLACount($array_data)[0]->Count; $result['recordsFiltered'] = $this->sla->getSLAFilteredCount($array_data)[0]->FilteredCount; return response()->json($result); } public function getSLA(Request $request){ $data = []; $term = $request->search; $response = DB::table('service_level_agreement')->where(function($query) use ($term){ $query->orWhere('content','like','%'.$term.'%'); })->where('status',1) ->get(); foreach($response as $item){ $data['results'][] = [ 'id' => $item->id, 'text' => $item->content." ".$item->type ]; } return response()->json($data); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { // } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { if(!Auth::user()->can('create-sla')){ return response()->json(["message"=>"Forbidden"],403); } $content = $request->input('content'); if(empty($content)){ return response()->json(['message'=>"Please provide a valid time value"],422); } else if ($request->type == "null"){ return response()->json(['message'=>"Please provide a valid type"],422); } $type = $request->type; if($type == "hr"){ $sla = DB::table('service_level_agreement')->insert([ 'content' => (($request->content)*60), 'type' => "min", 'status' => 1 ]); } else { // dd("min"); $sla = DB::table('service_level_agreement')->insert([ 'content' => $request->content, 'type' => $request->type, 'status' => 1 ]); } return response()->json(["message"=>"Success"],201); } /** * Display the specified resource. * * @param \App\Models\SLA $sLA * @return \Illuminate\Http\Response */ public function show(SLA $sLA) { // } /** * Show the form for editing the specified resource. * * @param \App\Models\SLA $sLA * @return \Illuminate\Http\Response */ public function edit(SLA $sLA) { // } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param \App\Models\SLA $sLA * @return \Illuminate\Http\Response */ public function update(Request $request) { if(!Auth::user()->can('update-sla')){ return response()->json(["message"=>"Forbidden"],403); } $type = $request->type; // if($type == "hr"){ // $sla = DB::table('service_level_agreement')->insert([ // 'content' => (($request->content)/60) + (($request->content) % 60), // 'type' => $request->type // ]); // } else { // $sla = DB::table('service_level_agreement')->insert([ // 'content' => $request->content, // 'type' => $request->type // ]); // } if($type == "hr"){ $sla = DB::table('service_level_agreement') ->where('id',$request->id) ->update([ 'content' => $request->content * 60, 'type' => "min", 'status' => 1 ]); } else { $sla = DB::table('service_level_agreement') ->where('id',$request->id) ->update([ 'content' => $request->content, 'type' => $type, 'status' => 1 ]); } return response()->json(["message" => "Success"]); } /** * Remove the specified resource from storage. * * @param \App\Models\SLA $sLA * @return \Illuminate\Http\Response */ public function destroy($id) { if(!Auth::user()->can('delete-sla')){ return response()->json(["message"=>"Forbidden"],403); } $sla = DB::table('service_level_agreement') ->where('id',$id) ->update([ 'status' => null ]); return response()->json(["message" => "Success"]); } public function getSLAperCategory($id){ $sla = DB::table('service_level_agreement') ->join('categories','categories.sla_id',"=",'service_level_agreement.id') ->where('categories.id',"=",$id) ->get()->first(); return response()->json($sla); } }
| ver. 1.4 |
.
| PHP 8.1.32 | Generation time: 0 |
proxy
|
phpinfo
|
Settings