Root Zanli
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
o5t6x7pgljbm
/
public_html
/
app
/
Http
/
Controllers
/
Admin
/
Filename :
TaskController.php
back
Copy
<?php namespace App\Http\Controllers\Admin; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use App\Models\Product; use App\Models\Group; use App\Models\Goal; use App\Models\Task; use Auth; use Hash; use Session; use DB; use Socialite; use Image; Use Response; use Helpers; use File; use Str; class TaskController extends Controller { public function index() { $tasks = Task::get(); return view('Admin.Task.index',compact('tasks')); } public function task_list(Request $request) { $columns = array("group_name","task_title","goal_name","task_sp","task_type","product_name","due_by","task_id"); $columns2 =array("groups.group_name","tasks.task_title","goals.goal_name","tasks.task_sp","tasks.task_type","products.product_name","tasks.due_by","tasks.task_id"); $totalData = Task::count(); $limit = $request->input('length'); $start = $request->input('start'); $dir = $request->input('order.0.dir'); $query = Task::select($columns2) ->leftjoin('groups','groups.group_id','=','tasks.group_id') ->leftjoin('goals','goals.goal_id','=','tasks.goal_id') ->leftjoin('products','products.product_id','=','tasks.product_id'); $tasks = $query->get(); $totalFiltered = $tasks->count(); $tasks = $query->offset($start); $tasks = $query->limit($limit); if(isset($columns2[$request->input('order.0.column')])){ $order = $columns[$request->input('order.0.column')]; $tasks = $query->orderBy($order,$dir); } if(isset($request->sort_by) && $request->sort_by == 1) $tasks = $query->orderBy('tasks.created_at', 'asc'); else $tasks = $query->orderBy('tasks.created_at', 'desc'); $tasks = $query->get(); //$totalFiltered = $query->count(); $data = array(); if(!empty($tasks)) { foreach ($tasks as $key => $task) { $edit = route('tasks.edit',$task->task_id); $delete = route('tasks.destroy', $task->task_id); foreach ($columns as $key => $column) { if ($column == 'task_id') { $nestedData[$column] = "<form action='{$delete}' method='POST' id='taskTable-".$task->$column."'> <input name='_method' type='hidden' value='DELETE'> <a href='{$edit}' title='EDIT' class='mb-6 btn-floating waves-effect waves-light gradient-45deg-green-teal gradient-shadow'> ".csrf_field()." <i class='material-icons'>edit</i></a> <button type='button' title='DELETE' class='mb-6 btn-floating waves-effect waves-light gradient-45deg-purple-deep-orange gradient-shadow' onclick='delete_task(".$task->$column.");'> <i class='material-icons'>clear</i> </button> </form>"; } else if($column == 'created_at') { $nestedData[$column] = date('j M Y h:i a',strtotime($task->$column)); } else if($column == 'due_by') { $nestedData[$column] = date('d M Y',strtotime($task->$column)); } else if($column == 'task_title') { $nestedData[$column] = Str::limit($task->task_title, '20', '...'); } else if($column == 'product_name') { $nestedData[$column] = Str::limit($task->product_name, '20', '...'); } else { $nestedData[$column] = $task->$column; } } $data[] = $nestedData; } } //echo count($data);exit; $json_data = array( "draw" => intval($request->input('draw')), "recordsTotal" => intval($totalData), "recordsFiltered" => intval($totalFiltered), "data" => $data ); // echo '<pre>';print_r($json_data);die; echo json_encode($json_data); } public function create() { $products = Product::get(); $groups = Group::get(); $goals = Goal::get(); $products = Product::get(); return view('Admin.Task.create',compact('products','groups','goals','products')); } public function store(Request $request) { $validate = $request->validate([ 'group_id' => 'required', 'task_title' => 'required', 'goal_id' => 'required', 'task_sp' => 'required', 'task_type' => 'required', // 'product_id' => 'required', 'due_by' => 'required', ]); $request['due_by'] = date("Y-m-d", strtotime($request['due_by'])); $tasks = Task::create($request->all()); return redirect()->route('tasks.index')->with('success','Record Successfully Inserted.'); } public function edit($id) { $tasks = Task::find($id); $products = Product::get(); $groups = Group::get(); $goals = Goal::get(); return view('Admin.Task.edit',compact('tasks','groups','products','goals')); } public function update(Request $request,$id) { $validate = $request->validate([ 'group_id' => 'required', 'task_title' => 'required', 'goal_id' => 'required', 'task_sp' => 'required', 'task_type' => 'required', // 'product_id' => 'required', 'due_by' => 'required', ]); $tasks = Task::find($id); $request['due_by'] = date("Y-m-d", strtotime($request['due_by'])); if($request->task_type == 'SCHOLARSHIP_POINTS'){ $request['product_id'] = NULL; } $request['due_by'] = date("Y-m-d", strtotime($request['due_by'])); $tasks->update($request->all()); return redirect()->route('tasks.index')->with('success','Record Updated Successfully.'); } public function destroy($id) { $data = Task::find($id)->delete(); return redirect()->route('tasks.index')->with('success','Record Deleted Successfully'); } }