%PDF- %PDF-
Direktori : /home/ugotscom/kma/app/Http/Controllers/ |
Current File : /home/ugotscom/kma/app/Http/Controllers/TasksController.php |
<?php namespace App\Http\Controllers; use App\tasks; use Carbon\Carbon; use Illuminate\Http\Request; use App\User; use App\SiteVisit; use Notification; use App\Notifications\TaskComplete; use Illuminate\Notifications\DatabaseNotification; class TasksController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { // $data=tasks::leftJoin('priority_status', 'priority_status.id', '=', 'tasks.priority')->leftJoin('task_status', 'task_status.status_id', '=', 'tasks.status')->leftJoin('users', 'users.id', '=', 'tasks.assigned')->select('tasks.*','users.name','task_status.*','priority_status.status_name','priority_status.statuscolor')->latest('tasks.created_at')->paginate(10); 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) { $tasks = new tasks; $tasks->client_id=$request->client_id; $tasks->property_id=$request->property_id; $tasks->property_name=$request->property_name; $tasks->m_id=$request->property_id; $tasks->task=$request->task; $tasks->task_type=$request->task_type; $tasks->description=$request->description; $tasks->status=$request->status; $tasks->priority=$request->priority; $tasks->assigned=$request->assigned; $tasks->assignee=$request->assignee; $tasks->due_date=$request->due_date; $tasks->save(); } /** * Display the specified resource. * * @param \App\tasks $tasks * @return \Illuminate\Http\Response */ public function show(tasks $tasks) { // $users=tasks::latest()->paginate(1); return $users; } /** * Show the form for editing the specified resource. * * @param \App\tasks $tasks * @return \Illuminate\Http\Response */ public function edit(tasks $tasks) { // } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param \App\tasks $tasks * @return \Illuminate\Http\Response */ public function update($id, Request $request) { $user = tasks::findOrFail($id); $user->update($request->all()); // maintenance::where('m_id',$id)->update([ // 'status' =>$status //]); } /** * Remove the specified resource from storage. * * @param \App\tasks $tasks * @return \Illuminate\Http\Response */ public function destroy(tasks $tasks) { // } public function taskdetails($tasks) { //echo $leads; $users=tasks::where('tasks.id',$tasks)->leftJoin('users', 'users.id', '=', 'tasks.assignee')->leftJoin('clients', 'clients.id', '=', 'tasks.client_id')->select('tasks.*','users.name','clients.name','clients.cc','clients.phone')->get(); return $users; } public function updateStatus($id){ tasks::whereid($id)->update([ 'status' => 2 ]); } public function count(){ $count=tasks::where('status',1)->get(); return $count; } public function duetoday(){ $today = Carbon::today(); $count=tasks::where('due_date',$today)->get(); return $count; } public function taskall(){ $data=tasks::leftJoin('priority_status', 'priority_status.id', '=', 'tasks.priority')->leftJoin('task_status', 'task_status.status_id', '=', 'tasks.status')->leftJoin('maintenances', 'maintenances.m_id', '=', 'tasks.m_id')->leftJoin('users', 'users.id', '=', 'tasks.assigned')->where('task_type',1)->select('tasks.*','users.name','task_status.*','maintenances.property_name','priority_status.priority_name','priority_status.statuscolor')->latest('tasks.created_at')->paginate(20); return response()->json($data); } public function ptaskall(){ $data=tasks::leftJoin('priority_status', 'priority_status.id', '=', 'tasks.priority')->leftJoin('task_status', 'task_status.status_id', '=', 'tasks.status')->leftJoin('maintenances', 'maintenances.m_id', '=', 'tasks.m_id')->leftJoin('users', 'users.id', '=', 'tasks.assigned')->where('task_type',2)->select('tasks.*','users.name','task_status.*','maintenances.property_name','priority_status.priority_name','priority_status.statuscolor')->latest('tasks.created_at')->paginate(20); return response()->json($data); } public function tasksbyid($id){ $data=tasks::where('assigned',$id)->leftJoin('task_status', 'task_status.status_id', '=', 'tasks.status')->leftJoin('users', 'users.id', '=', 'tasks.assigned')->select('tasks.*','users.name','task_status.*')->paginate(5); return response()->json($data); } public function gettasksbyid($id){ $data=tasks::where('assigned',$id)->leftJoin('task_status', 'task_status.status_id', '=', 'tasks.status')->leftJoin('maintenances', 'maintenances.m_id', '=', 'tasks.m_id')->leftJoin('users', 'users.id', '=', 'tasks.assigned')->select('tasks.*','users.name','task_status.*','maintenances.property_name')->get(); return response()->json($data); } public function gettasksbypropertyid($id){ $data=tasks::where('tasks.property_id',$id)->leftJoin('task_status', 'task_status.status_id', '=', 'tasks.status')->leftJoin('maintenances', 'maintenances.m_id', '=', 'tasks.m_id')->leftJoin('users', 'users.id', '=', 'tasks.assigned')->select('tasks.*','users.name','task_status.*','maintenances.property_name')->get(); return response()->json($data); } public function filterstatus(Request $request){ $filter=$request->taskfilter; $users=tasks::where('status',$filter)->paginate(20); return response()->json($users); } public function sendOfferNotification() { $users = User::all(); $tasks =[ 'name' => 'BOGO', 'body' => 'You received an offer.', 'thanks' => 'Thank you', 'offerText' => 'Task 3434 Has s been added', 'offerUrl' => url('/'), 'offer_id' => 007 ]; Notification::send($users, new TaskComplete($tasks)); dd('Task completed!'); } public function markNotification(Request $request) { $notificationId=$request->id; $userUnreadNotification = auth()->user() ->unreadNotifications ->where('id', $notificationId) ->first(); if($userUnreadNotification) { $userUnreadNotification->markAsRead(); } return $notificationId; } public function searchquery(){ if($search =\Request :: get('q')){ $users=tasks::where(function($query) use ($search){ $query->where('task','LIKE',"%$search%") ->orwhere ('description','LIKE',"%$search%") ->orwhere ('property_name','LIKE',"%$search%") ;})->leftJoin('task_status', 'task_status.status_id', '=', 'tasks.status')->leftJoin('maintenances', 'maintenances.m_id', '=', 'tasks.m_id')->leftJoin('users', 'users.id', '=', 'tasks.assigned')->where('task_type',1)->select('tasks.*','users.name','task_status.*','maintenances.property_name')->latest('tasks.created_at')->paginate(20); } else { $users=tasks::leftJoin('task_status', 'task_status.status_id', '=', 'tasks.status')->leftJoin('maintenances', 'maintenances.m_id', '=', 'tasks.m_id')->leftJoin('users', 'users.id', '=', 'tasks.assigned')->where('task_type',1)->select('tasks.*','users.name','task_status.*','maintenances.property_name')->latest('tasks.created_at')->paginate(20); } return $users; } public function calendartaskall(){ $users = tasks::where('task_type',2)->leftJoin('users', 'users.id', '=', 'tasks.assigned')->leftJoin('clients', 'clients.id', '=', 'tasks.client_id')->select('tasks.*','users.staff','clients.name')->get(); $newarray = []; foreach($users as $key => $user){ $newarray[$key] = array( "id" => $user->id, "title" => $user->task, "description" => $user->description,"date" => $user->due_date,"title" => $user->task,"color" => $user->color,"priority" => $user->priority,"status" => $user->status,"Assigned" => $user->staff,"client" => $user->name); } return $newarray; } public function mcalendartaskall(){ $users = tasks::where('task_type',1)->leftJoin('users', 'users.id', '=', 'tasks.assigned')->leftJoin('clients', 'clients.id', '=', 'tasks.client_id')->select('tasks.*','users.name','clients.*')->get(); $newarray = []; foreach($users as $key => $user){ $newarray[$key] = array( "id" => $user->id, "title" => $user->task, "description" => $user->description,"date" => $user->due_date,"title" => $user->task,"color" => $user->color,"priority" => $user->priority,"status" => $user->status,"Assigned" => $user->name); } return $newarray; } public function getalltaskbyuser($id){ $data=tasks::where('tasks.client_id',$id)->leftJoin('task_status', 'task_status.status_id', '=', 'tasks.status')->leftJoin('maintenances', 'maintenances.m_id', '=', 'tasks.m_id')->leftJoin('users', 'users.id', '=', 'tasks.assigned')->select('tasks.*','users.name','task_status.*','maintenances.property_name')->get(); return response()->json($data); } public function totalcount(){ $count['total']=tasks::all()->count(); $count['pending']=tasks::where('status',1)->where('task_type',2)->count(); return $count; } public function propertytasksbyid($id){ $note=tasks::where('property_id',$id)->where('task_type',2)->get(); return response()->json($note); } }