mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/exchange-2.0.git
synced 2026-08-27 08:24:06 +00:00
Admin Workflow - Partial fix of version 4 reported issues
This commit is contained in:
@@ -7,6 +7,7 @@ use App\Models\QAUserAnswerSelected;
|
||||
use App\Classes\Modules\Documents\Processors\UploadDocumentProcessor;
|
||||
use App\Classes\ValueObjects\Constants\DocumentType;
|
||||
use App\Classes\ValueObjects\Constants\QAType;
|
||||
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class SaveAnswerV1AdminWFProcessor
|
||||
@@ -96,7 +97,7 @@ class SaveAnswerV1AdminWFProcessor
|
||||
$answer->answer = json_encode($structuredAnswer);
|
||||
}
|
||||
else if($questionType === QAType::FLOAT_MONEY){
|
||||
$answer->answer = floatval(str_replace(',', '', $answerInText));
|
||||
$answer->answer = number_format(floatval(str_replace(',', '', $answerInText)), 3, '.', '');
|
||||
}
|
||||
else {
|
||||
$answer->answer = $answerInText;
|
||||
|
||||
@@ -316,7 +316,7 @@ class QAWorkFlowSeeder extends Seeder
|
||||
// ['display_text' => 'Done', 'value' => '1688_issue_submit', 'next_question_number' => '1688_issue_submit'],
|
||||
// ],
|
||||
// 'group' => '1688',
|
||||
// ],
|
||||
// ],
|
||||
[
|
||||
'question_number' => '1688_overpaid_order',
|
||||
'question_title' => 'Overpaid Order',
|
||||
@@ -338,7 +338,7 @@ class QAWorkFlowSeeder extends Seeder
|
||||
'is_start' => false,
|
||||
'is_end' => false,
|
||||
'answer_options' => [
|
||||
['display_text' => 'Yes', 'value' => '1688_underpaid_documents_submission', 'next_question_number' => '1688_underpaid_documents_submission'],
|
||||
['display_text' => 'Done', 'value' => '1688_underpaid_documents_submission', 'next_question_number' => '1688_underpaid_documents_submission'],
|
||||
['display_text' => 'Got Issue', 'value' => '1688_underpaid_proceed_order_issue', 'next_question_number' => '1688_underpaid_proceed_order_issue'],
|
||||
],
|
||||
'group' => '1688',
|
||||
@@ -423,7 +423,7 @@ class QAWorkFlowSeeder extends Seeder
|
||||
'is_start' => false,
|
||||
'is_end' => false,
|
||||
'answer_options' => [
|
||||
['display_text' => 'Yes', 'value' => '1688_overpaid_documents_submission', 'next_question_number' => '1688_overpaid_documents_submission'],
|
||||
['display_text' => 'Done', 'value' => '1688_overpaid_documents_submission', 'next_question_number' => '1688_overpaid_documents_submission'],
|
||||
['display_text' => 'Got Issue', 'value' => '1688_overpaid_proceed_order_issue', 'next_question_number' => '1688_overpaid_proceed_order_issue'],
|
||||
],
|
||||
'group' => '1688',
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
"vue-avatar": "^2.1.8",
|
||||
"vue-debounce": "^2.6.0",
|
||||
"vue-the-mask": "^0.11.1",
|
||||
"vue2-dropzone": "^3.6.0",
|
||||
"vuelidate": "^0.7.4",
|
||||
"vuex": "^3.1.1"
|
||||
},
|
||||
|
||||
+25
-29
@@ -1,31 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="./vendor/phpunit/phpunit/phpunit.xsd"
|
||||
bootstrap="vendor/autoload.php"
|
||||
colors="true"
|
||||
>
|
||||
<testsuites>
|
||||
<testsuite name="Unit">
|
||||
<directory suffix="Test.php">./tests/Unit</directory>
|
||||
</testsuite>
|
||||
<testsuite name="Feature">
|
||||
<directory suffix="Test.php">./tests/Feature</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
<filter>
|
||||
<whitelist processUncoveredFilesFromWhitelist="true">
|
||||
<directory suffix=".php">./app</directory>
|
||||
</whitelist>
|
||||
</filter>
|
||||
<php>
|
||||
<server name="APP_ENV" value="testing"/>
|
||||
<server name="BCRYPT_ROUNDS" value="4"/>
|
||||
<server name="CACHE_DRIVER" value="array"/>
|
||||
<server name="DB_CONNECTION" value="sqlite"/>
|
||||
<server name="DB_DATABASE" value=":memory:"/>
|
||||
<server name="MAIL_MAILER" value="array"/>
|
||||
<server name="QUEUE_CONNECTION" value="sync"/>
|
||||
<server name="SESSION_DRIVER" value="array"/>
|
||||
<server name="TELESCOPE_ENABLED" value="false"/>
|
||||
</php>
|
||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd" bootstrap="vendor/autoload.php" colors="true">
|
||||
<coverage processUncoveredFiles="true">
|
||||
<include>
|
||||
<directory suffix=".php">./app</directory>
|
||||
</include>
|
||||
</coverage>
|
||||
<testsuites>
|
||||
<testsuite name="Unit">
|
||||
<directory suffix="Test.php">./tests/Unit</directory>
|
||||
</testsuite>
|
||||
<testsuite name="Feature">
|
||||
<directory suffix="Test.php">./tests/Feature</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
<php>
|
||||
<server name="APP_ENV" value="testing"/>
|
||||
<server name="BCRYPT_ROUNDS" value="4"/>
|
||||
<server name="CACHE_DRIVER" value="array"/>
|
||||
<server name="DB_CONNECTION" value="sqlite"/>
|
||||
<server name="DB_DATABASE" value=":memory:"/>
|
||||
<server name="MAIL_MAILER" value="array"/>
|
||||
<server name="QUEUE_CONNECTION" value="sync"/>
|
||||
<server name="SESSION_DRIVER" value="array"/>
|
||||
<server name="TELESCOPE_ENABLED" value="false"/>
|
||||
</php>
|
||||
</phpunit>
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="./vendor/phpunit/phpunit/phpunit.xsd"
|
||||
bootstrap="vendor/autoload.php"
|
||||
colors="true"
|
||||
>
|
||||
<testsuites>
|
||||
<testsuite name="Unit">
|
||||
<directory suffix="Test.php">./tests/Unit</directory>
|
||||
</testsuite>
|
||||
<testsuite name="Feature">
|
||||
<directory suffix="Test.php">./tests/Feature</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
<filter>
|
||||
<whitelist processUncoveredFilesFromWhitelist="true">
|
||||
<directory suffix=".php">./app</directory>
|
||||
</whitelist>
|
||||
</filter>
|
||||
<php>
|
||||
<server name="APP_ENV" value="testing"/>
|
||||
<server name="BCRYPT_ROUNDS" value="4"/>
|
||||
<server name="CACHE_DRIVER" value="array"/>
|
||||
<server name="DB_CONNECTION" value="sqlite"/>
|
||||
<server name="DB_DATABASE" value=":memory:"/>
|
||||
<server name="MAIL_MAILER" value="array"/>
|
||||
<server name="QUEUE_CONNECTION" value="sync"/>
|
||||
<server name="SESSION_DRIVER" value="array"/>
|
||||
<server name="TELESCOPE_ENABLED" value="false"/>
|
||||
</php>
|
||||
</phpunit>
|
||||
@@ -199,7 +199,7 @@
|
||||
<div class="col-auto text-left">
|
||||
<div class="form-group form-group-default m-b-0">
|
||||
<label>Amount Processed <span v-if="externalApiResponse">{{externalApiResponse.data.fixed_currency.short_code}}</span></label>
|
||||
<input id="cc_get" name="cc_get" type="text" placeholder="0.00" value="0" class="form-control" v-model="answer" v-money="{decimal: '.',thousands: ',', precision: 2}">
|
||||
<input id="cc_get" name="cc_get" type="text" placeholder="0.00" value="0" class="form-control" v-model="answer" v-money="{decimal: '.',thousands: ',', precision: 3}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -547,7 +547,7 @@
|
||||
this.answerId = this.question.answer.answer_option_id;
|
||||
}
|
||||
else if(this.question.question_type === 9){ //FLOAT_MONEY
|
||||
this.answer = this.externalApiResponse.data.amount_processed * 100;
|
||||
this.answer = this.externalApiResponse.data.amount_processed * 1000;
|
||||
}
|
||||
else if(this.question.question_type === 7){ //REMARKS_WITH_DOCUMENT_UPLOAD
|
||||
this.answer = JSON.parse(this.question.answer.answer).text;
|
||||
@@ -655,7 +655,6 @@
|
||||
this.submit(this.route('api.questionnaires.next.question'), 'post', this.section, false, false);
|
||||
}
|
||||
else if(direction === 'previous'){
|
||||
console.log('previous');
|
||||
this.formTouched = false;
|
||||
this.parameters.isPrevious = true;
|
||||
this.submit(this.route('api.questionnaires.next.question'), 'post', this.section, false, false);
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
<template>
|
||||
<div class="dropzone-container">
|
||||
<h2>{{ label }}</h2>
|
||||
<vue-dropzone
|
||||
:id="uniqueId"
|
||||
ref="dropzone"
|
||||
:options="dropzoneOptions"
|
||||
@vdropzone-file-added="fileAdded"
|
||||
@vdropzone-removed-file="fileRemoved"
|
||||
/>
|
||||
<div v-if="error" class="error">{{ errorMessage }}</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import vueDropzone from "vue2-dropzone";
|
||||
import "vue2-dropzone/dist/vue2Dropzone.min.css";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
vueDropzone,
|
||||
},
|
||||
props: {
|
||||
value: Array, // Enables v-model binding
|
||||
uniqueId: String,
|
||||
label: String,
|
||||
errorMessage: String,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
dropzoneOptions: {
|
||||
url: '#',
|
||||
autoQueue: false,
|
||||
processQueue: false,
|
||||
acceptedFiles: 'image/*, application/*',
|
||||
uploadMultiple: true,
|
||||
|
||||
// url: "/upload", // Change this to your upload endpoint
|
||||
// maxFilesize: 5, // MB
|
||||
// addRemoveLinks: true,
|
||||
// acceptedFiles: "image/*,application/pdf",
|
||||
previewTemplate: this.template(),
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
error() {
|
||||
return this.value && this.value.length === 0;
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
fileAdded(file) {
|
||||
if(file.name.split('.').pop() === 'pdf'){
|
||||
//$(file.previewElement).closest("img[data-dz-thumbnail]").attr("src", Vapor.asset("images/icons/pdf.png"));
|
||||
//$(file.previewElement).closest("img[data-dz-thumbnail]").attr("src", pdfIconUrl);
|
||||
const thumbnailElement = file.previewElement.querySelector("[data-dz-thumbnail]");
|
||||
if (thumbnailElement) {
|
||||
thumbnailElement.src = Vapor.asset("images/icons/pdf.png");
|
||||
}
|
||||
}
|
||||
if(file.name.split('.').pop().indexOf("xls") !== -1){
|
||||
//$(file.previewElement).closest("img[data-dz-thumbnail]").attr("src", Vapor.asset("images/icons/xlsx.png"));
|
||||
//$(file.previewElement).closest("img[data-dz-thumbnail]").attr("src", xlsIconUrl);
|
||||
const thumbnailElement = file.previewElement.querySelector("[data-dz-thumbnail]");
|
||||
if (thumbnailElement) {
|
||||
thumbnailElement.src = Vapor.asset("images/icons/xlsx.png");
|
||||
}
|
||||
}
|
||||
|
||||
const reader = new FileReader();
|
||||
reader.readAsDataURL(file);
|
||||
reader.onload = () => {
|
||||
// let updatedFiles = [...this.value, { file, base64: reader.result }];
|
||||
this.$emit("input", [reader.result]); // Sync with v-model
|
||||
};
|
||||
},
|
||||
fileRemoved(file) {
|
||||
let updatedFiles = this.value.filter((f) => f.file !== file);
|
||||
this.$emit("input", updatedFiles);
|
||||
},
|
||||
template() {
|
||||
return `<div class="row m-l-0 m-r-0 align-items-center m-t-5 m-b-5 bg-master-lightest text-left p-t-10 p-b-10 ">
|
||||
<div class="col-auto p-r-0"> <img data-dz-thumbnail style="width: 35px; height: 35px;" /> </div> <div class="col">
|
||||
<div class="row m-b-5"> <div class="col"> <div class="dz-filename fs-8 bold"><span data-dz-name></span></div>
|
||||
</div> </div> <div class="row"> <div class="col"> <div class="dz-size muted light fs-10" data-dz-size></div>
|
||||
</div> </div> </div> <div class="col-auto"><i class="fs-16 fa fa-times-circle pointer hint-text" data-dz-remove></i></div>
|
||||
</div>
|
||||
`;
|
||||
},
|
||||
fileToBase64(file) {
|
||||
return new Promise(resolve => {
|
||||
var reader = new FileReader();
|
||||
|
||||
reader.onload = function(event) {
|
||||
resolve(event.target.result);
|
||||
};
|
||||
|
||||
reader.readAsDataURL(file);
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.dropzone-container {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.error {
|
||||
color: red;
|
||||
font-size: 12px;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user