/**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(ReviewRequest $request)
 {
     $data = $request->all();
     $data['user_id'] = Auth::user()->id;
     Review::create($data);
     return redirect('/product/' . $request->get('product_id'));
 }
 /**
  * Store a newly review to user
  *
  * @param ReviewRequest $request
  * @return Response
  */
 public function postReview($username, ReviewRequest $request)
 {
     $input = array_add($request->all(), 'author_id', Auth()->user()->id);
     $user = $this->userRepository->findByUsername($username);
     $review = new Review();
     $review->storeReviewForUser($user->id, $input['author_id'], $input['comment'], $input['rating']);
     return Redirect()->route('profile_reviews', $user->username);
 }
 public function postDelete(ReviewRequest $request, Review $review)
 {
     try {
         $input = $request->all();
         $id = $input['id'];
         $deleteReview = $review->where('id', $id)->first();
         $deleteReview->delete();
         $message = 'Delete Success';
         $msg_type = 'success';
     } catch (Exception $e) {
         $message = 'Delete Error';
         $msg_type = 'danger';
         // return response()->json((['error'=>$e->getMessage()]), 422);
     }
     return $message;
     // return redirect('/product')->with([
     //                                     'message' => $message,
     //                                     'type' => $msg_type,
     //                                 ]);
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(ReviewRequest $request)
 {
     $settings = Settings::getArray();
     if (!$settings['page_review'] or !$settings['review_create']) {
         abort(404);
     }
     $data = $request->all();
     $data['ip'] = $request->server('REMOTE_ADDR');
     $data['active'] = $settings['review_moderate'] ? 0 : 1;
     Review::create($data);
     // sending notification
     //  if(!Settings::item('page_contact') or !Settings::item('contact_form')) abort(404);
     if ($settings['review_to_email']) {
         $data['name'] = $settings['company_name'];
         $data['subject'] = $settings['company_name'] . '| New review added';
         $data['admin_email'] = $settings['admin_email'];
         Mail::send('emails.review', $data, function ($message) use($data) {
             $message->subject($data['subject']);
             $message->to($data['admin_email']);
         });
     }
     return back()->with(['message' => trans('admin/reviews.message.add_success')]);
 }
 public function update($id, ReviewRequest $request)
 {
     $review = Review::findOrFail($id);
     $review->update($request->all());
     return redirect('reviews');
 }