From 0a16e40a23b78ebc3e1a8956a72b0c7464289b21 Mon Sep 17 00:00:00 2001 From: Omair Saleh Date: Tue, 3 Oct 2023 13:53:21 +0800 Subject: [PATCH 1/8] change ui for feedback answers to use columns instead of rows --- .../vue/components/feedback/forms/FeedbackFormComponent.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/assets/vue/components/feedback/forms/FeedbackFormComponent.vue b/resources/assets/vue/components/feedback/forms/FeedbackFormComponent.vue index 10927094..de202d0c 100644 --- a/resources/assets/vue/components/feedback/forms/FeedbackFormComponent.vue +++ b/resources/assets/vue/components/feedback/forms/FeedbackFormComponent.vue @@ -22,10 +22,10 @@
- +
-
-
{{ ans.display_text }}
+
+
{{ ans.display_text }}
From 1bed7f1cc9d504f8ea3d44a2c20d13c532addba3 Mon Sep 17 00:00:00 2001 From: Omair Saleh Date: Tue, 3 Oct 2023 14:09:46 +0800 Subject: [PATCH 2/8] change ui for feedback answers to use columns instead of rows --- .../feedback/forms/FeedbackFormComponent.vue | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/resources/assets/vue/components/feedback/forms/FeedbackFormComponent.vue b/resources/assets/vue/components/feedback/forms/FeedbackFormComponent.vue index de202d0c..94af3a18 100644 --- a/resources/assets/vue/components/feedback/forms/FeedbackFormComponent.vue +++ b/resources/assets/vue/components/feedback/forms/FeedbackFormComponent.vue @@ -21,15 +21,20 @@
-
- -
-
-
{{ ans.display_text }}
-
-
-
+
+
+
{{ ans.display_text }}
+
+ + + + + + + + +
From 8f5aa0a8617cf08b68cc744cbe5e7be8588be706 Mon Sep 17 00:00:00 2001 From: Omair Saleh Date: Tue, 3 Oct 2023 16:11:46 +0800 Subject: [PATCH 3/8] change ui for feedback answers to use columns instead of rows --- .../feedback/forms/FeedbackFormComponent.vue | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/assets/vue/components/feedback/forms/FeedbackFormComponent.vue b/resources/assets/vue/components/feedback/forms/FeedbackFormComponent.vue index 94af3a18..e05ae600 100644 --- a/resources/assets/vue/components/feedback/forms/FeedbackFormComponent.vue +++ b/resources/assets/vue/components/feedback/forms/FeedbackFormComponent.vue @@ -20,7 +20,7 @@
-
+
{{ ans.display_text }}
@@ -69,8 +69,8 @@
-
-
Submit
+
+
Submit Feedback
@@ -130,7 +130,7 @@ this.answers[index].answer = div.getAttribute('answerValue'); this.answers[index].answerId = div.getAttribute('answerId'); this.removeClass(cls); - div.classList.add('btn-primary'); + div.classList.add('btn-success'); }, setRating(value, index) { this.answers[index].answer = value; @@ -138,9 +138,9 @@ }, removeClass(cls) { document.getElementsByClassName(cls).forEach(el => { - const btnPrimaryEl = el.getElementsByClassName('btn-primary')[0]; + const btnPrimaryEl = el.getElementsByClassName('btn-success')[0]; if (btnPrimaryEl) { - btnPrimaryEl.classList.remove('btn-primary'); + btnPrimaryEl.classList.remove('btn-success'); } }); }, From a5c1ae14b7606041f34481a9c71f863330ab05f2 Mon Sep 17 00:00:00 2001 From: Dillon Date: Wed, 4 Oct 2023 01:02:19 +0800 Subject: [PATCH 4/8] Shorten feedback url --- .../General/Eloquent/Filters/ShortUrl.php | 20 +++++++ .../GenerateFeedbackUrlLogic.php | 19 ++++++- .../ControllersLogic/ListQuestionsQALogic.php | 27 +++++---- .../SubmitQAQuestionsLogic.php | 17 ++++-- .../DataTransferObjects/UrlObject.php | 55 +++++++++++++++++++ .../Processors/SaveAnswerProcessor.php | 5 +- .../Modules/HelpMenu/Services/CreatesUrl.php | 25 +++++++++ .../Modules/HelpMenu/Services/FetchesUrl.php | 32 +++++++++++ app/Models/Url.php | 9 +++ ...0_create_qa_user_answer_selected_table.php | 1 + .../2023_10_03_230901_create_urls_table.php | 34 ++++++++++++ 11 files changed, 224 insertions(+), 20 deletions(-) create mode 100644 app/Classes/General/Eloquent/Filters/ShortUrl.php create mode 100644 app/Classes/Modules/HelpMenu/DataTransferObjects/UrlObject.php create mode 100644 app/Classes/Modules/HelpMenu/Services/CreatesUrl.php create mode 100644 app/Classes/Modules/HelpMenu/Services/FetchesUrl.php create mode 100644 app/Models/Url.php create mode 100644 database/migrations/2023_10_03_230901_create_urls_table.php diff --git a/app/Classes/General/Eloquent/Filters/ShortUrl.php b/app/Classes/General/Eloquent/Filters/ShortUrl.php new file mode 100644 index 00000000..12e2eb17 --- /dev/null +++ b/app/Classes/General/Eloquent/Filters/ShortUrl.php @@ -0,0 +1,20 @@ +where('short_url', $value); + } + +} diff --git a/app/Classes/Modules/HelpMenu/ControllersLogic/GenerateFeedbackUrlLogic.php b/app/Classes/Modules/HelpMenu/ControllersLogic/GenerateFeedbackUrlLogic.php index 9a40b8b2..f8c3289e 100644 --- a/app/Classes/Modules/HelpMenu/ControllersLogic/GenerateFeedbackUrlLogic.php +++ b/app/Classes/Modules/HelpMenu/ControllersLogic/GenerateFeedbackUrlLogic.php @@ -4,11 +4,14 @@ namespace App\Classes\Modules\HelpMenu\ControllersLogic; use App\Classes\General\Abstracts\AbstractControllerLogic; +use App\Classes\Modules\HelpMenu\DataTransferObjects\UrlObject; use App\Classes\Modules\HelpMenu\Standards\Rules\CanGenerateFeedbackUrl; +use App\Classes\Modules\HelpMenu\Services\CreatesUrl; use ErrorException; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Illuminate\Support\Facades\Crypt; +use Illuminate\Support\Str; class GenerateFeedbackUrlLogic extends AbstractControllerLogic { @@ -26,14 +29,18 @@ class GenerateFeedbackUrlLogic extends AbstractControllerLogic /** @var CanGenerateFeedbackUrl */ private $canGenerateFeedbackUrl; + /** @var CreatesUrl */ + private $createsUrl; /** * GenerateFeedbackUrlLogic constructor. * @param CanGenerateFeedbackUrl $canGenerateFeedbackUrl + * @param CreatesUrl $createsUrl */ - public function __construct(CanGenerateFeedbackUrl $canGenerateFeedbackUrl) + public function __construct(CanGenerateFeedbackUrl $canGenerateFeedbackUrl, CreatesUrl $createsUrl) { $this->canGenerateFeedbackUrl = $canGenerateFeedbackUrl; + $this->createsUrl = $createsUrl; } @@ -46,8 +53,14 @@ class GenerateFeedbackUrlLogic extends AbstractControllerLogic { $this->canGenerateFeedbackUrl->passes(); - $originalText = $request->input('system') . '|' . $request->input('customer_marking'). '|' . $request->input('email'). '|' . $request->input('question_set'); - $resource = ['token' => Crypt::encryptString($originalText)]; + $shortUrl = Str::random(20); + $originalText = $request->input('system') . '|' . $request->input('customer_marking'). '|' . $request->input('email'). '|' . $request->input('question_set') . $shortUrl; + $originalUrl = Crypt::encryptString($originalText); + + + $url = $this->createsUrl->execute(new UrlObject('feedback', $shortUrl, $originalUrl)); + $resource = ['token' => $url->short_url]; + return $this->response(['data' => $resource]); } diff --git a/app/Classes/Modules/HelpMenu/ControllersLogic/ListQuestionsQALogic.php b/app/Classes/Modules/HelpMenu/ControllersLogic/ListQuestionsQALogic.php index c0244ae5..ca25eeb7 100644 --- a/app/Classes/Modules/HelpMenu/ControllersLogic/ListQuestionsQALogic.php +++ b/app/Classes/Modules/HelpMenu/ControllersLogic/ListQuestionsQALogic.php @@ -5,6 +5,7 @@ namespace App\Classes\Modules\HelpMenu\ControllersLogic; use App\Classes\General\Abstracts\AbstractControllerLogic; use App\Classes\Modules\HelpMenu\Services\ListsHelpMenuQuestions; +use App\Classes\Modules\HelpMenu\Services\FetchesUrl; use App\Http\Resources\HelpMenuQuestionResource; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; @@ -27,13 +28,18 @@ class ListQuestionsQALogic extends AbstractControllerLogic /** @var ListsHelpMenuQuestions */ private $listsHelpMenuQuestions; + /** @var FetchesUrl */ + private $fetchesUrl; + /** * ListQuestionsQALogic constructor. * @param ListsHelpMenuQuestions $listsHelpMenuQuestions + * @param FetchesUrl $fetchesUrl */ - public function __construct(ListsHelpMenuQuestions $listsHelpMenuQuestions) + public function __construct(ListsHelpMenuQuestions $listsHelpMenuQuestions, FetchesUrl $fetchesUrl) { $this->listsHelpMenuQuestions = $listsHelpMenuQuestions; + $this->fetchesUrl = $fetchesUrl; } @@ -47,17 +53,14 @@ class ListQuestionsQALogic extends AbstractControllerLogic */ public function logic(Request $request) : JsonResponse { - try{ - $token = $request->input('token'); - $decriptedToken = Crypt::decryptString($token); - $delimiter = "|"; - $parts = explode($delimiter, $decriptedToken); - $questionSet = $parts[3]; - $query = $this->listsHelpMenuQuestions->execute(['questionnaire_set_id' => $questionSet]); - return $this->collectionResponse(HelpMenuQuestionResource::collection($query)); - } catch(\Exception $exception){ - throw new ResourceNotFoundException($exception->getMessage()); - } + $url = $this->fetchesUrl->execute(['short_url' => $request->input('token')]); + $token = $url->original_url; + $decriptedToken = Crypt::decryptString($token); + $delimiter = "|"; + $parts = explode($delimiter, $decriptedToken); + $questionSet = $parts[3]; + $query = $this->listsHelpMenuQuestions->execute(['questionnaire_set_id' => $questionSet]); + return $this->collectionResponse(HelpMenuQuestionResource::collection($query)); } } diff --git a/app/Classes/Modules/HelpMenu/ControllersLogic/SubmitQAQuestionsLogic.php b/app/Classes/Modules/HelpMenu/ControllersLogic/SubmitQAQuestionsLogic.php index c46532c8..047b7add 100644 --- a/app/Classes/Modules/HelpMenu/ControllersLogic/SubmitQAQuestionsLogic.php +++ b/app/Classes/Modules/HelpMenu/ControllersLogic/SubmitQAQuestionsLogic.php @@ -5,6 +5,7 @@ namespace App\Classes\Modules\HelpMenu\ControllersLogic; use App\Classes\General\Abstracts\AbstractControllerLogic; use App\Classes\Modules\HelpMenu\Processors\SaveAnswerProcessor; use App\Classes\Modules\HelpMenu\Processors\UserSourceForQAProcessor; +use App\Classes\Modules\HelpMenu\Services\FetchesUrl; use ErrorException; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; @@ -30,15 +31,20 @@ class SubmitQAQuestionsLogic extends AbstractControllerLogic /** @var UserSourceForQAProcessor */ private $userSourceForQAProcessor; + /** @var FetchesUrl */ + private $fetchesUrl; + /** * SubmitQAQuestionsLogic constructor. * @param SaveAnswerProcessor $saveAnswerProcessor * @param UserSourceForQAProcessor $userSourceForQAProcessor + * @param FetchesUrl $fetchesUrl */ - public function __construct(SaveAnswerProcessor $saveAnswerProcessor, UserSourceForQAProcessor $userSourceForQAProcessor) + public function __construct(SaveAnswerProcessor $saveAnswerProcessor, UserSourceForQAProcessor $userSourceForQAProcessor, FetchesUrl $fetchesUrl) { $this->saveAnswerProcessor = $saveAnswerProcessor; $this->userSourceForQAProcessor = $userSourceForQAProcessor; + $this->fetchesUrl = $fetchesUrl; } @@ -49,11 +55,14 @@ class SubmitQAQuestionsLogic extends AbstractControllerLogic */ public function logic(Request $request) : JsonResponse { - $token = $request->input('token'); + $originalToken = ''; + $shortToken = $request->input('token'); $userId = 0; $sourceId = 0; try { - $decriptedToken = Crypt::decryptString($token); + $url = $this->fetchesUrl->execute(['short_url' => $shortToken]); + $originalToken = $url->original_url; + $decriptedToken = Crypt::decryptString($originalToken); $delimiter = "|"; $parts = explode($delimiter, $decriptedToken); $system = $parts[0]; @@ -71,7 +80,7 @@ class SubmitQAQuestionsLogic extends AbstractControllerLogic $answers = $request->input('answers'); foreach ($answers as $answer) { $filesUpload = $request->input('files'); - $this->saveAnswerProcessor->execute($userId, $sourceId, $answer['questionId'], $answer['answer'], $answer['answerId'], $filesUpload); + $this->saveAnswerProcessor->execute($userId, $sourceId, $answer['questionId'], $answer['answer'], $answer['answerId'], $filesUpload, $shortToken); } $response = ['message' => 'Thank you for your feedback.']; diff --git a/app/Classes/Modules/HelpMenu/DataTransferObjects/UrlObject.php b/app/Classes/Modules/HelpMenu/DataTransferObjects/UrlObject.php new file mode 100644 index 00000000..150e3475 --- /dev/null +++ b/app/Classes/Modules/HelpMenu/DataTransferObjects/UrlObject.php @@ -0,0 +1,55 @@ +type = $type; + $this->shortUrl = $shortUrl; + $this->originalUrl = $originalUrl; + } + + /** + * @return string + */ + public function getType(): string + { + return $this->type; + } + + /** + * @return string + */ + public function getShortUrl(): string + { + return $this->shortUrl; + } + + /** + * @return string + */ + public function getOriginalUrl(): string + { + return $this->originalUrl; + } + +} diff --git a/app/Classes/Modules/HelpMenu/Processors/SaveAnswerProcessor.php b/app/Classes/Modules/HelpMenu/Processors/SaveAnswerProcessor.php index 5830bc0f..611d3317 100644 --- a/app/Classes/Modules/HelpMenu/Processors/SaveAnswerProcessor.php +++ b/app/Classes/Modules/HelpMenu/Processors/SaveAnswerProcessor.php @@ -26,7 +26,7 @@ class SaveAnswerProcessor $this->uploadDocumentForHelpMenuProcessor = $uploadDocumentForHelpMenuProcessor; } - public function execute($userId, $sourceId, $questionId, $answerInText, $answerOptionId, $filesUpload){ + public function execute($userId, $sourceId, $questionId, $answerInText, $answerOptionId, $filesUpload, $reference = null){ $answer = null; // try{ @@ -45,6 +45,9 @@ class SaveAnswerProcessor $answer->question_id = $questionId; $answer->answer_option_id = intval($answerOptionId); $answer->free_text_answer = $answerInText; + if($reference){ + $answer->reference = $reference; + } $answer->save(); if($filesUpload){ diff --git a/app/Classes/Modules/HelpMenu/Services/CreatesUrl.php b/app/Classes/Modules/HelpMenu/Services/CreatesUrl.php new file mode 100644 index 00000000..bf84bacb --- /dev/null +++ b/app/Classes/Modules/HelpMenu/Services/CreatesUrl.php @@ -0,0 +1,25 @@ +type = $object->getType(); + $model->short_url = $object->getShortUrl(); + $model->original_url = $object->getOriginalUrl(); + + return $this->handler($model); + + } +} diff --git a/app/Classes/Modules/HelpMenu/Services/FetchesUrl.php b/app/Classes/Modules/HelpMenu/Services/FetchesUrl.php new file mode 100644 index 00000000..c13c9da3 --- /dev/null +++ b/app/Classes/Modules/HelpMenu/Services/FetchesUrl.php @@ -0,0 +1,32 @@ +repository = $repository; + } + + + /** + * @return Builder + */ + public function getRepository(): Builder + { + return $this->repository->newQuery(); + } +} diff --git a/app/Models/Url.php b/app/Models/Url.php new file mode 100644 index 00000000..9df84ee4 --- /dev/null +++ b/app/Models/Url.php @@ -0,0 +1,9 @@ +unsignedBigInteger('question_id'); $table->unsignedBigInteger('answer_option_id')->default(0); $table->string('free_text_answer')->nullable(); + $table->string('reference')->nullable(); $table->timestamps(); $table->softDeletes(); diff --git a/database/migrations/2023_10_03_230901_create_urls_table.php b/database/migrations/2023_10_03_230901_create_urls_table.php new file mode 100644 index 00000000..5e62e784 --- /dev/null +++ b/database/migrations/2023_10_03_230901_create_urls_table.php @@ -0,0 +1,34 @@ +id(); + $table->string('type'); + $table->string('short_url'); + $table->text('original_url'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('urls'); + } +} From 0f7f5f7ab94b3a9c25f8819a9ec29fc3e3b91093 Mon Sep 17 00:00:00 2001 From: Dillon Date: Wed, 4 Oct 2023 01:34:45 +0800 Subject: [PATCH 5/8] Shorten feedback url --- .../HelpMenu/ControllersLogic/GenerateFeedbackUrlLogic.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/HelpMenu/ControllersLogic/GenerateFeedbackUrlLogic.php b/app/Classes/Modules/HelpMenu/ControllersLogic/GenerateFeedbackUrlLogic.php index f8c3289e..e4a1e7bd 100644 --- a/app/Classes/Modules/HelpMenu/ControllersLogic/GenerateFeedbackUrlLogic.php +++ b/app/Classes/Modules/HelpMenu/ControllersLogic/GenerateFeedbackUrlLogic.php @@ -54,7 +54,7 @@ class GenerateFeedbackUrlLogic extends AbstractControllerLogic $this->canGenerateFeedbackUrl->passes(); $shortUrl = Str::random(20); - $originalText = $request->input('system') . '|' . $request->input('customer_marking'). '|' . $request->input('email'). '|' . $request->input('question_set') . $shortUrl; + $originalText = $request->input('system') . '|' . $request->input('customer_marking'). '|' . $request->input('email'). '|' . $request->input('question_set') . '|' . $shortUrl; $originalUrl = Crypt::encryptString($originalText); From d708b8b54064cd674d04cef9e1a89ec966e4d5df Mon Sep 17 00:00:00 2001 From: Dillon Date: Thu, 5 Oct 2023 16:41:21 +0800 Subject: [PATCH 6/8] 404 page when feedback form not found --- .../FeedbackCustomerSectionComponent.vue | 5 + resources/views/errors/404.blade.php | 5 + .../views/errors/illustrated-layout.blade.php | 486 ++++++++++++++++++ routes/web.php | 4 + 4 files changed, 500 insertions(+) create mode 100644 resources/views/errors/404.blade.php create mode 100644 resources/views/errors/illustrated-layout.blade.php diff --git a/resources/assets/vue/components/feedback/sections/FeedbackCustomerSectionComponent.vue b/resources/assets/vue/components/feedback/sections/FeedbackCustomerSectionComponent.vue index 7669c335..fde9cc26 100644 --- a/resources/assets/vue/components/feedback/sections/FeedbackCustomerSectionComponent.vue +++ b/resources/assets/vue/components/feedback/sections/FeedbackCustomerSectionComponent.vue @@ -46,6 +46,11 @@ successHandler(response){ this.$store.dispatch('completeList', {'name': this.section, 'data': []}); this.questions = response.payload.data; + }, + errorHandler(error, status){ + if(status == 404){ + window.location.href = this.route('error.404'); + } } } } diff --git a/resources/views/errors/404.blade.php b/resources/views/errors/404.blade.php new file mode 100644 index 00000000..4de4d719 --- /dev/null +++ b/resources/views/errors/404.blade.php @@ -0,0 +1,5 @@ +@extends('errors::illustrated-layout') + +@section('title', __('Not Found')) +@section('code', '404') +@section('message', __('Not Found')) diff --git a/resources/views/errors/illustrated-layout.blade.php b/resources/views/errors/illustrated-layout.blade.php new file mode 100644 index 00000000..21a35bab --- /dev/null +++ b/resources/views/errors/illustrated-layout.blade.php @@ -0,0 +1,486 @@ + + + + + + + @yield('title') + + + + + + + + + +
+
+
+
+ @yield('code', __('Oh no')) +
+ +
+ +

+ @yield('message') +

+ + +
+
+ +
+ @yield('image') +
+
+ + diff --git a/routes/web.php b/routes/web.php index d9a320ee..4a609cf8 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1197,3 +1197,7 @@ Route::get('/feedback/{token}', function ($token) { Route::get('/feedback', function () { return view('pages.feedback'); })->name('admin.feedback'); + +Route::get('/404', function () { + abort(404); +})->name('error.404'); From 822046cc69a7c015f860fa5cf76a3b1220b45280 Mon Sep 17 00:00:00 2001 From: Dillon Date: Thu, 5 Oct 2023 16:52:42 +0800 Subject: [PATCH 7/8] Updated comments in code --- .../Processors/TransactionToPerfexCRMV2Processor.php | 4 ++-- .../ControllersLogic/CreatePaymentTransactionLogic.php | 4 ++-- .../vue/components/general/forms/HelpMenuFormComponent.vue | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/Classes/Modules/PerfexCRM/Processors/TransactionToPerfexCRMV2Processor.php b/app/Classes/Modules/PerfexCRM/Processors/TransactionToPerfexCRMV2Processor.php index f42156e0..0c3cd511 100644 --- a/app/Classes/Modules/PerfexCRM/Processors/TransactionToPerfexCRMV2Processor.php +++ b/app/Classes/Modules/PerfexCRM/Processors/TransactionToPerfexCRMV2Processor.php @@ -119,13 +119,13 @@ class TransactionToPerfexCRMV2Processor } - private function definePaymentTasks(Transaction $model): array //cief todo: to comfirm what tasks need to be created + private function definePaymentTasks(Transaction $model): array //cief todo: to comfirm what tasks need to be created at crm { $tasks = []; return $tasks; } - private function defineTasks_handleApprovedStatus_handlePaymentApprovedStatus(): array //cief todo: to comfirm what tasks need to be created + private function defineTasks_handleApprovedStatus_handlePaymentApprovedStatus(): array //cief todo: to comfirm what tasks need to be created at crm { $tasks = []; // $tasks = [ diff --git a/app/Classes/Modules/Transactions/ControllersLogic/CreatePaymentTransactionLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/CreatePaymentTransactionLogic.php index 4b4a31a4..ae10403a 100644 --- a/app/Classes/Modules/Transactions/ControllersLogic/CreatePaymentTransactionLogic.php +++ b/app/Classes/Modules/Transactions/ControllersLogic/CreatePaymentTransactionLogic.php @@ -47,7 +47,7 @@ class CreatePaymentTransactionLogic extends AbstractControllerLogic $payment_transaction = $this->createPaymentTransactionProcessor->execute($invoice_transaction, $payment_method , $request->input('bank_code')); - //cief todo: at exchange there is a transition step + //cief todo: at exchange there is a transition step - starts // if(PaymentMethodType::PAYMENT_METHODS[$request->input('payment_method')] == PaymentMethodType::PAYMENT_GATEWAY){ // $this->updatesTransactionStatus->execute($transaction, ApprovalStatus::PENDING_VERIFICATION); // } @@ -59,7 +59,7 @@ class CreatePaymentTransactionLogic extends AbstractControllerLogic //To use //ApprovalStatus::PENDING_VERIFICATION; //use this to trigger $this->transactionToPerfexCRMV2Processor->execute > defineTasks > defineTasks_handlePendingVerificationStatus > definePaymentTasks - + //cief todo: at exchange there is a transition step - ends return $this->resourceResponse(new TransactionResource($payment_transaction)); } diff --git a/resources/assets/vue/components/general/forms/HelpMenuFormComponent.vue b/resources/assets/vue/components/general/forms/HelpMenuFormComponent.vue index bef90475..7ad96fdf 100644 --- a/resources/assets/vue/components/general/forms/HelpMenuFormComponent.vue +++ b/resources/assets/vue/components/general/forms/HelpMenuFormComponent.vue @@ -185,7 +185,7 @@ let payload = []; payload.push(result); $crisp.push(["set", "session:data", payload]); - $crisp.push(["do", "message:send", ["text", "Hello there!"]]); + $crisp.push(["do", "message:send", ["text", "Hello there!"]]); //cief todo: need to update what message to send from customer to operator this.closeModal(); this.reset(); this.fetchFirstQuestion(); From 8c24c86c773be29d250735c6b57444fea5d655bb Mon Sep 17 00:00:00 2001 From: Dillon Date: Thu, 5 Oct 2023 17:02:34 +0800 Subject: [PATCH 8/8] Extra log to capture when ticket not created from Help Menu --- .../PerfexCRM/Services/CreatesPerfexCRMSupportTicket.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/Classes/Modules/PerfexCRM/Services/CreatesPerfexCRMSupportTicket.php b/app/Classes/Modules/PerfexCRM/Services/CreatesPerfexCRMSupportTicket.php index 172099bc..48058509 100644 --- a/app/Classes/Modules/PerfexCRM/Services/CreatesPerfexCRMSupportTicket.php +++ b/app/Classes/Modules/PerfexCRM/Services/CreatesPerfexCRMSupportTicket.php @@ -37,7 +37,9 @@ class CreatesPerfexCRMSupportTicket return null; } }catch(\Exception $exception){ - throw new MalformedRequestException('Unable to get correct response from Perfex CRM server: ' . $exception->getMessage()); + $error = 'Support Ticket creation failed: ' . $exception->getMessage(); + Log::error($error.'\nPayload to create ticket: '.json_encode($data)); + throw new MalformedRequestException($error); } } }