Ejemplo n.º 1
0
 /**
  * @Get("/food")
  * @Middleware("admin")
  *
  * Returns number of orders for each food for the specified week
  * 
  */
 public function getFoodOrdersForWeek()
 {
     $week = \Input::get('week');
     $orderedFood = [];
     Food::all()->each(function ($food) use($week, &$orderedFood) {
         $arrayFood = $food->toArray();
         $arrayFood['num_orders'] = Menu::getNumOrdersForWeekAndFood($week, $food);
         $orderedFood[] = $arrayFood;
     });
     return $orderedFood;
 }
Ejemplo n.º 2
0
 public static function createMenusForWeek($week)
 {
     $now = Carbon::now('Europe/Belgrade')->toDateTimeString();
     $weekMon = Carbon::createFromTimeStamp((int) $week);
     $weekDays = ['mon' => $weekMon, 'tue' => $weekMon->copy()->addDays(1), 'wed' => $weekMon->copy()->addDays(2), 'thu' => $weekMon->copy()->addDays(3), 'fri' => $weekMon->copy()->addDays(4)];
     $defaultFoods = Food::where('default', true)->get();
     $newMenus = [];
     foreach ($weekDays as $dayAbbr => $day) {
         $newMenu = Menu::create(['date' => $day, 'week' => $week, 'published' => false, 'created_at' => $now, 'updated_at' => $now]);
         foreach ($defaultFoods as $defaultFood) {
             MenuFood::create(['food_id' => $defaultFood->id, 'menu_id' => $newMenu->id]);
         }
         $newMenus[] = $newMenu->id;
     }
     return self::with(['menuFoods', 'menuFoods.menu', 'menuFoods.food'])->find($newMenus);
 }
Ejemplo n.º 3
0
 /**
  * @Put("/{id}/toggle-default")
  * @Middleware("admin")
  *
  * Admin makes a food default or not.
  * 
  */
 public function toggleDefault($id)
 {
     $food = Food::findOrFail($id);
     $food->toggleDefault();
     return $food;
 }