public function getMilestoneClearanceInfo() { $this->submissions = $this->getSubmissions(); $instanceId = \Input::get('experienceInstanceId'); $expController = new ExperienceController(); $milestoneInfo = $expController->getMilestoneClearanceInfo($instanceId); return $milestoneInfo; }
public function getMilestoneClearanceInfo() { try { $this->submissions = $this->getSubmissions(); $instanceId = \Input::get('experienceInstanceId'); $expController = new ExperienceController(); $milestoneInfo = $expController->getMilestoneClearanceInfo($instanceId); return $milestoneInfo; } catch (\GuzzleHttp\Exception\ClientException $e) { return []; } }
public function onRun() { $instance = GradeModel::find($this->property('gradeInstance')); if (!is_null($this->property('experienceInstance'))) { $experienceInstance = ExperienceModel::find($this->property('experienceInstance')); $exComp = new ExperienceComponent(); //set class variables $stDate = new DateTime($experienceInstance->start_date); $endDate = new DateTime($experienceInstance->end_date); $ptsPerSecond = $exComp->getPtsPerSecond($stDate, $endDate, $experienceInstance->total_points); $exComp->setPtsPerSecond($ptsPerSecond); $exComp->setStartDate($stDate); $exComp->setBonusPerSecond($experienceInstance->bonus_per_day / 24 / 60 / 60); $exComp->setBonusSeconds($experienceInstance->bonus_days * 24 * 60 * 60); $exComp->setPenaltyPerSecond($experienceInstance->penalty_per_day / 24 / 60 / 60); $exComp->setPenaltySeconds($experienceInstance->penalty_days * 24 * 60 * 60); $points = $exComp->getUserPoints(); $milestonesDesc = Milestone::where('experience_id', '=', $experienceInstance->id)->orderBy('points', 'desc')->get(); $mileClearance = $exComp->getMilestoneClearanceInfo($milestonesDesc); $bonusPenalties = 0; foreach ($mileClearance as $item) { if ($item->cleared) { $bonusPenalties = $bonusPenalties + $item->bonusPenalty; } } $this->page['XP'] = round($points, 2); $this->page['gradeBonus'] = round($bonusPenalties, 2); } else { $this->page['XP'] = 0; $this->page['gradeBonus'] = 0; } //todo: get the bonus, etc from blade, not from experience $this->page['gradeSize'] = $instance->Size; $this->getGradeData(); $this->addJs("/plugins/delphinium/blossom/assets/javascript/grade.js"); $this->addCss("/plugins/delphinium/blossom/assets/css/animate.css"); $this->addCss("/plugins/delphinium/blossom/assets/css/grade.css"); $this->addCss("/plugins/delphinium/blossom/assets/css/main.css"); }