1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-10 21:22:58 +01:00

Merge pull request #5797 from turbo124/v5-develop

Fixes for MultiDB UserController
This commit is contained in:
David Bomba 2021-05-24 10:41:46 +10:00 committed by GitHub
commit d01d460a58
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 11 deletions

View File

@ -181,14 +181,16 @@ class BillingPortalPurchase extends Component
{
$this->validate();
$contact = ClientContact::where('email', $this->email)->first();
$contact = ClientContact::where('email', $this->email)
->where('company_id', $this->subscription->company_id)
->first();
if ($contact && $this->steps['existing_user'] === false) {
return $this->steps['existing_user'] = true;
}
if ($contact && $this->steps['existing_user']) {
$attempt = Auth::guard('contact')->attempt(['email' => $this->email, 'password' => $this->password]);
$attempt = Auth::guard('contact')->attempt(['email' => $this->email, 'password' => $this->password, 'company_id' => $this->subscription->company_id]);
return $attempt
? $this->getPaymentMethods($contact)

View File

@ -49,7 +49,6 @@ class TokenAuth
| us to decouple a $user and their attached companies completely.
|
*/
$user->setCompany($company_token->company);
app('queue')->createPayloadUsing(function () use ($company_token) {
return ['db' => $company_token->company->db];
@ -67,6 +66,7 @@ class TokenAuth
//stateless, don't remember the user.
auth()->login($user, false);
auth()->user()->setCompany($company_token->company);
} else {
$error = [

View File

@ -159,8 +159,6 @@ class User extends Authenticatable implements MustVerifyEmail
*/
public function setCompany($company)
{
// config(['ninja.company_id' => $company->id]);
$this->company = $company;
}
@ -170,16 +168,17 @@ class User extends Authenticatable implements MustVerifyEmail
public function getCompany()
{
if (request()->header('X-API-TOKEN')) {
$company_token = CompanyToken::with(['company'])->whereRaw('BINARY `token`= ?', [request()->header('X-API-TOKEN')])->first();
return $company_token->company;
}
elseif ($this->company){
if ($this->company){
return $this->company;
}
elseif (request()->header('X-API-TOKEN')) {
$company_token = CompanyToken::with(['company'])->whereRaw('BINARY `token`= ?', [request()->header('X-API-TOKEN')])->first();
return $company_token->company;
}
// return false;
throw new \Exception('No Company Found');