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]); }
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 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')); }
public function TaskCount() { return Task::where('action_owner', $this->id)->where('status', 'Open')->count(); }
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; } }
/** * 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()); }