/**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function show($id, Request $request)
 {
     $subject = rag::findOrFail($id);
     $subjectid = $subject->subject_id;
     $subjecttype = $subject->subject_type;
     $title = "Edit RAG {$subject->title} for {$subject->subject_type} " . Breadcrumbs::getSubjectName($subjecttype, $subjectid);
     $breadcrumbs = Breadcrumbs::getBreadCrumb($subjecttype, $subjectid);
     $breadcrumbs[] = ['RAGs', URL::action('RagController@index', [$subjecttype, $subjectid]), false];
     $breadcrumbs[] = [$subject->title, '', true];
     $subjecttype = 'Rag';
     return view('Rags.show', compact('subject', 'title', 'breadcrumbs', 'subjectid', 'subjecttype'));
 }
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function show($id, Request $request)
 {
     $subject = Member::findOrFail($id);
     $subjectid = $subject->subject_id;
     $subjecttype = $subject->subject_type;
     $username = $subject->User->name;
     $title = "{$username} as {$subject->role} for {$subject->subject_type} " . Breadcrumbs::getSubjectName($subjecttype, $subjectid);
     $breadcrumbs = Breadcrumbs::getBreadCrumb($subjecttype, $subjectid);
     $breadcrumbs[] = ['Members', URL::action('MemberController@indexMember', [$subjecttype, $subjectid]), false];
     $breadcrumbs[] = [$username, '', true];
     $subjecttype = 'Member';
     return view('Members.show', compact('subject', 'title', 'breadcrumbs', 'subjectid', 'subjecttype'));
 }
 public static function getBreadCrumb($subjecttype, $subjectid)
 {
     $breadcrumbs[] = ['Home', URL::asset('/home'), false];
     switch ($subjecttype) {
         case "Program":
             $program = Program::findOrFail($subjectid);
             $programid = $program->id;
             $breadcrumbs[] = ['Programs', URL::asset('programs'), false];
             $breadcrumbs[] = [$program->name, URL::asset('/') . "/programs/{$programid}", false];
             return $breadcrumbs;
             break;
         case "WorkStream":
             $workstream = WorkStream::findOrFail($subjectid);
             $program = Program::findOrFail($workstream->program_id);
             $programid = $program->id;
             $workstreamid = $workstream->id;
             $breadcrumbs[] = ['Programs', URL::asset('programs'), false];
             $breadcrumbs[] = [$program->name, URL::asset('/') . "/programs/{$programid}", false];
             $breadcrumbs[] = ['Workstreams', '', false];
             $breadcrumbs[] = [$workstream->name, URL::asset('/') . "/programs/{$programid}/workstreams/{$workstreamid}", false];
             return $breadcrumbs;
             break;
         case "Project":
             $project = Project::findOrFail($subjectid);
             $workstream = WorkStream::findOrFail($project->work_stream_id);
             $program = Program::findOrFail($workstream->program_id);
             $programid = $program->id;
             $workstreamid = $workstream->id;
             $breadcrumbs[] = ['Programs', URL::asset('programs'), false];
             $breadcrumbs[] = [$program->name, URL::asset('/') . "/programs/{$programid}", false];
             $breadcrumbs[] = ['Workstreams', '', false];
             $breadcrumbs[] = [$workstream->name, URL::asset('/') . "/programs/{$programid}/workstreams/{$workstreamid}", false];
             $breadcrumbs[] = ['Projects', '', false];
             $breadcrumbs[] = [$project->name, URL::asset('/') . "/programs/{$programid}/workstreams/{$workstreamid}/projects/{$project->id}", false];
             return $breadcrumbs;
             break;
         case "Risk":
             $risk = Risk::findOrFail($subjectid);
             $breadcrumbs = Breadcrumbs::getBreadCrumb($risk->subject_type, $risk->subject_id);
             $breadcrumbs[] = ['Risks', '', false];
             $breadcrumbs[] = [$risk->title, URL::asset('risks/') . "/{$risk->id}", false];
             return $breadcrumbs;
             break;
         case "Action":
             $action = Action::findOrFail($subjectid);
             $breadcrumbs = Breadcrumbs::getBreadCrumb($action->subject_type, $action->subject_id);
             $breadcrumbs[] = ['Actions', URL::action('ActionController@index', [$action->subject_type, $action->subject_id]), false];
             $breadcrumbs[] = [$action->title, '', false];
             return $breadcrumbs;
             break;
         case "Rag":
             $rag = rag::findOrFail($subjectid);
             $breadcrumbs = Breadcrumbs::getBreadCrumb($rag->subject_type, $rag->subject_id);
             $breadcrumbs[] = ['RAGs', URL::action('RagController@index', [$rag->subject_type, $rag->subject_id]), false];
             $breadcrumbs[] = [$rag->title, '', false];
             return $breadcrumbs;
             break;
         case "Task":
             $task = Task::findOrFail($subjectid);
             $breadcrumbs = Breadcrumbs::getBreadCrumb($task->subject_type, $task->subject_id);
             $breadcrumbs[] = ['Tasks', URL::action('TaskController@indexTask', [$task->subject_type, $task->subject_id]), false];
             $breadcrumbs[] = [$task->title, URL::asset('tasks/') . "/{$task->id}", false];
             return $breadcrumbs;
             break;
         case "Dependency":
             $dependency = Dependency::findOrFail($subjectid);
             $breadcrumbs = Breadcrumbs::getBreadCrumb($dependency->subject_type, $dependency->subject_id);
             $breadcrumbs[] = ['Dependencies', URL::action('DependencyController@index', [$dependency->subject_type, $dependency->subject_id]), false];
             $breadcrumbs[] = [$dependency->title, URL::asset('dependencies/') . "/{$dependency->id}", false];
             return $breadcrumbs;
             break;
         case "ChangeRequest":
             $changerequest = ChangeRequest::findOrFail($subjectid);
             $breadcrumbs = Breadcrumbs::getBreadCrumb($changerequest->subject_type, $changerequest->subject_id);
             $breadcrumbs[] = ['Change Requests', URL::action('ChangeRequestController@index', [$changerequest->subject_type, $changerequest->subject_id]), false];
             $breadcrumbs[] = [$changerequest->title, URL::asset('changerequests/') . "/{$changerequest->id}", false];
             return $breadcrumbs;
             break;
         case "Link":
             $link = Link::findOrFail($subjectid);
             $breadcrumbs = Breadcrumbs::getBreadCrumb($link->subject_type, $link->subject_id);
             $breadcrumbs[] = ['Links', URL::action('LinkController@index', [$link->subject_type, $link->subject_id]), false];
             $breadcrumbs[] = [$link->title, URL::asset('links/') . "/{$link->id}", false];
             return $breadcrumbs;
             break;
     }
 }
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function show($taskid, Request $request)
 {
     $subject = Task::findOrFail($taskid);
     $subjectid = $subject->subject_id;
     $subjecttype = $subject->subject_type;
     $title = "Task {$subject->title} for {$subject->subject_type} " . Breadcrumbs::getSubjectName($subjecttype, $subjectid);
     $breadcrumbs = Breadcrumbs::getBreadCrumb($subjecttype, $subjectid);
     $breadcrumbs[] = ['Tasks', action('TaskController@indexTask', [$subjecttype, $subjectid]), false];
     $breadcrumbs[] = [$subject->title, '', true];
     return view('Tasks.show', compact('subject', 'title', 'breadcrumbs', 'subjectid', 'subjecttype'));
 }
 protected function getBaseBreadcrumb($subjecttype, $subjectid, $active = false)
 {
     $breadcrumbs = Breadcrumbs::getBreadCrumb($subjecttype, $subjectid);
     $breadcrumbs[] = ['Actions', URL::action('ActionController@index', [$subjecttype, $subjectid]), $active];
     return $breadcrumbs;
 }
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function edit($id, Request $request)
 {
     try {
         $changerequest = ChangeRequest::findOrFail($id);
     } catch (ModelNotFoundException $e) {
         abort(404, "Change Request with id {$id} not found");
     }
     $subjectid = $changerequest->subject_id;
     $subjecttype = $changerequest->subject_type;
     $subjectname = Breadcrumbs::getSubjectName($subjecttype, $subjectid);
     $title = "Edit Change Request {$changerequest->title} for {$changerequest->subject_type} {$subjectname}";
     $breadcrumbs = Breadcrumbs::getBreadCrumb($subjecttype, $subjectid);
     $breadcrumbs[] = ['Change Requests', URL::action('ChangeRequestController@index', [$subjecttype, $subjectid]), true];
     $breadcrumbs[] = [$changerequest->title, URL::action('ChangeRequestController@show', [$id]), false];
     $breadcrumbs[] = ['Edit', '', false];
     return view('ChangeRequests.edit', compact('changerequest', 'title', 'breadcrumbs', 'subjectid', 'subjecttype', 'subjectname'));
 }
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function show($id, Request $request)
 {
     //$risk = Risk::findOrFail($id);
     $subject = Risk::where('id', $id)->with('AuditTrail')->first();
     $risksubjectid = $subject->subject_id;
     $risksubjecttype = $subject->subject_type;
     $title = "Risk {$subject->title} for {$subject->subject_type} " . Breadcrumbs::getSubjectName($risksubjecttype, $risksubjectid);
     $breadcrumbs = Breadcrumbs::getBreadCrumb($risksubjecttype, $risksubjectid);
     $breadcrumbs[] = ['Risks', '', false];
     $breadcrumbs[] = [$subject->title, '', true];
     $subjecttype = 'Risk';
     //return $risk;
     return view('RisksAndIssues.show', compact('subject', 'title', 'breadcrumbs', 'risksubjectid', 'risksubjecttype', 'subjecttype'));
 }
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function edit($program_id, $work_stream_id, $subjectid, Request $request)
 {
     $subject = Project::findOrFail($subjectid);
     $workstreamname = $this->getWorkstream($work_stream_id)->name;
     $title = "Edit Task {$subject->name} for {$workstreamname} Workstream";
     $breadcrumbs = Breadcrumbs::getBreadCrumb('WorkStream', $work_stream_id);
     $breadcrumbs[] = ['Projects', '', false];
     $breadcrumbs[] = [$subject->name, '', false];
     $breadcrumbs[] = ['edit', '', false];
     return view('Project.edit', compact('program_id', 'work_stream_id', 'title', 'breadcrumbs', 'subject'));
 }
 /**
  * @param $subjecttype
  * @param $subjectid
  *
  * @return array
  */
 protected function GetBaseBreadcrumb($subjecttype, $subjectid)
 {
     $breadcrumbs = Breadcrumbs::getBreadCrumb($subjecttype, $subjectid);
     $breadcrumbs[] = ['Dependencies', URL::action('DependencyController@index', [$subjecttype, $subjectid]), true];
     return $breadcrumbs;
 }
 protected function getBaseBreadcrumb($subjecttype, $subjectid, $active = false)
 {
     $breadcrumbs = Breadcrumbs::getBreadCrumb($subjecttype, $subjectid);
     $breadcrumbs[] = ["{$this->viewRoot}", URL::action("{$this->controllerName}@index", [$subjecttype, $subjectid]), $active];
     return $breadcrumbs;
 }