public function store(Requests\SaveOfferRequest $request)
 {
     if (Gate::denies('create-offer')) {
         abort(403);
     }
     $violation_id = $request->input('violation_id');
     $violation = Violation::findOrFail($violation_id);
     $offer = new Offer();
     $offer->fill($request->input());
     $offer->violation_id = $violation_id;
     $offer->pro_id = Auth::user()->id;
     $offer->user_id = $violation->author->id;
     $offer->save();
     // Update violation
     $violation->offers++;
     $violation->status = 0;
     $violation->save();
     // Send email
     $email = $violation->author->email;
     $to = $violation->author->username;
     $pro_name = $offer->author->username;
     $address = $violation_name = $violation->address1 . ', ' . $violation->city . ' (' . $violation->getOriginal('state') . ') ' . $violation->zip;
     $offer_id = $offer->id;
     $data = compact('to', 'pro_name', 'address', 'offer_id');
     Mail::send('emails.newoffer', $data, function ($message) use($email) {
         $message->subject('You have received an offer');
         $message->to($email);
     });
     // Flash message
     $violation_name = $violation->address1 . ', ' . $violation->city . ' (' . $violation->getOriginal('state') . ') ' . $violation->zip;
     Session::flash('message', 'Your offer for violation <b>' . $violation_name . '</b> has been submitted.');
     Session::flash('message-type', 'success');
     // Redirect
     return redirect()->action('OfferController@show', [$offer->id]);
 }
Esempio n. 2
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(Request $request)
 {
     $offer = new Offer();
     $offer->post_id = $request->post_id;
     $offer->type = $request->type;
     $offer->content = $request->content;
     $offer->user_id = Auth::user()->id;
     $post = Post::find($request->post_id);
     $offer->post_creator = $post->user_id;
     $offer->save();
     $user = User::findOrFail($post->user_id);
     Mail::send('emails.offer', ['user' => $user, 'offer' => $offer], function ($m) use($user) {
         $m->to($user->email, $user->name)->subject('New Offer!');
     });
     return Redirect($post->community_id . '/post/' . $request->post_id)->with('message', 'Post created');
 }
 public function postAdd(Request $request)
 {
     $validator = $this->validator($request->all());
     if ($validator->fails()) {
         return redirect()->back()->withErrors($validator->messages())->withInput();
     }
     $offer = new Offer();
     $offer->title = $request->input('title');
     $offer->description = $request->input('description');
     $offer->content = $request->input('content');
     $file = $request->file('image');
     $imageExtension = $file->getClientOriginalExtension();
     $imageName = Slug::make($offer->title) . '.' . $imageExtension;
     $request->file('image')->move(base_path() . '/public/images/offers/', $imageName);
     $offer->image = $imageName;
     $offer->save();
     $msg = "Новость \"" . $offer->title . "\" добавлена.";
     return redirect('admin/offer')->with('msg', $msg);
 }
Esempio n. 4
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     //
     $this->validate($request, ['offer_name' => 'required', 'start_date' => 'required', 'end_date' => 'required']);
     $offer = new Offer();
     $offer->offer_name = $request->offer_name;
     $offer->description = $request->description;
     $offer->offer_type = $request->offer_type;
     $offer->amount = $request->amount;
     //dd($request);
     if ($request->has('active')) {
         $offer->active = $request->active;
     }
     $start_date = Carbon::createFromFormat('d-n-Y', $request->start_date);
     $end_date = Carbon::createFromFormat('d-n-Y', $request->end_date);
     $offer->start = $start_date->toDateTimeString();
     $offer->end = $end_date->toDateTimeString();
     $offerfor = $request->offerfor;
     //dd($offerfor);
     $offer->save();
     //dd($offer);
     if ($offerfor == 'product') {
         $productIds = $request->products;
         foreach ($productIds as $id) {
             $product = Product::find($id);
             $offer->products()->attach($offer->id, ['offerable_id' => $id, 'offerable_type' => 'App\\Product']);
         }
     } elseif ($offerfor == 'category') {
         $categoryIds = $request->categories;
         foreach ($categoryIds as $id) {
             $category = Category::find($id);
             $offer->categories()->attach($offer->id, ['offerable_id' => $id, 'offerable_type' => 'App\\Category']);
         }
     } elseif ($offerfor == 'brand') {
         $brandIds = $request->brands;
         foreach ($brandIds as $id) {
             $brand = Category::find($id);
             $offer->brands()->attach($offer->id, ['offerable_id' => $id, 'offerable_type' => 'App\\Brand']);
         }
     }
     return redirect()->route('admin.offers');
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(Request $request)
 {
     $offer = new Offer();
     $image = '';
     $filename = str_random(25) . '.' . $request->file('image')->getClientOriginalExtension();
     //        dd($request);
     if ($request->hasFile('image')) {
         $request->file('image')->move(public_path() . '/uploads/offers/', $filename);
         $image = '/uploads/offers/' . $filename;
     }
     $offer->title = $request->get('title');
     $offer->image = $image;
     $offer->description = $request->get('description');
     $offer->content = $request->get('content');
     $offer->url = $request->get('url');
     $offer->code = $request->get('code');
     $offer->save();
     alert()->success('The new offer was successfully created', 'Alright!');
     return redirect()->intended('backend/offers');
 }