diff --git a/app/Http/Controllers/ClientPortal/InvitationController.php b/app/Http/Controllers/ClientPortal/InvitationController.php index 26c3f671c4d9..ab353600c698 100644 --- a/app/Http/Controllers/ClientPortal/InvitationController.php +++ b/app/Http/Controllers/ClientPortal/InvitationController.php @@ -81,15 +81,16 @@ class InvitationController extends Controller $entity_obj = 'App\Models\\'.ucfirst(Str::camel($entity)).'Invitation'; $invitation = $entity_obj::withTrashed() + ->with($entity) ->where('key', $invitation_key) - ->whereHas($entity, function ($query) { - $query->where('is_deleted',0); - }) + // ->whereHas($entity, function ($query) { + // $query->where('is_deleted',0); + // }) ->with('contact.client') ->first(); - if(!$invitation) - return abort(404,'The resource is no longer available.'); + if($invitation->{$entity}->is_deleted) + return $this->render('generic.not_available', ['account' => $invitation->company->account, 'company' => $invitation->company]); /* 12/01/2022 Clean up an edge case where if the contact is trashed, restore if a invitation comes back. */ if($invitation->contact->trashed()) diff --git a/app/Jobs/Mail/NinjaMailerJob.php b/app/Jobs/Mail/NinjaMailerJob.php index b70664607919..245924ee94f9 100644 --- a/app/Jobs/Mail/NinjaMailerJob.php +++ b/app/Jobs/Mail/NinjaMailerJob.php @@ -330,8 +330,14 @@ class NinjaMailerJob implements ShouldQueue return true; /* If the account is verified, we allow emails to flow */ - if(Ninja::isHosted() && $this->company->account && $this->company->account->is_verified_account) + if(Ninja::isHosted() && $this->company->account && $this->company->account->is_verified_account) { + + /* Continue to analyse verified accounts in case they later start sending poor quality emails*/ + if(class_exists(\Modules\Admin\Jobs\Account\EmailQuality::class)) + (new \Modules\Admin\Jobs\Account\EmailQuality($this->nmo, $this->company))->run(); + return false; + } /* Ensure the user has a valid email address */ if(!str_contains($this->nmo->to_user->email, "@")) diff --git a/app/Jobs/Util/UploadAvatar.php b/app/Jobs/Util/UploadAvatar.php index 48d7bfe5a459..9d7b8c2464cc 100644 --- a/app/Jobs/Util/UploadAvatar.php +++ b/app/Jobs/Util/UploadAvatar.php @@ -44,9 +44,6 @@ class UploadAvatar implements ShouldQueue $path = Storage::putFile($this->directory, new File(sys_get_temp_dir().'/'.$tmp_file)); - // info($path); - // info($tmp_file); - $url = Storage::url($path); //return file path diff --git a/app/Jobs/Util/VersionCheck.php b/app/Jobs/Util/VersionCheck.php index 71195bd1caeb..022fa7374724 100644 --- a/app/Jobs/Util/VersionCheck.php +++ b/app/Jobs/Util/VersionCheck.php @@ -35,7 +35,7 @@ class VersionCheck implements ShouldQueue */ public function handle() { - $version_file = trim(file_get_contents(config('ninja.version_url'))); + $version_file = trim(@file_get_contents(config('ninja.version_url'))); nlog("latest version = {$version_file}"); diff --git a/app/Models/Presenters/CompanyPresenter.php b/app/Models/Presenters/CompanyPresenter.php index 8106844991d0..212e6614d531 100644 --- a/app/Models/Presenters/CompanyPresenter.php +++ b/app/Models/Presenters/CompanyPresenter.php @@ -13,6 +13,7 @@ namespace App\Models\Presenters; use App\Models\Country; use Illuminate\Support\Str; +use Illuminate\Support\Facades\Storage; /** * Class CompanyPresenter. @@ -46,6 +47,24 @@ class CompanyPresenter extends EntityPresenter } + public function logoDocker($settings = null) + { + + if (! $settings) { + $settings = $this->entity->settings; + } + + $basename = basename($this->settings->company_logo); + + $logo = Storage::get("{$this->company_key}/{$basename}"); + + if(!$logo) + return $this->logo($settings); + + return "data:image/png;base64, ". base64_encode($logo); + + } + /** * Test for using base64 encoding */ @@ -56,7 +75,7 @@ class CompanyPresenter extends EntityPresenter } if(config('ninja.is_docker') || config('ninja.local_download')) - return $this->logo($settings); + return $this->logoDocker($settings); $context_options =array( "ssl"=>array( diff --git a/app/PaymentDrivers/Stripe/Jobs/PaymentIntentWebhook.php b/app/PaymentDrivers/Stripe/Jobs/PaymentIntentWebhook.php index d94b4ec296ae..f37f46f5a7b3 100644 --- a/app/PaymentDrivers/Stripe/Jobs/PaymentIntentWebhook.php +++ b/app/PaymentDrivers/Stripe/Jobs/PaymentIntentWebhook.php @@ -148,6 +148,17 @@ class PaymentIntentWebhook implements ShouldQueue } + + SystemLogger::dispatch( + ['response' => $this->stripe_request, 'data' => []], + SystemLog::CATEGORY_GATEWAY_RESPONSE, + SystemLog::EVENT_GATEWAY_SUCCESS, + SystemLog::TYPE_STRIPE, + null, + $company, + ); + + } private function updateCreditCardPayment($payment_hash, $client) diff --git a/app/Utils/HtmlEngine.php b/app/Utils/HtmlEngine.php index 234ce76eb929..2a411578dc76 100644 --- a/app/Utils/HtmlEngine.php +++ b/app/Utils/HtmlEngine.php @@ -540,8 +540,8 @@ class HtmlEngine /*Payment Aliases*/ $data['$paymentLink'] = &$data['$payment_link']; $data['$payment_url'] = &$data['$payment_link']; - $data['$portalButton'] = &$data['$paymentLink']; - + $data['$portalButton'] = &$data['$portal_button']; + $data['$dir'] = ['value' => in_array(optional($this->client->language())->locale, ['ar', 'he']) ? 'rtl' : 'ltr', 'label' => '']; $data['$dir_text_align'] = ['value' => in_array(optional($this->client->language())->locale, ['ar', 'he']) ? 'right' : 'left', 'label' => '']; diff --git a/resources/lang/en/texts.php b/resources/lang/en/texts.php index fd83b2529a2e..0a6fa29897b3 100644 --- a/resources/lang/en/texts.php +++ b/resources/lang/en/texts.php @@ -4728,6 +4728,8 @@ $LANG = array( 'received' => 'Received', 'converted_to_expense' => 'Successfully converted to expense', 'converted_to_expenses' => 'Successfully converted to expenses', + 'entity_removed' => 'This document has been removed, please contact the vendor for further information', + 'entity_removed_title' => 'Document no longer available', ); return $LANG; diff --git a/resources/views/portal/ninja2020/generic/not_available.blade.php b/resources/views/portal/ninja2020/generic/not_available.blade.php new file mode 100644 index 000000000000..1deda7c06152 --- /dev/null +++ b/resources/views/portal/ninja2020/generic/not_available.blade.php @@ -0,0 +1,31 @@ +@extends('portal.ninja2020.layout.clean') +@section('meta_title', ctrans('texts.error')) + +@section('body') + +
{{ ctrans('texts.entity_removed') }}
+