public function store()
 {
     $seven_days = 60 * 60 * 24 * 7;
     $two_hours = 60 * 60 * 2;
     $season = $_REQUEST['season'];
     $venue_id = $_REQUEST['venue_id'];
     $activity = $_REQUEST['activity'];
     $lastSeasonsLeague = League::where('season', $season - 1)->where('venue_id', $venue_id)->where('activity', $activity)->first();
     $lastSeasonsLastGame = Event::where('league_id', $lastSeasonsLeague->id)->where('week_num', 'Wild Card')->where('game_num', 1)->first();
     $start_dt = $_REQUEST['start_dt'];
     $start_dt = $start_dt ? strtotime($start_dt) : strtotime($lastSeasonsLastGame->date) + $seven_days;
     $start_wk = $_REQUEST['start_wk'];
     $start_wk -= 1;
     $week_cnt = $_REQUEST['week_cnt'];
     $game_cnt = $_REQUEST['game_cnt'];
     $games_tm = $_REQUEST['games_tm'];
     $games_tm = $games_tm ? strtotime($games_tm) : strtotime($lastSeasonsLastGame->time);
     $events = [];
     for ($i = $start_wk; $i <= $week_cnt; $i++) {
         $week_num = $i == $week_cnt ? 'Wild Card' : $i + 1;
         for ($j = 0; $j < $game_cnt; $j++) {
             $datetime = date('Y-m-d', $start_dt + $seven_days * $i) . ' ' . date('H:i:s', $games_tm + $two_hours * $j);
             $game_num = $j + 1;
             $league = League::where('season', $season)->where('venue_id', $venue_id)->where('activity', $activity)->first();
             if (!$league) {
                 $league = new League();
                 $league->season = $season;
                 $league->venue_id = $venue_id;
                 $league->activity = $activity;
                 $league->save();
             }
             $event = new Event();
             $event->league_id = $league->id;
             $event->season = $league->season;
             $event->venue_id = $league->venue_id;
             $event->datetime = $datetime;
             $event->week_num = $week_num;
             $event->game_num = $game_num;
             $event->activity = $league->activity;
             $events[] = $event;
         }
     }
     try {
         DB::transaction(function () use($events) {
             foreach ($events as $event) {
                 $event->save();
             }
         });
         $_SESSION['ALERT'] = alert('Season Added!', "Season {$season} for " . Venue::find($venue_id)->name . " was created successfully.", 'success');
     } catch (Excepton $e) {
         print_r($e);
         exit;
         $_SESSION['ALERT'] = alert('Season Not Added!', "Season {$season} for " . Venue::find($venue_id)->name . " could not be created.", 'error');
     }
     return redirect('/seasons');
 }
 public function leaveStage()
 {
     $userWhereabouts = $this->user->whereAbouts;
     $venue = Venue::find($userWhereabouts->venue_id);
     if ($userWhereabouts->venue_id != $venue->id) {
         return response()->json(['success' => false, 'message' => 'You can\'t leave the stage if you\'re not in the right venue!'], 403);
     }
     if ($venue->stage->current_artist === $this->user->id) {
         $venue->stage->update(['current_artist' => 0, 'track_id' => 0]);
         return response()->json(['success' => true]);
     } else {
         return response()->json(['success' => false, 'message' => 'You\'re not on the stage!'], 403);
     }
 }
 public function create()
 {
     $userRoomCount = $this->user->venues()->count();
     $validate = Validator::make(['name' => Input::get('name'), 'capacity' => Input::get('capacity')], ['name' => 'required|unique:venue', 'capacity' => 'required|in:10,15,25']);
     if (!$validate->passes()) {
         return response()->json($validate->messages());
     }
     if ($userRoomCount >= $this->userMeta->maxRooms) {
         return response()->json(array('message' => 'You only have ' . $this->userMeta->maxRooms . ' slots for venues. Please purchase another one!'), 400);
     }
     $newVenue = new Venue(['name' => Input::get('name'), 'capacity' => Input::get('capacity')]);
     $price = 500 * (Input::get('capacity') * 0.1);
     DB::transaction(function () use($newVenue) {
         $venue = $this->user->Venues()->save($newVenue);
         Venue::find($venue->id)->stage()->save(new Stage());
     });
     $transaction = $this->dispatch(new DeductPoints($this->user, $price, "Created venue '" . Input::get('name') . "' for " . $price . " points."));
     if ($transaction['success']) {
         return response()->json($transaction);
     } else {
         return response()->json(array('message' => $transaction['message']), 400);
     }
 }
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request, $id)
 {
     $art = Venue::find($id);
     $art->fill($request->input())->save();
     return redirect('venue');
 }
Beispiel #5
0
 public function venue($id)
 {
     if (isset($id)) {
         return Venue::find($id);
     }
 }
Beispiel #6
0
 /**
  * Create a new command instance.
  *
  * @return void
  */
 public function __construct($user, $venueId)
 {
     $this->user = User::find($user->id);
     $this->venue = Venue::find($venueId);
 }