Merge pull request #7134 from turbo124/v5-develop

Fixes for contact login"
This commit is contained in:
David Bomba 2022-01-18 11:26:55 +11:00 committed by GitHub
commit 8a3c760593
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 49 additions and 21 deletions

View File

@ -100,10 +100,18 @@ class ContactForgotPasswordController extends Controller
if(Ninja::isHosted() && $company = Company::where('company_key', $request->input('company_key'))->first()) if(Ninja::isHosted() && $company = Company::where('company_key', $request->input('company_key'))->first())
{ {
$contact = ClientContact::where(['email' => $request->input('email'), 'company_id' => $company->id])->first(); $contact = ClientContact::where(['email' => $request->input('email'), 'company_id' => $company->id])
->whereHas('client', function ($query) {
$query->where('is_deleted',0);
})->first();
}
else {
$contact = ClientContact::where(['email' => $request->input('email')])
->whereHas('client', function ($query) {
$query->where('is_deleted',0);
})->first();
} }
else
$contact = ClientContact::where(['email' => $request->input('email')])->first();
$response = false; $response = false;

View File

@ -98,7 +98,10 @@ class ContactLoginController extends Controller
if(Ninja::isHosted() && $request->has('password') && $company = Company::where('company_key', $request->input('company_key'))->first()){ if(Ninja::isHosted() && $request->has('password') && $company = Company::where('company_key', $request->input('company_key'))->first()){
$contact = ClientContact::where(['email' => $request->input('email'), 'company_id' => $company->id])->first(); $contact = ClientContact::where(['email' => $request->input('email'), 'company_id' => $company->id])
->whereHas('client', function ($query) {
$query->where('is_deleted',0);
})->first();
if(!$contact) if(!$contact)
return $this->sendFailedLoginResponse($request); return $this->sendFailedLoginResponse($request);

View File

@ -15,6 +15,7 @@ use App\Http\Controllers\Controller;
use App\Libraries\MultiDB; use App\Libraries\MultiDB;
use App\Models\Account; use App\Models\Account;
use App\Models\Company; use App\Models\Company;
use App\Utils\Ninja;
use Illuminate\Foundation\Auth\ResetsPasswords; use Illuminate\Foundation\Auth\ResetsPasswords;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Http\RedirectResponse; use Illuminate\Http\RedirectResponse;
@ -55,10 +56,15 @@ class ResetPasswordController extends Controller
public function showResetForm(Request $request, $token = null) public function showResetForm(Request $request, $token = null)
{ {
$company = false;
if(Ninja::isHosted()){
MultiDB::findAndSetDbByCompanyKey($request->session()->get('company_key')); MultiDB::findAndSetDbByCompanyKey($request->session()->get('company_key'));
$company = Company::where('company_key', $request->session()->get('company_key'))->first(); $company = Company::where('company_key', $request->session()->get('company_key'))->first();
}
if($company) if($company)
$account = $company->account; $account = $company->account;
else else

View File

@ -35,7 +35,13 @@ class NinjaMailer extends Mailable
public function build() public function build()
{ {
return $this->from(config('mail.from.address'), config('mail.from.name')) $from_name = config('mail.from.name');
if(property_exists($this->mail_obj, 'from_name')){
$from_name = $this->mail_obj->from_name;
}
return $this->from(config('mail.from.address'), $from_name)
->subject($this->mail_obj->subject) ->subject($this->mail_obj->subject)
->view($this->mail_obj->markdown, $this->mail_obj->data) ->view($this->mail_obj->markdown, $this->mail_obj->data)
->withSwiftMessage(function ($message) { ->withSwiftMessage(function ($message) {

View File

@ -219,7 +219,7 @@ class NinjaMailerJob implements ShouldQueue
$google->getClient()->setAccessToken(json_encode($user->oauth_user_token)); $google->getClient()->setAccessToken(json_encode($user->oauth_user_token));
//need to slow down gmail requests otherwise we hit 429's //need to slow down gmail requests otherwise we hit 429's
sleep(1); sleep(rand(1,3));
} }
catch(\Exception $e) { catch(\Exception $e) {
$this->logMailError('Gmail Token Invalid', $this->company->clients()->first()); $this->logMailError('Gmail Token Invalid', $this->company->clients()->first());

View File

@ -22,6 +22,7 @@ class ClientContactResetPasswordObject
public $token; public $token;
private $company; private $company;
/** /**
* *
*/ */
@ -52,12 +53,19 @@ class ClientContactResetPasswordObject
'logo' => $this->company->present()->logo(), 'logo' => $this->company->present()->logo(),
]; ];
$email_from_name = config('mail.from.name');
if(property_exists($settings, 'email_from_name') && strlen($settings->email_from_name) > 1)
$email_from_name = $settings->email_from_name;
else
$email_from_name = $this->company->present()->name();
$mail_obj = new \stdClass; $mail_obj = new \stdClass;
$mail_obj->subject = ctrans('texts.your_password_reset_link'); $mail_obj->subject = ctrans('texts.your_password_reset_link');
$mail_obj->data = $data; $mail_obj->data = $data;
$mail_obj->markdown = 'email.client.generic'; $mail_obj->markdown = 'email.client.generic';
$mail_obj->tag = $this->company->company_key; $mail_obj->tag = $this->company->company_key;
$mail_obj->from_name = $email_from_name;
return $mail_obj; return $mail_obj;
} }

View File

@ -227,11 +227,11 @@ class BrowserPay implements MethodInterface
if(Ninja::isHosted()) if(Ninja::isHosted())
{ {
if($this->company_gateway->company->portal_mode == 'domain'){ if($this->stripe->company_gateway->company->portal_mode == 'domain'){
$domain = $this->company_gateway->company->portal_domain; $domain = $this->stripe->company_gateway->company->portal_domain;
} }
else{ else{
$domain = $this->company_gateway->company->subdomain . '.' . config('ninja.app_domain'); $domain = $this->stripe->company_gateway->company->subdomain . '.' . config('ninja.app_domain');
} }
} }

View File

@ -88,7 +88,7 @@ class UpdatePaymentMethods
], ],
$this->stripe->stripe_connect_auth); $this->stripe->stripe_connect_auth);
foreach($alipay_methods as $method) foreach($sofort_methods as $method)
{ {
$this->addOrUpdateCard($method, $customer->id, $client, GatewayType::SOFORT); $this->addOrUpdateCard($method, $customer->id, $client, GatewayType::SOFORT);
} }

View File

@ -97,12 +97,12 @@ return [
'strict' => env('DB_STRICT', false), 'strict' => env('DB_STRICT', false),
'engine' => 'InnoDB ROW_FORMAT=DYNAMIC', 'engine' => 'InnoDB ROW_FORMAT=DYNAMIC',
// 'options' => Ninja::isHosted() ? config('ninja.db_options') : [], // 'options' => Ninja::isHosted() ? config('ninja.db_options') : [],
'options' => [ // 'options' => [
PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false, // PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false,
PDO::MYSQL_ATTR_SSL_KEY => env("DB_CLIENT_KEY", ''), // PDO::MYSQL_ATTR_SSL_KEY => env("DB_CLIENT_KEY", ''),
PDO::MYSQL_ATTR_SSL_CERT => env("DB_CLIENT_CERT", ''), // PDO::MYSQL_ATTR_SSL_CERT => env("DB_CLIENT_CERT", ''),
PDO::MYSQL_ATTR_SSL_CA => env("DB_CA_CERT", ''), // PDO::MYSQL_ATTR_SSL_CA => env("DB_CA_CERT", ''),
], // ],
], ],
'db-ninja-01a' => [ 'db-ninja-01a' => [
@ -118,7 +118,6 @@ return [
'prefix_indexes' => true, 'prefix_indexes' => true,
'strict' => env('DB_STRICT', false), 'strict' => env('DB_STRICT', false),
'engine' => 'InnoDB ROW_FORMAT=DYNAMIC', 'engine' => 'InnoDB ROW_FORMAT=DYNAMIC',
'ssl_mode' => env('SSL_MODE',''), //required
// 'options' => Ninja::isHosted() ? config('ninja.db_options') : [], // 'options' => Ninja::isHosted() ? config('ninja.db_options') : [],
], ],
@ -135,7 +134,6 @@ return [
'prefix_indexes' => true, 'prefix_indexes' => true,
'strict' => env('DB_STRICT', false), 'strict' => env('DB_STRICT', false),
'engine' => 'InnoDB ROW_FORMAT=DYNAMIC', 'engine' => 'InnoDB ROW_FORMAT=DYNAMIC',
'ssl_mode' => env('SSL_MODE',''),
// 'options' => Ninja::isHosted() ? config('ninja.db_options') : [], // 'options' => Ninja::isHosted() ? config('ninja.db_options') : [],
], ],
@ -152,7 +150,6 @@ return [
'prefix_indexes' => true, 'prefix_indexes' => true,
'strict' => env('DB_STRICT', false), 'strict' => env('DB_STRICT', false),
'engine' => 'InnoDB ROW_FORMAT=DYNAMIC', 'engine' => 'InnoDB ROW_FORMAT=DYNAMIC',
'ssl_mode' => env('SSL_MODE',''),
// 'options' => Ninja::isHosted() ? config('ninja.db_options') : [], // 'options' => Ninja::isHosted() ? config('ninja.db_options') : [],
], ],
], ],