Пример #1
0
 public static function getCurrent()
 {
     $couponCode = session()->get('coupon');
     if ($couponCode) {
         $coupon = \App\Coupon::where('title', $couponCode)->first();
         return $coupon;
     }
     return false;
 }
Пример #2
0
 /**
  * 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]);
     }
 }
Пример #4
0
 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);
         }
     }
 }
Пример #6
0
 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]);
 }
Пример #7
0
 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);
 }
Пример #8
0
 /**
  * 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');
 }