/**
  * Update the specified series in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id)
 {
     $series = Series::findOrFail($id);
     $validator = Validator::make($data = Input::except('casts'), Series::$rules);
     if ($validator->fails()) {
         return Redirect::back()->withErrors($validator)->withInput();
     }
     $series->update($data);
     $series->xcast()->sync(Input::get('casts'));
     return Redirect::route('admin.series.index');
 }
 /**
  * Display a listing of the resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function index($series_id, $season_number)
 {
     //
     try {
         $series = Series::findOrFail($series_id);
     } catch (\Exception $e) {
         return response()->json(['status' => false, 'message' => 'The series cannot be found']);
     }
     $season = $series->seasons()->where('number', $season_number)->first();
     if ($season == null) {
         return response()->json(['status' => false, "message" => "No matching season!"]);
     }
     return view('season.create', compact('series', 'series_id', 'season'));
 }
 public function toggleWatch()
 {
     $seriesId = Input::get('series');
     $series = Series::findOrFail($seriesId);
     $user = Auth::user();
     if (!$series) {
         App::abort(400, 'Invalid params');
     } else {
         $watching = $user->watchSeries($series);
         if (Request::ajax()) {
             return Response::json(array('result' => true, 'watching' => $watching));
         } else {
             return Redirect::back();
         }
     }
 }