public function apply(Request $request) { $code = $request->input('coupon'); $coupon = Coupon::ofCode($code); $status = is_object($coupon) ? $coupon->validateCoupon() : $coupon; return is_object($status) ? $coupon->toJson() : response()->json(['error' => $status]); }
/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(Request $request) { $length = $request->input('length'); $nb_coupons = $request->input('nb_coupons'); // setting up characters for coupon code for ($i = 0; $i < $nb_coupons; $i++) { $coupon = new Coupon(); $coupon->description = $request->input('description'); $coupon->discount = $request->input('discount'); $coupon->code = $this->generate($length); $coupon->start_date = $request->input('startdate'); $coupon->end_date = $request->input('enddate'); $coupon->save(); } return redirect()->route('coupons.index'); }
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 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); }
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 getCouponget(Request $request, $page = 1) { $user = $request->user(); $res = ['response' => 'YES', 'status' => 0]; $coupons = Coupon::apiGet($page, 10); if (is_array($coupons)) { $res['status'] = 1; if (count($coupons) > 0) { $res['html'] = view('auth.account.templet.coupon', ['user' => $user, 'coupons' => $coupons])->render(); } else { $res['html'] = ''; } } else { $res['msgError'] = '加载失败,请稍后再试'; } return response()->json($res); }
/** * 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 getDoDelete($coupon_id) { $coupon = \App\Coupon::find($coupon_id); if (is_null($coupon)) { \Session::flash('flash_message', 'Coupon not found.'); return redirect('\\coupons'); } if ($coupon->users()) { $coupon->users()->detach(); } $coupon->delete(); \Session::flash('flash_message', $coupon->name_of_store . ' ' . $coupon->description . ' was deleted.'); return redirect('/coupons'); }
public function editCoupon($id) { $coupon = Coupon::find($id); return view('admin.editCoupon', compact('coupon')); }
/** * Define your route model bindings, pattern filters, etc. * * @param \Illuminate\Routing\Router $router * @return void */ public function boot(Router $router) { parent::boot($router); // $router->model('user' , 'App\User'); $router->bind('user', function ($value) { return User::with('roles')->findOrFail($value); }); /** * created by dara on 6/9/2015 * add binding for admin wild card */ $router->bind('admin', function ($value) { return User::with('roles')->findOrFail($value); }); /** * Created by Emad Mirzaie on 09/09/2015. * province wild cart */ $router->model('province', 'App\\Province'); $router->model('city', 'App\\Province'); $router->model('university', 'App\\University'); $router->model('article', 'App\\Article'); $router->model('post', 'App\\Post'); $router->model('category', 'App\\Category'); $router->model('sub_category', 'App\\Category'); $router->model('skill', 'App\\Skill'); $router->model('profile', 'App\\User'); $router->model('comment', 'App\\Comment'); $router->model('poll', 'App\\Poll'); $router->model('questionnaire', 'App\\Questionnaire'); $router->model('coupon_user', 'App\\CouponUser'); $router->model('showcase', 'App\\Showcase'); $router->model('sticky', 'App\\Sticky'); /** * Created By Dara on 22/10/2015 */ // $router->bind('offer',function($value){ // return Offer::findOrFail($value); // }); $router->bind('service', function ($value) { return CouponGallery::findOrFail($value); }); $router->bind('coupon', function ($value) { return Coupon::findOrFail($value); }); $router->bind('group', function ($value) { return Group::findOrFail($value); }); $router->bind('problem', function ($value) { return Problem::findOrFail($value); }); $router->model('offer', 'App\\Offer'); $router->model('shop', 'App\\Shop'); $router->model('product', 'App\\Product'); $router->bind('event', function ($value) { return Event::findOrFail($value); }); $router->bind('settle', function ($value) { return Settle::findOrFail($value); }); $router->bind('report', function ($value) { return Report::findOrFail($value); }); $router->bind('corporation', function ($value) { return Corporation::findOrFail($value); }); /** * Created By Dara on 25/12/2015 */ $router->bind('announcement', function ($value) { return Announcement::findOrFail($value); }); $router->bind('storage', function ($value) { return Storage::findOrFail($value); }); $router->bind('role', function ($value) { return Role::findOrFail($value); }); }
<?php use App\Coupon; get('/', function () { return view('store.checkout'); }); get('checkout', function () { return view('store.checkout'); }); // API get('api/coupons/{code}', function ($code) { return Coupon::whereCode($code)->firstOrFail(); });
/** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { $coupon = Coupon::findOrFail($id); $coupon->delete(); return Redirect::route('admin.coupon.index'); }
public function run() { \App\Coupon::create(['id' => md5(microtime()), 'code' => 'blackfriday25', 'type' => 'onetime', 'description' => 'whole store 25 percentage off on black friday.', 'percent_off' => 25, 'amount_off' => 0.0, 'expire_at' => date('Y-m-d H:i:s', time() + 365 * 24 * 60 * 60), 'times_redeemed' => 0]); \App\Coupon::create(['id' => md5(microtime()), 'code' => 'cybermonday10', 'type' => 'repeating', 'description' => 'whole store 10 percentage off on cyber monday.', 'percent_off' => 10, 'amount_off' => 0.0, 'expire_at' => date('Y-m-d H:i:s', time() + 365 * 24 * 60 * 60), 'times_redeemed' => 0]); }
Route::get('/article/detail/{id}', array('uses' => 'ArticleController@showPublic')); Route::get('/index', function () { $coupons = Coupon::all(); return View::make('index')->with('coupons', $coupons); }); Route::get('/admin', 'UserController@getAdminLogin'); Route::post('/admin', 'UserController@postAdminLogin'); Route::get('/logout', 'UserController@getLogout'); Route::get('/admin/dashboard', function () { return view('admin.content'); }); Route::model('articles', 'Article'); Route::model('merchants', 'Merchant'); Route::model('coupons', 'Coupon'); Route::model('categories', 'Category'); Route::bind('articles', function ($value, $route) { return App\Article::whereSlug($value)->first(); }); Route::bind('merchants', function ($value, $route) { return App\Merchant::whereSlug($value)->first(); }); Route::bind('coupons', function ($value, $route) { return App\Coupon::whereSlug($value)->first(); }); Route::bind('categories', function ($value, $route) { return App\Category::whereSlug($value)->first(); }); Route::resource('admin/article', 'ArticleController'); Route::resource('admin/merchant', 'MerchantController'); Route::resource('admin/coupon', 'CouponController'); Route::resource('admin/category', 'CategoryController');
/** * Display the specified resource for coupons. * * @param int $id * @return \Illuminate\Http\Response */ public function showCategoryModal($id) { $coupon = Coupon::find($id); $merchant = Coupon::find($id)->merchant; $articles = Article::all(); return view('modal')->with('coupon', $coupon)->with('articles', $articles)->with('merchant', $merchant); }
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]); }
/** * save articles for a page which display list. * @param $url * @param $category_id */ protected function saveCoupons($url, $category_id) { $response = $this->crawlerLink($url); $crawler = new Crawler($response); $coupons = $crawler->filter('div#show_coupons > article'); $data = []; foreach ($coupons as $i => $item) { $itemCrawler = new Crawler($item); $temp = $itemCrawler->filter('div.col-md-10 > div.shop-at > a')->attr('href'); $temp = str_replace('http://www.mostcoupon.com/', '', $temp); $temp = str_replace('-coupons', '', $temp); $store = Store::where('slug', trim($temp))->first(); if (!$store) { $name = $itemCrawler->filter('div.col-md-10 > div.shop-at > a')->text(); $image = $itemCrawler->filter('div.logo > img')->attr('src'); $image = $this->downloadImage($image); $store = Store::create(['name' => $name, 'logo' => $image, 'category_id' => $category_id]); } $data[$i]['event_id'] = 1; $data[$i]['store_id'] = $store->id; $data[$i]['title'] = $itemCrawler->filter('div.col-md-10 > p.title')->text(); try { $expired = $itemCrawler->filter('div.col-md-10 > div.expries > span.note')->text(); $data[$i]['expired_date'] = str_replace('End: ', '', $expired); } catch(InvalidArgumentException $e) {} try { $data[$i]['coupon_code'] = $itemCrawler->filter('div.get-code > div.action-mask div.action-wrap > p')->text(); $data[$i]['coupon_type'] = 'code'; } catch (InvalidArgumentException $e) { if ($itemCrawler->filter('div.get-code > div.action-mask > span.action')->text() == 'Free Shipping') { $data[$i]['coupon_type'] = 'ship'; } else { $data[$i]['coupon_type'] = 'deal'; } } $data[$i]['desc'] = $itemCrawler->filter('div.description > p.description')->html(); $temp = $itemCrawler->filter('div.information > span.expries')->text(); $data[$i]['published_date'] = str_replace('Publish: ', '', $temp); try { Coupon::create($data[$i]); } catch(QueryException $e) { } } }
public function delete(Request $request) { Coupon::find($request->input('id'))->delete(); return 'done'; }
public function adminBuyerIndex(User $user, Offer $offer, CouponGallery $service, Coupon $coupon) { $buyers = $coupon->coupon_user()->paginate(20); return view('admin.offer.service.coupon.buyer.index', compact('user', 'offer', 'service', 'coupon', 'buyers'))->with(['title' => 'Coupon Buyers Management']); }
public function destroy($id) { $item = Coupon::find($id); $item->delete(); return redirect()->action('CouponController@index'); }
public function updateCart(Request $request) { $items = $request->get('items'); $rowids = []; foreach ($items as $item) { $rowids[] = $item['rowid']; $coupon = Coupon::getCurrent(); $product = \App\Product::find($item['id']); if ($product) { \Cart::update($item['rowid'], ['price' => $product->price]); if ($coupon) { $price = ceil(abs($product->price - $product->price * ($coupon->discount / 100))); \Cart::update($item['rowid'], ['price' => $price]); } } \Cart::update($item['rowid'], $item['qty']); } // Fjarlægjum vörur sem ekki lengur eru í körfunni foreach (\Cart::content() as $rowid => $item) { if (!in_array($rowid, $rowids)) { \Cart::remove($item['rowid']); } } return response()->json('success', 200); }
public function getBanner() { return Response::json(Coupon::getBanner()); }