public function updateProPlanPaid($clientPublicId, $proPlanPaid)
 {
     $account = Account::whereId($clientPublicId)->first();
     if (!$account) {
         return;
     }
     $account->pro_plan_paid = $proPlanPaid;
     $account->save();
 }
 public function updatePlanDetails($clientPublicId, $data)
 {
     $account = Account::whereId($clientPublicId)->first();
     if (!$account) {
         return;
     }
     $company = $account->company;
     $company->plan = !empty($data['plan']) && $data['plan'] != PLAN_FREE ? $data['plan'] : null;
     $company->plan_term = !empty($data['plan_term']) ? $data['plan_term'] : null;
     $company->plan_paid = !empty($data['plan_paid']) ? $data['plan_paid'] : null;
     $company->plan_started = !empty($data['plan_started']) ? $data['plan_started'] : null;
     $company->plan_expires = !empty($data['plan_expires']) ? $data['plan_expires'] : null;
     $company->save();
 }
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next, $guard = 'user')
 {
     $authenticated = Auth::guard($guard)->check();
     if ($guard == 'client' && !empty($request->invitation_key)) {
         $old_key = session('invitation_key');
         if ($old_key && $old_key != $request->invitation_key) {
             if ($this->getInvitationContactId($old_key) != $this->getInvitationContactId($request->invitation_key)) {
                 // This is a different client; reauthenticate
                 $authenticated = false;
                 Auth::guard($guard)->logout();
             }
         }
         Session::put('invitation_key', $request->invitation_key);
     }
     if ($guard == 'client') {
         $invitation_key = session('invitation_key');
         $account_id = $this->getInvitationAccountId($invitation_key);
         if (Auth::guard('user')->check() && Auth::user('user')->account_id === $account_id) {
             // This is an admin; let them pretend to be a client
             $authenticated = true;
         }
         // Does this account require portal passwords?
         $account = Account::whereId($account_id)->first();
         if ($account && (!$account->enable_portal_password || !$account->hasFeature(FEATURE_CLIENT_PORTAL_PASSWORD))) {
             $authenticated = true;
         }
         if (!$authenticated) {
             $contact = Contact::whereId($this->getInvitationContactId($invitation_key))->first();
             if ($contact && !$contact->password) {
                 $authenticated = true;
             }
         }
     }
     if (!$authenticated) {
         if ($request->ajax()) {
             return response('Unauthorized.', 401);
         } else {
             return redirect()->guest($guard == 'client' ? '/client/login' : '/login');
         }
     }
     return $next($request);
 }
示例#4
0
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int      $id
  * @return Response
  */
 public function edit($publicId)
 {
     $client = Client::scope($publicId)->with('contacts')->firstOrFail();
     $data = ['client' => $client, 'method' => 'PUT', 'url' => 'clients/' . $publicId, 'title' => trans('texts.edit_client')];
     $data = array_merge($data, self::getViewModel());
     if (Auth::user()->account->isNinjaAccount()) {
         if ($account = Account::whereId($client->public_id)->first()) {
             $data['proPlanPaid'] = $account['pro_plan_paid'];
         }
     }
     return View::make('clients.edit', $data);
 }
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int      $id
  * @return Response
  */
 public function edit(ClientRequest $request)
 {
     $client = $request->entity();
     $data = ['client' => $client, 'method' => 'PUT', 'url' => 'clients/' . $client->public_id, 'title' => trans('texts.edit_client')];
     $data = array_merge($data, self::getViewModel());
     if (Auth::user()->account->isNinjaAccount()) {
         if ($account = Account::whereId($client->public_id)->first()) {
             $data['planDetails'] = $account->getPlanDetails(false, false);
         }
     }
     return View::make('clients.edit', $data);
 }
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int      $id
  * @return Response
  */
 public function edit($publicId)
 {
     $vendor = Vendor::scope($publicId)->with('vendorcontacts')->firstOrFail();
     if (!$this->checkEditPermission($vendor, $response)) {
         return $response;
     }
     $data = ['vendor' => $vendor, 'method' => 'PUT', 'url' => 'vendors/' . $publicId, 'title' => trans('texts.edit_vendor')];
     $data = array_merge($data, self::getViewModel());
     if (Auth::user()->account->isNinjaAccount()) {
         if ($account = Account::whereId($vendor->public_id)->first()) {
             $data['proPlanPaid'] = $account['pro_plan_paid'];
         }
     }
     return View::make('vendors.edit', $data);
 }