/** * Created By Dara on 30/10/2015 * check if the coupon is valid or not by expired_at */ public function getValidAttribute() { $coupon = CouponGallery::where('id', $this->attributes['coupon_gallery_id'])->firstOrFail(); $expired_at = $coupon->expired_at; if ($expired_at >= Carbon::now()) { return true; } else { return false; } }
public function create(Request $request, Offer $offer) { if ($request->user()->cannot('edit-offer', [$offer])) { abort(403); } $this->validate($request, ['offer' => 'required|integer', 'num' => 'required|integer|min:1', 'title' => 'required|min:3', 'description' => 'required|min:3', 'real_amount' => 'required|integer', 'pay_amount' => 'required|integer']); $user = Auth::user(); $input = $request->all(); //check if the service is valid or not $service = CouponGallery::where('id', $input['offer'])->firstOrFail(); if ($service->expired_at < Carbon::now()) { abort(403); } $coupon = $user->coupons()->create(['offer_id' => $offer->id, 'coupon_gallery_id' => $input['offer'], 'title' => $input['title'], 'description' => $input['description'], 'real_amount' => $input['real_amount'], 'pay_amount' => $input['pay_amount'], 'num' => $input['num']]); return ['hasCallback' => '1', 'callback' => 'service_coupon', 'hasMsg' => 0, 'msg' => '', 'returns' => $offer->coupons()->with('coupon_gallery')->get()]; }
/** * 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); }); }
public function adminCouponIndex(User $user, Offer $offer, CouponGallery $service) { $coupons = $service->coupons()->paginate(20); return view('admin.offer.service.coupon.index', compact('user', 'offer', 'service', 'coupons'))->with(['title' => 'Offer Service Coupon Management']); }