Пример #1
0
 public function ProcessTheParsedFile($projectid)
 {
     $array = session('msimportarray');
     //delete all previously imported items for this project
     $affected = DB::table('tasks')->where('subject_type', '=', 'Project')->where('subject_id', '=', $projectid)->where('imported', '=', 1)->delete();
     //loop through and add the records
     $donearray = array();
     $seq = 1;
     $parentUID = 0;
     foreach ($array as $mainitem) {
         foreach ($mainitem as $item) {
             //check if already added
             if (isset($donearray[$item['UID']])) {
                 $parentUID = $item['UID'];
                 continue;
             }
             $task = new Task();
             $task->imported = 1;
             $task->subject_id = $projectid;
             $task->subject_type = 'Project';
             $task->subject_name = Breadcrumbs::getSubjectName($task->subject_type, $task->subject_id);
             $task->status = 'Open';
             $task->flag1 = $item['flag1'];
             $task->created_by = auth()->user()->id;
             $task->action_owner = auth()->user()->id;
             $task->title = $item['Name'];
             $task->description = 'Imported from MS Project';
             if ($item['Milestone'] == '1') {
                 $task->milestone = 1;
                 $task->StartDate = Carbon::parse($item['Finish'])->toDateTimeString();
                 $task->EndDate = null;
             } else {
                 $task->milestone = 0;
                 $task->StartDate = Carbon::parse($item['Start'])->toDateTimeString();
                 $task->EndDate = Carbon::parse($item['Finish'])->toDateTimeString();
             }
             $task->sequence = $seq;
             $task->UID = $item['UID'];
             $task->outlinenumber = $item['OutlineNumber'];
             $task->PercentComplete = $item['PercentComplete'];
             if ($item['OutlineLevel'] > 1) {
                 //is a child
                 $task->parentUID = $parentUID;
             }
             $task->save();
             $donearray[$item['UID']] = 1;
             $parentUID = $item['UID'];
             $seq++;
         }
     }
     //return $array;
     flash()->success('Success', "Tasks imported successfully from the MS Project File");
     return redirect()->action('TaskController@indexTask', ['Project', $projectid]);
 }
Пример #2
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;
     }
 }
Пример #3
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'));
 }
Пример #4
0
 public function TaskCount()
 {
     return Task::where('action_owner', $this->id)->where('status', 'Open')->count();
 }
Пример #5
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;
     }
 }
Пример #6
0
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request, $id)
 {
     //return $request->all();
     $task = Task::findorFail($id);
     $task->status = $request->status;
     $task->action_owner = $request->action_owner;
     $task->title = $request->title;
     $task->description = $request->description;
     if (isset($request->milestone)) {
         $task->milestone = $request->milestone;
         $task->StartDate = Carbon::parse($request->StartDate)->toDateTimeString();
         $task->EndDate = null;
     } else {
         $task->milestone = 0;
         $task->StartDate = Carbon::parse($request->StartDate)->toDateTimeString();
         $task->EndDate = Carbon::parse($request->EndDate)->toDateTimeString();
     }
     $task->save();
     flash()->success('Success', "Task updated successfully");
     return redirect(Session::GetRedirect());
 }