Esempio n. 1
0
 public function getMilestoneClearanceInfo()
 {
     $this->submissions = $this->getSubmissions();
     $instanceId = \Input::get('experienceInstanceId');
     $expController = new ExperienceController();
     $milestoneInfo = $expController->getMilestoneClearanceInfo($instanceId);
     return $milestoneInfo;
 }
Esempio n. 2
0
 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 [];
     }
 }
Esempio n. 3
0
 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");
 }