示例#1
0
 /**
  * Verify the incoming request's user belongs to team.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return \Illuminate\Http\Response
  */
 public function handle($request, $next)
 {
     if (Spark::usesTeams() && $request->user() && !$request->user()->hasTeams()) {
         return redirect('missing-team');
     }
     return $next($request);
 }
示例#2
0
 /**
  * {@inheritdoc}
  */
 public function validator($request)
 {
     $validator = $this->baseValidator($request);
     $validator->sometimes('team', 'required|max:255', function ($input) {
         return Spark::usesTeams() && !isset($input['invitation']);
     });
     return $validator;
 }
示例#3
0
 /**
  * Create the user for the new registration.
  *
  * @param  RegisterRequest  $request
  * @return \Illuminate\Contracts\Auth\Authenticatable
  */
 protected function createUser(RegisterRequest $request)
 {
     $user = Spark::interact(CreateUserContract::class, [$request]);
     if (Spark::usesTeams()) {
         $this->configureTeamForNewUser($request, $user);
     }
     return $user;
 }
示例#4
0
 /**
  * Load the relationships for the given user.
  *
  * @param  \Illuminate\Contracts\Auth\Authenticatable  $user
  * @return \Illuminate\Contracts\Auth\Authenticatable
  */
 protected function loadUserRelationships($user)
 {
     $user->load('subscriptions');
     if (Spark::usesTeams()) {
         $user->load(['ownedTeams.subscriptions', 'teams.subscriptions']);
         $user->currentTeam();
     }
     return $user;
 }
 /**
  * {@inheritdoc}
  */
 public function totalRevenueForUser($user)
 {
     $teamIds = Spark::usesTeams() ? $user->teams->pluck('id')->all() : [];
     return DB::table('invoices')->where('user_id', $user->id)->orWhereIn('team_id', $teamIds)->sum('total');
 }
 /**
  * Get the default JavaScript variables for Spark.
  *
  * @return array
  */
 public static function scriptVariables()
 {
     return ['braintreeMerchantId' => config('services.braintree.merchant_id'), 'braintreeToken' => Spark::billsUsingBraintree() ? BraintreeClientToken::generate() : null, 'cardUpFront' => Spark::needsCardUpFront(), 'collectsBillingAddress' => Spark::collectsBillingAddress(), 'collectsEuropeanVat' => Spark::collectsEuropeanVat(), 'csrfToken' => csrf_token(), 'currencySymbol' => Cashier::usesCurrencySymbol(), 'env' => config('app.env'), 'roles' => Spark::roles(), 'state' => Spark::call(InitialFrontendState::class . '@forUser', [Auth::user()]), 'stripeKey' => config('services.stripe.key'), 'userId' => Auth::id(), 'usesApi' => Spark::usesApi(), 'usesBraintree' => Spark::billsUsingBraintree(), 'usesTeams' => Spark::usesTeams(), 'usesStripe' => Spark::billsUsingStripe()];
 }
 /**
  * Get the current team for the user.
  *
  * @param  \Illuminate\Contracts\Auth\Authenticatable  $user
  * @return \Laravel\Spark\Team|null
  */
 protected function currentTeam($user)
 {
     if (Spark::usesTeams() && $user->currentTeam()) {
         return Spark::interact(TeamRepository::class . '@find', [$user->currentTeam()->id]);
     }
 }