/**
  * Display a listing of the resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function index()
 {
     $data = [];
     $data['badges'] = Badge::all()->count();
     $data['questions'] = Question::published()->count();
     $data['answers'] = User::Member()->with('answeredQuestions')->count();
     $data['members'] = User::Member()->count();
     return view('admin.dashboard.index', compact('data'));
 }
 public function giveBadge(RewardBadgeRequest $request)
 {
     $user = User::findOrFail($request->input('username'));
     $badge = Badge::findOrFail($request->input('badge'));
     if (Game::incrementBadge($user, $badge)) {
         return redirect()->route('admin.rewards.index')->with('success', trans('admin/reward/messages.badge_given.success', ['username' => $user->username, 'badge' => $badge->name]));
     } else {
         return redirect()->route('admin.rewards.index')->with('error', trans('admin/reward/messages.badge_given.error', ['username' => $user->username]));
     }
 }
 /**
  * Displays the form for question creation.
  *
  * @return \Illuminate\Http\Response
  */
 public function create()
 {
     $availableTags = Question::existingTags()->pluck('name', 'slug');
     $availableActions = [];
     // get actions that hasn't not been used
     foreach (Badge::all() as $action) {
         $availableActions[$action->id] = $action->name;
     }
     return view('admin/question/create', compact('availableTags', 'availableActions'));
 }
 public function getName()
 {
     $badge = Badge::find($this->badge_id);
     return $badge->name;
 }
Exemple #5
0
 public function getAvailableActions()
 {
     $selectedActions = $this->actions()->lists('badge_id')->toArray();
     return Badge::whereNotIn('id', $selectedActions)->get();
 }
 /**
  * Show a list of all badges formatted for Datatables.
  *
  * @param Request    $request
  * @param Datatables $dataTable
  *
  * @return Datatables JsonResponse
  */
 public function data(Request $request, Datatables $dataTable)
 {
     // Disable this query if isn't AJAX
     if (!$request->ajax()) {
         abort(400);
     }
     $badges = Badge::select(['id', 'name', 'amount_needed', 'active'])->orderBy('name', 'ASC');
     return $dataTable->of($badges)->addColumn('image', function (Badge $badge) {
         $badge = Badge::find($badge->id);
         return '<img src="' . $badge->image->url('small') . '" width="64" class="img-thumbnail" />';
     })->editColumn('active', function (Badge $badge) {
         return $badge->active ? trans('general.yes') : trans('general.no');
     })->addColumn('actions', function (Badge $badge) {
         return view('admin/partials.actions_dd', ['model' => 'badges', 'id' => $badge->id])->render();
     })->removeColumn('id')->make(true);
 }