/**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if (empty($request->user()->is_admin)) {
         Flash::danger('You don\'t have permission to access this area.');
         return redirect('/login');
     }
     return $next($request);
 }
Example #2
0
 /**
  * Render an exception into an HTTP response.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Exception  $e
  * @return \Illuminate\Http\Response
  */
 public function render($request, Exception $e)
 {
     $prefix = !is_null($request->route()) ? $request->route()->getAction()['prefix'] : NULL;
     if ($e instanceof \Illuminate\Database\Eloquent\ModelNotFoundException) {
         if ($prefix != '/api/v1') {
             Flash::danger('The resource you are looking for could not be found.');
             return response()->view('errors.404', array(), 404);
         } else {
             return response()->json(['error' => 'Resource not found'], 400);
         }
     }
     if ($e instanceof \App\Exceptions\LambdaException && getenv('APP_ENV') !== 'local') {
         Flash::danger('An error occurred: ' . $e->getMessage());
         Log::error($e->getPrevious());
         return redirect()->home();
     }
     if ($e instanceof \PDOException) {
         return response()->view('errors.500');
     }
     if ($request->wantsJson()) {
         // Define the response
         $response = ['errors' => 'Sorry, something went wrong.'];
         // If the app is in debug mode
         if (config('app.debug')) {
             // Add the exception class name, message and stack trace to response
             $response['exception'] = get_class($e);
             // Reflection might be better here
             $response['message'] = $e->getMessage();
             $response['trace'] = $e->getTrace();
         }
         // Default response of 400
         $status = 400;
         // If this exception is an instance of HttpException
         if ($this->isHttpException($e)) {
             // Grab the HTTP status code from the Exception
             $status = $e->getStatusCode();
         }
         // Return a JSON response with the response array and status code
         return response()->json($response, $status);
     }
     if ($e instanceof \Tymon\JWTAuth\Exceptions\TokenExpiredException) {
         return response()->json(['Token expired'], $e->getStatusCode());
     } else {
         if ($e instanceof \Tymon\JWTAuth\Exceptions\TokenInvalidException) {
             return response()->json(['Token invalid'], $e->getStatusCode());
         }
     }
     return parent::render($request, $e);
 }
Example #3
0
 public function subscribe(Request $request)
 {
     $this->validate($request, ['phone_number' => 'required']);
     Sms::create(['phone_number' => $request->get('phone_number')]);
     $client = new Services_Twilio(env('TWILIO_SID'), env('TWILIO_AUTH'));
     try {
         $sms = $client->account->messages->sendMessage('508-9-LAMBDA', $request->get('phone_number'), 'Thank you for subscribing to Lambda SMS at 508-9-LAMBDA. We\'ll keep you up to date. Text STOP to unsubscribe.');
         Flash::success('You have been successfully subscribed');
         return back();
     } catch (Services_Twilio_RestException $e) {
         Flash::danger($e->getMessage());
         return back();
     }
 }
 protected function getResetFailureResponse(Request $request, $response)
 {
     Flash::danger(trans($response));
     return redirect()->back()->withInput($request->only('email'));
 }
 public function postChangePlan(Request $request, StripeBilling $billing)
 {
     $customerId = Auth::user()->customer_id;
     $planChanged = false;
     if (!empty($customerId)) {
         $newPlan = MembershipPlan::where('slug', $request->get('membership_plan'))->firstOrFail();
         $planChanged = $billing->updatePlan($customerId, $newPlan->slug);
         $user = Auth::user();
         $user->plan_id = $newPlan->id;
         $user->save();
     }
     if ($planChanged) {
         Flash::success('Your plan was successfully changed. You have been billed at the new rate.');
     } else {
         Flash::danger('We have no card on file for you.');
     }
     return redirect('dashboard');
 }
Example #6
0
 public function permissions(Request $request)
 {
     try {
         $permission = Permission::find($request->get('permission_id'));
         $role = Role::find($request->get('role_id'));
         $role->givePermissionTo($permission);
         Flash::success('The permission "' . $permission->permission_name . '" was successfully assigned to the role "' . $role->role_name . '"');
     } catch (\Exception $e) {
         Flash::danger('The relationship you specified already exists: ' . $e->getMessage());
     }
     return back();
 }
Example #7
0
 protected function sendLockoutResponse(Request $request)
 {
     $seconds = app(RateLimiter::class)->availableIn($this->getThrottleKey($request));
     Flash::danger($this->getLockoutErrorMessage($seconds));
     return redirect()->back()->withInput($request->only($this->loginUsername(), 'remember'));
 }
 public function postDonate($type, Request $request, StripeBilling $billing, Email $mailer, ReceiptMailer $receipt)
 {
     $this->validate($request, ['first_name' => 'required', 'last_name' => 'required', 'email' => 'required|email', 'amount' => 'required|integer']);
     $amount = str_replace('$', '', $request->get('amount'));
     $amount = round($amount) * 100;
     try {
         $charge = $billing->donate(array('amount' => $amount, 'email' => $request->get('email'), 'stripe-token' => $request->get('stripe-token')));
     } catch (\Exception $e) {
         Flash::danger($e->getMessage());
         return redirect()->refresh();
     }
     if (!empty($charge['created'])) {
         if (empty($request->get('anonymous'))) {
             $data = ['charge_id' => $charge['id'], 'name' => $request->get('first_name') . ' ' . $request->get('last_name'), 'email' => $request->get('email'), 'company' => $request->get('company'), 'street_address' => $request->get('address1') . ' ' . $request->get('address2'), 'city' => $request->get('city'), 'state' => $request->get('state_province'), 'zip' => $request->get('postal_code'), 'amount' => $amount];
             Donation::create($data);
             $data['type'] = $type;
             $data['view'] = 'emails.donations.notification';
             $data['recipient'] = env('MEMBERSHIP_EMAIL');
             $data['subject'] = 'Donation from ' . $request->get('first_name') . ' ' . $request->get('last_name');
             $mailer->send($data);
             $receipt->sendDonationReceipt($data);
         }
     }
     Flash::success('Thank you for your generosity. You will receipt your receipt via email.');
     return redirect()->home();
 }