%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/ugotscom/kma/app/Http/Controllers/
Upload File :
Create Path :
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);
    }
}

Zerion Mini Shell 1.0