/**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function show($id)
 {
     $this->viewData['success'] = true;
     $this->viewData['content'] = [];
     $objective = _MODEL::find($id);
     // objective
     if (empty($objective)) {
         $this->viewData['success'] = false;
         return response()->json($this->viewData);
     }
     $this->viewData['content']['objective'] = $objective;
     $this->viewData['content']['objective']['initiatives'] = $objective->initiatives;
     return response()->json($this->viewData);
 }
 /**
  * Create a new controller instance.
  *
  * @return void
  */
 public function __construct()
 {
     $this->middleware('auth');
     $this->viewData['user_id'] = (int) Auth::User()->id;
     $this->viewData['controller_heading'] = 'Measures';
     $this->viewData['controller_name'] = $this->controller;
     $this->viewData['whatisit'] = 'Measure';
     $this->viewData['plans'] = Plan::where('user_id', $this->viewData['user_id'])->where('status', 0)->orderBy('name')->lists('name', 'id');
     $this->viewData['currentPlan'] = NULL;
     if (!empty($_GET['plan_id'])) {
         $this->viewData['currentPlan'] = Plan::find($_GET['plan_id']);
     } else {
         if (!empty($this->viewData['plans'])) {
             $this->viewData['currentPlan'] = Plan::where('user_id', $this->viewData['user_id'])->where('status', 0)->orderBy('name')->get()->first();
         }
     }
     $this->viewData['dimensions'] = Dimension::leftJoin('plans', 'plans.id', '=', 'dimensions.plan_id')->where('plans.user_id', $this->viewData['user_id'])->where('dimensions.plan_id', $this->viewData['currentPlan']->id)->where('dimensions.status', 0)->orderBy('dimensions.name')->select('dimensions.*')->lists('dimensions.name', 'dimensions.id');
     $this->viewData['currentDimension'] = NULL;
     if (!empty($_GET['dimension_id'])) {
         $this->viewData['currentDimension'] = Dimension::find($_GET['dimension_id']);
     } else {
         if (!empty($this->viewData['dimensions'])) {
             $this->viewData['currentDimension'] = Dimension::where('dimensions.plan_id', $this->viewData['currentPlan']->id)->where('dimensions.status', 0)->orderBy('dimensions.name')->get()->first();
         }
     }
     $this->viewData['currentDimensionId'] = !empty($this->viewData['currentDimension']) ? $this->viewData['currentDimension']->id : '';
     $this->viewData['objectives'] = Objective::leftJoin('dimensions', 'dimensions.id', '=', 'objectives.dimension_id')->leftJoin('plans', 'plans.id', '=', 'dimensions.plan_id')->where('plans.user_id', '=', $this->viewData['user_id'])->where('objectives.dimension_id', '=', $this->viewData['currentDimensionId'])->where('objectives.status', 0)->orderBy('objectives.name')->select('objectives.*')->lists('objectives.name', 'objectives.id');
     $this->viewData['currentObjective'] = NULL;
     if (!empty($_GET['objective_id'])) {
         $this->viewData['currentObjective'] = Objective::find($_GET['objective_id']);
     } else {
         if (!empty($this->viewData['objectives'])) {
             $this->viewData['currentObjective'] = Objective::where('objectives.dimension_id', '=', !empty($this->viewData['currentDimension']) ? $this->viewData['currentDimension']->id : NULL)->where('objectives.status', 0)->orderBy('objectives.name')->get()->first();
         }
     }
     $this->viewData['currentObjectiveId'] = !empty($this->viewData['currentObjective']) ? $this->viewData['currentObjective']->id : '';
     $this->viewData['initiatives'] = Initiative::leftJoin('objectives', 'objectives.id', '=', 'initiatives.objective_id')->leftJoin('dimensions', 'dimensions.id', '=', 'objectives.dimension_id')->leftJoin('plans', 'plans.id', '=', 'dimensions.plan_id')->where('plans.user_id', '=', $this->viewData['user_id'])->where('initiatives.objective_id', '=', $this->viewData['currentObjectiveId'])->where('initiatives.status', 0)->orderBy('initiatives.name')->select('initiatives.*')->lists('initiatives.name', 'initiatives.id');
     $this->viewData['periods'] = array(1 => 'Yearly', 2 => 'Quaterly', 3 => 'Monthly');
 }
 public function editActionFromComments($id, Requests\EditActionRequest $request)
 {
     $progress = ['0' => 'Not Started', '1' => 'In Progress', '2' => 'Done'];
     $model = new Action();
     $action = Action::findOrFail($id);
     $bpid = $model->getBpIdFromAction($id);
     $objective = Objective::find($action->objective_id)->name;
     $groups = Group::lists('name', 'id');
     $users = User::lists('name', 'id');
     $names = explode(', ', $action->collaborators);
     $selectedUsers = array();
     $selectedGroups = array();
     foreach ($names as $name) {
         if (count(User::all()->where('name', $name)) > 0) {
             array_push($selectedUsers, User::all()->where('name', $name)->first()->id);
         }
         if (count(Group::all()->where('name', $name)) > 0) {
             array_push($selectedGroups, Group::all()->where('name', $name)->first()->id);
         }
     }
     return view('editActionComments', compact('action', 'objective', 'groups', 'users', 'bpid', 'selectedUsers', 'selectedGroups', 'progress'));
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     _MODEL::find($id)->delete();
     Session::flash('message', $this->viewData['whatisit'] . ' deleted!');
     Session::flash('alert-class', 'alert-danger');
     return redirect($this->controller);
 }