public function levelUp($id) { /** @var MyDragon $myDragon */ $myDragon = MyDragon::find($id); $this->authorize('owner', $myDragon); $this->myDragonService->levelUp($myDragon); if ($myDragon->training) { Notification::add('success', $myDragon->getPresenter()->fullName . ' set as in training'); return Redirect::to(Session::get('table', 'my-dragon')); } else { if (!$this->dragonLevelService->isComplete($myDragon->dragon_id, $myDragon->level)) { Notification::add('info', $myDragon->getPresenter()->fullName . ' levelled up - but there is missing information for level ' . $myDragon->level); return Redirect::route('dragon.level.edit', ['id' => $myDragon->dragon->id, 'level' => $myDragon->level]); } elseif (!$this->dragonLevelService->isUpToDate($myDragon->dragon_id, $myDragon->level)) { Notification::add('warning', $myDragon->getPresenter()->fullName . ' levelled up - but the data for level ' . $myDragon->level . ' may be out of date. Please verify it is correct:'); return Redirect::route('dragon.level.edit', ['id' => $myDragon->dragon->id, 'level' => $myDragon->level]); } else { Notification::add('success', $myDragon->getPresenter()->fullName . ' levelled up'); return Redirect::to(Session::get('table', 'my-dragon')); } } }
public function update(DragonLevelRequest $request, $id, $level) { $dragon = $this->dragonLevelService->update($id, (int) $level, $request->all()); Notification::add('success', $dragon->getPresenter()->fullName . ' level ' . $level . ' updated'); return Redirect::to(Session::get('level-update-redirect', Session::get('table', 'my-dragon'))); }