diff --git a/app/Http/Middleware/CheckClientExistence.php b/app/Http/Middleware/CheckClientExistence.php index 1a80fb9082d3..a80dc0496543 100644 --- a/app/Http/Middleware/CheckClientExistence.php +++ b/app/Http/Middleware/CheckClientExistence.php @@ -29,6 +29,7 @@ class CheckClientExistence public function handle(Request $request, Closure $next) { $multiple_contacts = ClientContact::query() + ->with('company','client') ->where('email', auth('contact')->user()->email) ->whereNotNull('email') ->where('email', '<>', '') diff --git a/app/Http/Requests/ClientGatewayToken/StoreClientGatewayTokenRequest.php b/app/Http/Requests/ClientGatewayToken/StoreClientGatewayTokenRequest.php index 0ebed562e190..433165940eb9 100644 --- a/app/Http/Requests/ClientGatewayToken/StoreClientGatewayTokenRequest.php +++ b/app/Http/Requests/ClientGatewayToken/StoreClientGatewayTokenRequest.php @@ -37,8 +37,9 @@ class StoreClientGatewayTokenRequest extends Request public function rules() { + //ensure client is present $rules = [ - 'client_id' => 'required', + 'client_id' => 'required|exists:clients,id,company_id,'.auth()->user()->company()->id, 'company_gateway_id' => 'required', 'gateway_type_id' => 'required|integer', 'meta' => 'required', diff --git a/app/Models/ClientGatewayToken.php b/app/Models/ClientGatewayToken.php index 3ff2b3a40a40..cd3d2733602d 100644 --- a/app/Models/ClientGatewayToken.php +++ b/app/Models/ClientGatewayToken.php @@ -35,6 +35,7 @@ class ClientGatewayToken extends BaseModel 'gateway_customer_reference', 'gateway_type_id', 'meta', + 'client_id', ]; public function getEntityType() diff --git a/app/Repositories/PaymentRepository.php b/app/Repositories/PaymentRepository.php index 55c77be9748f..411a052aab6a 100644 --- a/app/Repositories/PaymentRepository.php +++ b/app/Repositories/PaymentRepository.php @@ -159,7 +159,9 @@ class PaymentRepository extends BaseRepository { if (array_key_exists('email_receipt', $data) && $data['email_receipt'] == true) $payment->service()->sendEmail(); - + elseif(!array_key_exists('email_receipt', $data) && $payment->client->getSetting('client_manual_payment_notification')) + $payment->service()->sendEmail(); + event( new PaymentWasCreated( $payment, $payment->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null) ) ); }