public static function getCurrent() { $couponCode = session()->get('coupon'); if ($couponCode) { $coupon = \App\Coupon::where('title', $couponCode)->first(); return $coupon; } return false; }
/** * Update coupon model in DB * @param $payload */ public function couponNeedsUpdate($payload) { $payload['data']['object'] = $payload; $payload['type'] = null; if (!is_null(Coupon::where('uuid', $payload['id'])->first())) { (new Coupon())->updateEntity(Coupon::where('uuid', $payload['id'])->first(), $payload); } else { Coupon::create((new Coupon())->buildAttributesFromStripe($payload)); } }
public function apply(Request $request) { $coupon = Coupon::where('name', $request->coupon)->first(); if ($coupon != null) { $coupon = $coupon->toArray(); if (Auth::user()->orders()->where('coupon_id', $coupon['id'])->get()->count() < $coupon['uses']) { Session::put('coupon', $coupon); return \Redirect()->back()->with(['flash_message' => 'Coupon Code Applied']); } else { return \Redirect()->back()->with(['flash_message' => 'Maximum Usage Exceeded', 'flash-warning' => true]); } } else { return \Redirect()->back()->with(['flash_message' => 'Invalid Coupon Code', 'flash-warning' => true]); } }
public function placeOrder($request) { $shoppingCart = $request->session()->get('cart'); $shoppingCartItems = $request->session()->get('items'); $user = Auth::user(); $code = $request->input('coupon'); $coupon = Coupon::ofCode($code); $transaction = Transaction::create(array('id' => md5(uniqid()), 'coupon' => is_object($coupon) ? $coupon->id : '', 'user_id' => $user->id, 'order_data' => json_encode($shoppingCartItems), 'real_charges' => $request->input('realCharges'), 'amount_off' => $request->input('amountOff'))); ShoppingCartItem::where('shopping_cart_id', $shoppingCart->id)->delete(); if (is_object($coupon)) { Coupon::where('id', $coupon->id)->update(['times_redeemed' => $coupon->times_redeemed + 1]); } $request->session()->forget('items'); $request->session()->put('itemsCtr', 0); }
/** * Run the database seeds. * * @return void */ public function run() { // # First, create an array of all the books we want to associate tags with # The *key* will be the book title, and the *value* will be an array of tags. $coupons = ['1' => ['*****@*****.**'], '2' => ['*****@*****.**'], '3' => ['*****@*****.**'], '4' => ['*****@*****.**']]; # Now loop through the above array, creating a new pivot for each book to tag foreach ($coupons as $id => $emails) { # First get the book $coupon = \App\Coupon::where('id', '=', $id)->first(); # Now loop through each tag for this book, adding the pivot foreach ($emails as $email) { $user = \App\User::where('email', 'LIKE', $email)->first(); # Connect this tag to this book $coupon->users()->save($user); } } }
public function subscribe(Request $request, $prefix) { $runner = Runner::find($request->session()->get('runner_id')); $type = $request->session()->get('type'); if ($runner->bib > 0) { return redirect($prefix . '/error'); } $race = $runner->race; if ($runner->payment->id == 1) { $transaction = Transaction::find($runner->ticket); if ($transaction->coupon != '') { $coupon = Coupon::where('coupon', $transaction->coupon)->first(); $coupon->redeem($runner->ticket, $runner->event_id, $runner->id); } $code = Code::makeDummy(); } else { $code = $runner->race->codes->where('code', $runner->ticket)->first(); if ($code->code == 'QWERTY69') { $code->event_id = 0; $code->status = 0; $code->bib = 0; $code->save(); } else { $code->redeem($runner->bib, $runner->event_id); } $transaction = Transaction::makeDummy(); } $size_name = $runner->size->name_short; $runner->size_name = $size_name; if ($race->assign_method == 'onAge') { $runner_age = $runner->race->ageOnRaceDate($runner->dob); $age_group = $runner->event->setAgeGroup($runner_age)->name; } else { $age_group = $runner->event->setYearGroup($runner->dob->year)->name; } $runner->age_group = $age_group; if ($type == 'elite') { $bib = $runner->event->generateElite(); } else { $bib = $runner->event->generateBib(); } $runner->bib = $bib; $runner->status = 1; $runner->save(); $runner->size->grabOneSize(); Mail::send('emails.confirmation', ['runner' => $runner, 'transaction' => $transaction, 'code' => $code], function ($message) use($runner) { $message->from($_ENV['MAIL_USERNAME'], 'Inscripciones ' . $runner->race->name . ' ' . $runner->race->date->year); $message->to($runner->mail, $name = null); $message->bcc($_ENV['MAIL_USERNAME'], $name = null); $message->subject('Bienvenido a ' . $runner->race->pre . ' ' . $runner->race->name . ' ' . $runner->race->date->year); }); return redirect($race->prefix . '/manifest')->with(['runner_id' => $runner->id]); }
public function updateCoupon(Request $request) { $couponCode = trim(strtoupper($request->get('coupon'))); if (!$couponCode) { return response()->json(['status' => 'error', 'message' => ''], 200); } $coupon = Coupon::where('title', $couponCode)->first(); if (!$coupon) { $request->session()->forget('coupon'); return response()->json(['status' => 'error', 'message' => 'Fann ekki þennan afsláttarkóða.'], 200); } $request->session()->put('coupon', $coupon->title); $this->updateCart($request); return response()->json(['status' => 'success', 'message' => $coupon->discount . '% afsláttur virkjaður'], 200); }
/** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { Article::where("category_id", $id)->delete(); Coupon::where("category_id", $id)->delete(); $category = Category::find($id); $category->delete(); return Redirect::route('admin.category.index'); }