public static function online($user_id, $plan_id) { $input = ['plan_id' => $plan_id, 'validity' => 1, 'validity_unit' => 'Day', 'count' => 1]; try { DB::transaction(function () use($input, $user_id) { $pins = Voucher::generate($input); return self::now(current($pins), $user_id, 'online'); }); } catch (Illuminate\Database\Eloquent\ModelNotFoundException $e) { Notification::error($e->getMessage()); } }
public function postGenerate() { $input = Input::all(); //validate input $rules = Config::get('validations.generate_vouchers'); $v = Validator::make($input, $rules); $v->setAttributeNames(Config::get('attributes.generate_vouchers')); if ($v->fails()) { return Redirect::back()->withInput()->withErrors($v); } try { DB::transaction(function () use($input) { if (!Voucher::generate($input)) { throw new Exception("Failed to generate vouchers."); } }); $this->notifySuccess("Generated {$input['count']} vouchers valid for {$input['validity']} {$input['validity_unit']}."); return Redirect::route(self::HOME); } catch (Exception $e) { $this->notifyError($e->getMessage()); return Redirect::route(self::HOME); } }