diff --git a/app/Http/Controllers/Auth/ContactRegisterController.php b/app/Http/Controllers/Auth/ContactRegisterController.php index a88efd10ee1e..4b7c9f8883af 100644 --- a/app/Http/Controllers/Auth/ContactRegisterController.php +++ b/app/Http/Controllers/Auth/ContactRegisterController.php @@ -18,12 +18,15 @@ use App\Http\Requests\ClientPortal\RegisterRequest; use App\Models\Client; use App\Models\Company; use App\Utils\Ninja; +use App\Utils\Traits\GeneratesCounter; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\App; class ContactRegisterController extends Controller { + use GeneratesCounter; + public function __construct() { $this->middleware(['guest']); @@ -61,6 +64,16 @@ class ContactRegisterController extends Controller $client->fill($data); $client->save(); + $client->number = $this->getNextClientNumber($client); + $client->save(); + + if(!$client->country_id && strlen($client->company->settings->country_id) > 1){ + + $client->update(['country_id' => $client->company->settings->country_id]); + + } + + $this->getClientContact($data, $client); return $client; } diff --git a/app/Http/Middleware/ContactRegister.php b/app/Http/Middleware/ContactRegister.php index 9ec5805a3247..1ada8e1c56cb 100644 --- a/app/Http/Middleware/ContactRegister.php +++ b/app/Http/Middleware/ContactRegister.php @@ -44,30 +44,36 @@ class ContactRegister } - $query = [ - 'portal_domain' => $request->getSchemeAndHttpHost(), - 'portal_mode' => 'domain', - ]; - - if($company = Company::where($query)->first()) + if(Ninja::isHosted()) { + $query = [ + 'portal_domain' => $request->getSchemeAndHttpHost(), + 'portal_mode' => 'domain', + ]; - if(! $company->client_can_register) - abort(400, 'Registration disabled'); + if($company = Company::where($query)->first()) + { - // $request->merge(['key' => $company->company_key]); - session()->put('company_key', $company->company_key); + if(! $company->client_can_register) + abort(400, 'Registration disabled'); + + // $request->merge(['key' => $company->company_key]); + session()->put('company_key', $company->company_key); + + return $next($request); + } - return $next($request); } // For self-hosted platforms with multiple companies, resolving is done using company key // if it doesn't resolve using a domain. - if ($request->route()->parameter('company_key') && Ninja::isSelfHost()) { + + if ($request->company_key && Ninja::isSelfHost()) { + $company = Company::where('company_key', $request->company_key)->firstOrFail(); - if(! (bool)$company->client_can_register); + if(! (bool)$company->client_can_register) abort(400, 'Registration disabled'); //$request->merge(['key' => $company->company_key]); diff --git a/app/PaymentDrivers/GoCardlessPaymentDriver.php b/app/PaymentDrivers/GoCardlessPaymentDriver.php index 1cb6e2fb8183..181998e0367e 100644 --- a/app/PaymentDrivers/GoCardlessPaymentDriver.php +++ b/app/PaymentDrivers/GoCardlessPaymentDriver.php @@ -153,7 +153,7 @@ class GoCardlessPaymentDriver extends BaseDriver 'gateway_type_id' => GatewayType::BANK_TRANSFER, ]; - $payment = $this->createPayment($data, Payment::STATUS_COMPLETED); + $payment = $this->createPayment($data, Payment::STATUS_PENDING); SystemLogger::dispatch( ['response' => $payment, 'data' => $data], @@ -242,7 +242,6 @@ class GoCardlessPaymentDriver extends BaseDriver } - foreach ($request->events as $event) { if ($event['action'] === 'confirmed') { $payment = Payment::query() diff --git a/resources/views/portal/ninja2020/auth/register.blade.php b/resources/views/portal/ninja2020/auth/register.blade.php index 3e8771022361..214157bd5b25 100644 --- a/resources/views/portal/ninja2020/auth/register.blade.php +++ b/resources/views/portal/ninja2020/auth/register.blade.php @@ -40,7 +40,7 @@ class="input w-full" type="email" name="{{ $field['key'] }}" - value="{{ old($field['key']) }}" + value="" {{ $field['required'] ? 'required' : '' }} /> @elseif($field['key'] === 'password')