/**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function show($programid, $workstreamid, $subjectid)
 {
     $program = Program::findOrFail($programid);
     $workstream = WorkStream::where('id', $workstreamid)->with('RAGs', 'Risks', 'Projects.RAGs', 'Members.User', 'Tasks.ActionOwner')->first();
     $subject = Project::where('id', $subjectid)->with('RAGs', 'Risks', 'Members.User', 'Tasks.ActionOwner', 'Comments')->first();
     $subjecttype = 'Project';
     $subjectid = $subject->id;
     return view('Project.show', compact('program', 'workstream', 'subject', 'subjecttype', 'subjectid'));
 }
예제 #2
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     DB::table('work_streams')->delete();
     WorkStream::create(array('program_id' => 1, 'name' => 'Planning', 'Status' => 2, 'phase' => '1', 'RAG' => 'G', 'StartDate' => date_create('05/01/2010'), 'EndDate' => date_create('01/06/2015'), 'description' => 'Implementation of Functional Planning including BioPlan'));
     WorkStream::create(array('program_id' => 1, 'name' => 'Work Scheduling and Experimental Design', 'Status' => 0, 'phase' => '2B', 'RAG' => 'A', 'StartDate' => date_create('01/01/2015'), 'EndDate' => date_create('07/01/2016'), 'description' => 'Protocol and Site Placement plus other projects to enable these and put FPLS beyond use'));
     WorkStream::create(array('program_id' => 1, 'name' => 'Analysis and Reporting', 'Status' => 0, 'phase' => '2B', 'RAG' => 'G', 'StartDate' => date_create('01/05/2015'), 'EndDate' => date_create('05/01/2017'), 'description' => 'Implement changes required for the analysis and reporting processes'));
     WorkStream::create(array('program_id' => 1, 'name' => 'Work Execution', 'Status' => 1, 'RAG' => 'G', 'phase' => '2C', 'StartDate' => date_create('03/01/2016'), 'EndDate' => date_create('01/01/2018'), 'description' => 'All things related to the establishment, execution and clean up of trials'));
     WorkStream::create(array('program_id' => 1, 'name' => 'Logistics', 'Status' => 1, 'RAG' => 'G', 'phase' => '2C', 'StartDate' => date_create('10/01/2015'), 'EndDate' => date_create('01/01/2018'), 'description' => 'The logistics activities required to support the planning and execution of trialing activities'));
     WorkStream::create(array('program_id' => 1, 'name' => 'BA IS Backbone', 'Status' => 1, 'RAG' => 'G', 'phase' => '2C', 'StartDate' => date_create('05/01/2015'), 'EndDate' => date_create('01/01/2017'), 'description' => 'IS enablers required to ensure a robust and scalable IS platform that will meet R&D needs today and in the future'));
 }
예제 #3
0
 public function OpenLoadForm($projectID)
 {
     //get the project
     try {
         $project = Project::findOrFail($projectID);
     } catch (ModelNotFoundException $e) {
         abort(404, "Project with the id {$projectID} not found");
     }
     $program = Program::findOrFail($project->program_id);
     $workstream = WorkStream::findOrFail($project->work_stream_id);
     return view('Project.UploadMicrosoftProjectPlan', compact('project', 'workstream', 'program'));
 }
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function show($id)
 {
     $subject = Program::where('id', $id)->with('RAGs', 'Risks', 'Members.User', 'Tasks.ActionOwner')->first();
     if (!$subject) {
         abort(404, 'Program not found');
     }
     //get worksteams for this program
     //todo : Move this to a seperate model to ensure single responsibility.  Should add number of active projects to the workstream list.  Maybe a nice small char
     $workstreams = WorkStream::where('program_id', $id)->orderBy('phase')->orderBy('status')->orderBy('name')->with('RAGs', 'Risks', 'Members.User')->get();
     //return $program->Tasks;
     $subjecttype = 'Program';
     $subjectid = $subject->id;
     return view('Program.show', compact('subject', 'workstreams', 'subjecttype', 'subjectid'));
 }
 public function show($programid, $workstreamid)
 {
     try {
         $program = Program::findOrFail($programid);
     } catch (ModelNotFoundException $e) {
         App::abort(404, 'Program not found');
     }
     $subject = WorkStream::where('id', $workstreamid)->with('RAGs', 'Risks', 'Projects.RAGs', 'Members.User', 'Tasks.ActionOwner')->first();
     if (!$subject) {
         App::abort(404, 'WorkStream not found');
     }
     $subjecttype = 'WorkStream';
     $subjectid = $subject->id;
     return view('workstream.show', compact('program', 'subject', 'subjecttype', 'subjectid'));
 }
예제 #6
0
 public static function GetObject($subject_type, $subject_id)
 {
     switch ($subject_type) {
         case 'Program':
             return Program::findorFail($subject_id);
             break;
         case 'WorkStream':
             return WorkStream::findorFail($subject_id);
             break;
         case 'Project':
             return Project::findorFail($subject_id);
             break;
         case 'Risk':
             return Risk::findorFail($subject_id);
             break;
         case 'Task':
             return Task::findorFail($subject_id);
             break;
         case 'Action':
             return Action::findorFail($subject_id);
             break;
         case 'Rag':
             return rag::findorFail($subject_id);
             break;
         case 'Dependency':
             return Dependency::findorFail($subject_id);
             break;
         case 'ChangeRequest':
             return ChangeRequest::findorFail($subject_id);
             break;
         case 'Meeting':
             return Meeting::findorFail($subject_id);
             break;
         case 'Link':
             return Link::findorFail($subject_id);
             break;
         case 'Assumption':
             return Assumption::findorFail($subject_id);
             break;
         case 'Decision':
             return Decision::findorFail($subject_id);
             break;
         default:
             return null;
     }
 }
 public function editWorkstreamRiskOrIssue($programid, $workstreamid, $riskid)
 {
     $program = Program::findOrFail($programid);
     $workstream = WorkStream::findOrFail($workstreamid);
     $risk = Risk::findorFail($riskid);
     //return "Owner id: $risk->owner , Owner Name: $risk->OwnerName";
     $title = "Edit {$risk->title} for the {$workstream->name} Workstream";
     $breadcrumbs[] = ['Home', URL::asset('/home'), false];
     $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[] = ['Risks & Issues', '', false];
     $breadcrumbs[] = [$risk->title, '', false];
     $breadcrumbs[] = ['Edit', URL::asset('/') . "/programs/{$programid}/workstreams/{$workstreamid}/risksandissues/{$riskid}/edit", true];
     $redirect = "/programs/{$programid}/workstreams/{$workstreamid}";
     //return $risk->NextReviewDate;
     return $this->edit($risk, $title, $breadcrumbs, $redirect);
 }
예제 #8
0
 public function dashboard($userid)
 {
     $user = User::findOrFail($userid);
     //get programs, workstreams and projects that the user is a member of
     $programs = Program::whereHas('Members', function ($q) use($userid) {
         $q->where('user_id', $userid);
     })->get();
     $workstreams = WorkStream::whereHas('Members', function ($q) use($userid) {
         $q->where('user_id', $userid);
     })->get();
     $projects = Project::whereHas('Members', function ($q) use($userid) {
         $q->where('user_id', $userid);
     })->get();
     //get tasks for the user
     $tasks = Task::where('action_owner', $userid)->get();
     //Get the users actions
     $actions = Action::where('actionee', $userid)->get();
     //Get risks and issues assigned to the user
     $risks = Risk::where('owner', $userid)->orWhere('action_owner', $userid)->get();
     //return $risks;
     return view('Users.dashboard', compact('user', 'programs', 'workstreams', 'projects', 'tasks', 'risks', 'actions'));
 }
예제 #9
0
 public function WorkStreams()
 {
     $userid = $this->id;
     return WorkStream::whereHas('Members', function ($q) use($userid) {
         $q->where('user_id', $userid);
     })->get();
 }
예제 #10
0
 public static function getSubjectName($subjecttype, $subjectid)
 {
     switch ($subjecttype) {
         case "Program":
             $program = Program::findOrFail($subjectid);
             return $program->name;
             break;
         case "WorkStream":
             $workstream = WorkStream::findOrFail($subjectid);
             return $workstream->name;
             break;
         case "Project":
             $project = Project::findOrFail($subjectid);
             return $project->name;
             break;
         case "Risk":
             $risk = Risk::findOrFail($subjectid);
             return $risk->title;
             break;
         case "Rag":
             $rag = rag::findOrFail($subjectid);
             return $rag->title;
             break;
         case "Task":
             $task = Task::findOrFail($subjectid);
             return $task->title;
             break;
         case "Dependency":
             $dependency = Dependency::findOrFail($subjectid);
             return $dependency->title;
             break;
         case "ChangeRequest":
             $changerequest = ChangeRequest::findOrFail($subjectid);
             return $changerequest->title;
             break;
         case "Meeting":
             $meeting = Meeting::findOrFail($subjectid);
             return $meeting->title;
             break;
         case "Action":
             $action = Action::findOrFail($subjectid);
             return $action->title;
             break;
         case "Link":
             $link = Link::findOrFail($subjectid);
             return $link->title;
             break;
         case "Assumption":
             $assumption = Assumption::findOrFail($subjectid);
             return $assumption->title;
             break;
     }
 }