/**
  * Update the specified resource in storage.
  *
  * @param  int $id
  *
  * @return Response
  */
 public function update($id)
 {
     $rules = ['slot' => 'Integer', 'memory' => 'Integer|Min:128|Max:10240', 'status' => 'Required', 'ip' => 'Required', 'port' => 'Integer|Min:1024|Max:65534|Required', 'displayName' => '', 'user' => 'Required|Exists:users,id'];
     $v = Validator::make(Input::all(), $rules);
     if ($v->passes()) {
         $user = User::find(Input::get('user'));
         $game = Game::find(Input::get('game'));
         /** @var Gameserver $gameserver */
         $gameserver = Gameserver::findOrFail($id);
         $gameserver->fill(Input::all());
         /** @var GameserverIp $ipport */
         $ipport = $gameserver->ipport;
         if ($gameserver->ipport->ip->id != Input::get('ip')) {
             $ipport->ip()->associate(Ip::findOrFail(Input::get('ip')));
             $ipport->save();
         }
         if ($gameserver->ipport->port != Input::get('port')) {
             $ipport->port = Input::get('port');
             $ipport->save();
         }
         $gameserver->user()->associate($user);
         if ($gameserver->game->id != $game->id) {
             $gameserver->game()->associate($game);
         }
         $gameserver->save();
         return Redirect::action('GameserverController@index');
     } else {
         return Redirect::action('GameserverController@update', $id)->withErrors($v->getMessageBag());
     }
 }
Exemplo n.º 2
0
 public function edit($id)
 {
     return View::make('admin.ip_edit', ['ip' => Ip::findOrFail($id)]);
 }