/**
  * Handle the event.
  *
  * @param  Events  $event
  * @return void
  */
 public function handle(UserWasRegistered $event)
 {
     // dd($event);
     $admins = User::getSuperAdmins()->lists('email')->toArray();
     \Mail::send('emails.admin-user-was-registered', [], function ($m) use($admins) {
         $m->to($admins)->subject('Users are waiting for approval');
     });
 }
 /**
  * @Middleware("admin")
  * @Get("/print/week")
  */
 public function printWeekOrders()
 {
     $week = \Input::get('week');
     $date = Carbon::createFromTimeStamp($week);
     $dateFormatted = $date->copy()->format('d.m.Y');
     $dateFormatted2 = $date->copy()->addDays(4)->format('d.m.Y');
     $users = User::getWeekPrintData($date);
     return view('admin.orders.print-week', compact('users', 'dateFormatted', 'dateFormatted2'));
 }
 /**
  * @Get("/toggle-role/{id}")
  */
 public function getToggleRole($id)
 {
     $role = Role::findOrFail(\Input::get('role_id'));
     $user = User::findOrFail($id);
     if ($user->roles->where('id', $role->id)->isEmpty()) {
         $user->attachRole($role);
     } else {
         $user->detachRole($role);
     }
     return redirect(action('SuperAdmin\\UserController@getIndex'));
 }
 /**
  * Handle the event.
  *
  * @param  Events  $event
  * @return void
  */
 public function handle(MenuWasPublished $event)
 {
     $menu = $event->menu;
     $approvedUsers = User::getApprovedUsers();
     $allUsers = $approvedUsers->lists('email')->toArray();
     $userVars = $approvedUsers->map(function ($user) {
         return [$user->email => ['name' => $user->name]];
     })->collapse()->toArray();
     $data = ['menu' => $menu];
     \Mailgun::send('emails.menu-was-published', $data, function ($m) use($menu, $allUsers, $userVars) {
         $m->to($userVars)->subject('New Menu for ' . $menu->date->format('d.m.Y'));
         // $m->recipientVariables($userVars);
     });
 }
 public function run()
 {
     DB::table('role_user')->truncate();
     DB::table('users')->truncate();
     DB::table('roles')->truncate();
     // Roles
     $superAdminRole = Role::create(['name' => 'super-admin', 'display_name' => 'Super Admin', 'description' => 'Can manage admins']);
     $adminRole = Role::create(['name' => 'admin', 'display_name' => 'Admin', 'description' => 'Can manage food, make menus, manage users']);
     $userRole = Role::create(['name' => 'user', 'display_name' => 'User', 'description' => 'Can order food, mark favorites']);
     // Users
     $superAdmin = User::create(['email' => '*****@*****.**', 'google_id' => '116501228635594035629', 'name' => 'Petar Slovic', 'avatar' => 'https://lh3.googleusercontent.com/-fDXQyzytF68/AAAAAAAAAAI/AAAAAAAAABY/AkUw0AA5x3o/photo.jpg?sz=50']);
     $admin = User::create(['email' => '*****@*****.**', 'google_id' => '113124672295594628556', 'name' => 'Petar Slovic', 'avatar' => 'https://lh4.googleusercontent.com/-m9sxqfJhgq8/AAAAAAAAAAI/AAAAAAAAEMk/rtpNg9O9RUU/photo.jpg?sz=50']);
     $superAdmin->attachRole($superAdminRole);
     $superAdmin->attachRole($adminRole);
     $superAdmin->attachRole($userRole);
     $admin->attachRole($adminRole);
     $admin->attachRole($userRole);
 }
Exemple #6
0
 public static function getCateringEmailData($week)
 {
     $users = \Hungry\Models\User::get();
     $allEatenFoodWeek = $users->map(function ($user) use($week) {
         return $user->eatenFoodForWeek($week);
     })->collapse();
     $allEatenFoodWeek = $allEatenFoodWeek->sortBy(function ($menuFood) {
         return $menuFood['menu']['date'];
     });
     $menuFoodsByDate = $allEatenFoodWeek->groupBy(function ($menuFood) {
         if (isset($menuFood->menu)) {
             return $menuFood->menu->date->format('d.m.Y');
         } else {
             return Menu::find($menuFood['menu']['id'])->date->format('d.m.Y');
         }
     });
     // Group by food name
     $menuFoodsByDate = $menuFoodsByDate->map(function ($menuFoods) {
         return $menuFoods->groupBy(function ($mf) {
             if (isset($mf->food)) {
                 return $mf->food->description;
             } else {
                 return $mf['food']['description'];
             }
         });
     });
     // Calculate counts for each food
     $menuFoodsByDate = $menuFoodsByDate->map(function ($differentMenuFoods) {
         return $differentMenuFoods->map(function ($menuFoods) {
             return $menuFoods->count();
         })->sortByDesc(function ($count) {
             return $count;
         });
     });
     // dd($menuFoodsByDate);
     return $menuFoodsByDate;
 }
 /**
  * Delete a User
  *
  * @Delete("/{id}")
  * @Middleware("super-admin")
  */
 public function deleteUser($id)
 {
     \DB::table('eats')->where('user_id', '=', $id)->delete();
     User::destroy($id);
     return User::with('roles')->get();
 }
 /**
  * @Get("/incomplete")
  * @Middleware("admin")
  *
  * Return the users who didn't complete the orders
  * for the specified week
  * 
  */
 public function getUsersWithIncompleteOrdersForWeek()
 {
     $week = \Input::get('week');
     return User::withIncompleteOrders($week);
 }
 /**
  * Return user if exists; create and return if doesn't
  *
  * @param $user
  * @return User
  */
 private function findOrCreateUser($user)
 {
     if ($authUser = User::where('google_id', $user->id)->first()) {
         return $authUser;
     }
     try {
         $name = $user->name ? $user->name : $user->user['name']['givenName'] . ' ' . $user->user['name']['familyName'];
     } catch (Exception $e) {
         $name = '';
     }
     $newUser = User::create(['name' => $name, 'email' => $user->email, 'google_id' => $user->id, 'avatar' => $user->avatar]);
     Event::fire(new UserWasRegistered($newUser));
     return $newUser;
 }