public function dashboard()
 {
     $user = Auth::user();
     $recent = Change::where('user_id', $user->id)->get();
     $tasks = $user->goats()->orderBy('due_date')->get();
     $dept = $user->departments()->get();
     $recentEmpty = true;
     $tasksEmpty = true;
     foreach ($tasks as $task) {
         if (!$task->complete) {
             $tasksEmpty = false;
         }
         //     if (Carbon\Carbon::parse($task->due_date)->diff(Carbon\Carbon::now())){
         //         $task->soon = 'red';
         //     }
         //     else{
         //         $task->soon = '';
         //     }
     }
     //redo controller
     $inProgress = $user->goats()->where('complete', '0')->count();
     $complete = $user->goats()->where('complete', '1')->count();
     $overdue = 0;
     foreach ($tasks as $task) {
         if (Carbon\Carbon::parse($task->due_date)->lt(Carbon\Carbon::now())) {
             $overdue++;
         }
     }
     $inProgress -= $overdue;
     foreach ($recent as $task) {
         $recentEmpty = false;
         $task->task = Goat::where('id', $task->goat_id)->value('description');
     }
     return view('dashboard', compact('user', 'tasks', 'dept', 'recent', 'recentEmpty', 'tasksEmpty', 'complete', 'inProgress', 'overdue'));
 }
 public function index(Request $request)
 {
     if ($request->bp) {
         $currentBp = BusinessPlan::find($request->bp);
     } else {
         $currentBp = BusinessPlan::where('start', '<=', Carbon::now())->where('end', '>=', Carbon::now())->first();
         if (!$currentBp) {
             $currentBp = BusinessPlan::all()->last();
         }
     }
     $sorted = Goat::where('bid', $currentBp->id)->where('type', 'G')->orderBy('goal_type')->orderBy('description')->get();
     $bp = Goat::where('bid', $currentBp->id)->where('type', '<>', 'G')->orderByRaw("FIELD(type, 'O', 'A', 'T')")->orderBy('description', 'desc')->get();
     foreach ($bp as $goat) {
         if ($goat->type === 'G') {
             $sorted->push($goat);
             continue;
         }
         for ($i = 0, $len = $sorted->count(); $i < $len; $i++) {
             if ($sorted[$i]->id == $goat->parent_id) {
                 // Hacky fix since when you splice $goat into $sorted,
                 // it converts the $goat into an array instead of
                 // keeping it as a Model object...
                 $sorted->splice($i + 1, 0, "temp");
                 $sorted->put($i + 1, $goat);
                 break;
             }
         }
     }
     $leadOf = array();
     if (Auth::user()) {
         foreach (Auth::user()->leadOf as $dept) {
             array_push($leadOf, $dept->id);
         }
     }
     $collaboratorGoals = array();
     foreach ($leadOf as $dept_id) {
         foreach (Department::find($dept_id)->collaboratorOn as $goat) {
             array_push($collaboratorGoals, $goat->id);
         }
     }
     return view('view_plan')->with(['bp' => $sorted, 'users' => User::orderBy('first_name')->get(), 'depts' => Department::orderBy('name')->get(), 'leadOf' => $leadOf, 'plans' => BusinessPlan::orderBy('id', 'desc')->get(), 'query' => $request, 'bp_id' => $currentBp->id, 'is_bplead' => Auth::user() && Auth::user()->is_bplead, 'collaboratorGoals' => $collaboratorGoals]);
 }
Ejemplo n.º 3
0
 public function create(Request $req)
 {
     $user = Auth::user();
     $change = new Change();
     if ($req->option === 'Status') {
         $changeType = 'S';
     } else {
         $changeType = 'N';
     }
     if ($req->complete) {
         Goat::where('id', $req->id)->update(['complete' => '1']);
     } else {
         Goat::where('id', $req->id)->update(['complete' => false]);
     }
     if ($req->statusUpdate === '' && $req->complete) {
         $req->statusUpdate = 'Complete';
     }
     $change = Change::create(['change_type' => $changeType, 'description' => $req->statusUpdate, 'goat_id' => $req->id, 'user_id' => $user->id]);
     return back();
 }
Ejemplo n.º 4
0
    Route::patch('/manage', 'ManagePlanController@update');
    Route::delete('/manage', 'ManagePlanController@destroy');
    Route::get('ajax-action', function () {
        $obj_Id = Input::get('obj_Id');
        $user = Auth::user();
        if ($user->is_bplead) {
            $actions = Goat::where('parent_id', '=', $obj_Id)->where('type', '=', 'A')->get();
            return Response::json($actions);
        } else {
            $actions = $user->leadOn()->where('parent_id', '=', $obj_Id)->where('type', '=', 'A')->get();
            $action = $actions->map(function ($elem) {
                return $elem;
            });
            return Response::json($action);
        }
    });
    Route::get('ajax-task', function () {
        $action_Id = Input::get('action_Id');
        $user = Auth::user();
        if ($user->is_bplead) {
            $tasks = Goat::where('parent_id', '=', $action_Id)->where('type', '=', 'T')->get();
            return Response::json($tasks);
        } else {
            $tasks = $user->leadOf()->first()->leadOn()->where('parent_id', '=', $action_Id)->where('type', '=', 'T')->get();
            $task = $tasks->map(function ($elem) {
                return $elem;
            });
            return Response::json($task);
        }
    });
});