/**
     * Stores a new notification for the user.
     *
     * @param Request $request
     *
     * @return array
     */
    public function create(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'gcm_id'   => 'required|exists:users,gcm_id',
            'movie_id' => 'required|exists:movies,id',
            'date'     => 'required|date|after:today',
            'no_of_seats' => 'required_with_all:after_time,before_time|integer',
            'after_time' => 'required_with_all:no_of_seats,before_time|date_format:g\:i A',
            'before_time' => 'required_with_all:no_of_seats,after_time|date_format:g\:i A',
        ]);

        if ($validator->fails()) {
            return ['errors' => $validator->errors()->all(), 'status' => 'failed'];
        }

        $user = User::whereGcmId($request->get('gcm_id'))->firstOrFail();
        $movie = Movie::findOrFail($request->get('movie_id'));
        $date = Carbon::createFromFormat('Y-m-d', $request->get('date'))->toDateString();
        $numberOfSeats = $request->get('no_of_seats', 0);
        $afterTime = $numberOfSeats ? $request->get('after_time') : null;
        $beforeTime = $numberOfSeats ? $request->get('before_time') : null;

        if (!$movie->showtimes()->where('date', $date)->count()) {
            $user->notifications()->firstOrCreate([
                'movie_id' => $movie->id,
                'date'     => Carbon::createFromFormat('Y-m-d', $date)->toDateTimeString(),
                'sent'     => false,
                'no_of_seats' => $numberOfSeats,
                'after_time' => $afterTime,
                'before_time' => $beforeTime,
            ]);
        }

        return ['status' => 'success'];
    }
Ejemplo n.º 2
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function voteDown($id, Request $request)
 {
     $rating = new MovieRating();
     $rating->movie_id = $id;
     $rating->rating = -1;
     $rating->save();
     $movie = Movie::findOrFail($id);
     return response()->json(['success' => true, 'score' => $movie->rating]);
 }
 function postUpdate($id)
 {
     $validator = \App\Movie::runValidator(\Input::all());
     if ($validator->fails()) {
         return \Redirect::back()->withErrors($validator)->withInput();
     }
     $movie = \App\Movie::findOrFail($id);
     $movie->title = \Input::get('title');
     $movie->genre = \Input::get('genre');
     $movie->rating = \Input::get('rating');
     $movie->save();
     return \Redirect::to('movies');
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     $movie = Movie::findOrFail($id);
     $movie->delete();
     return redirect()->route('movies.index')->with('message', 'Item deleted successfully.');
 }
Ejemplo n.º 5
0
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id, MovieFormRequest $request)
 {
     $movie = Movie::findOrFail($id);
     $input = $request->all();
     $movie->fill($input)->save();
     // send flash message
     Session::flash('message', 'Movie updated successfully!');
     return Redirect::to('admin/movies');
 }
 public function getMovie(Request $request, $id)
 {
     return Movie::findOrFail($id)->get()->first();
 }
Ejemplo n.º 7
0
 public function show($id)
 {
     $movie = Movie::findOrFail($id);
     return view('pages.show', compact('movie'))->with($movie->title);
 }
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function show($id)
 {
     $movie = Movie::findOrFail($id);
     return $movie;
 }