Merge branch 'dillon/74-admin-workflow' into vapor/development

This commit is contained in:
Dillon Ngo
2025-02-18 12:54:14 +08:00
5 changed files with 50 additions and 14 deletions
@@ -33,7 +33,11 @@ class ExportsQAWithGroups implements FromQuery, WithHeadings, WithHeadingRow, Wi
'Answer Value',
'Source Email',
'Time(Seconds)',
'Created Date',
'Reference',
'Marking',
'Currency Rate',
'Total Amount',
'Created DateTime',
'MAIN?'
];
}
@@ -63,22 +67,31 @@ class ExportsQAWithGroups implements FromQuery, WithHeadings, WithHeadingRow, Wi
$source = $userAnswer->userSource;
$user = $userAnswer->source_id === 0 ? $userAnswer->user : null;
$answer = $userAnswer->answer()->first();
$answerValue = $answer ? $answer->value : null;
if($userAnswer->is_previous === 1){
$answerValue ='go_back';
}
$questionGroups = explode(',', $userAnswer->question->questionnaire->group);
$metadata = json_decode($userAnswer->question_metadata);
$rows = [[
$userAnswer->id,
$userAnswer->question->questionnaire->version,
$userAnswer->question->questionnaire->description,
$userAnswer->question->question_title,
$answer ? $answer->display_text : null,
$answer ? $answer->value : null,
$answerValue,
$user ? $user->email : $source->email,
$userAnswer->time_used_seconds,
Carbon::parse($userAnswer->created_at)->format('d-m-Y'),
$metadata->marking ?? null,
isset($metadata->company) ? $metadata->company->reference: null,
isset($metadata->payment_history[0]) ? $metadata->payment_history[0]->currency_rate : null,
isset($metadata->payment_history[0]) ? $metadata->payment_history[0]->currency->short_code . " " . round($metadata->payment_history[0]->amount, 2): null,
Carbon::parse($userAnswer->created_at)->format('d-m-Y h:i:s A'),
"YES"
]];
$nextId = QAUserAnswerSelected::where('id', '>', $userAnswer->id)
->where('reference', $userAnswer->reference)
->whereIn('answer', $questionGroups)
->orderBy('id', 'asc')
->limit(1)
@@ -96,6 +109,11 @@ class ExportsQAWithGroups implements FromQuery, WithHeadings, WithHeadingRow, Wi
$source = $relatedAnswer->userSource;
$user = $relatedAnswer->source_id === 0 ? $relatedAnswer->user : null;
$answer = $relatedAnswer->answer()->first();
$answerValue = $answer ? $answer->value : null;
if($relatedAnswer->is_previous === 1){
$answerValue ='go_back';
}
$md = json_decode($relatedAnswer->question_metadata);
$rows[] = [
$relatedAnswer->id,
@@ -103,10 +121,14 @@ class ExportsQAWithGroups implements FromQuery, WithHeadings, WithHeadingRow, Wi
$relatedAnswer->question->questionnaire->description,
$relatedAnswer->question->question_title,
$answer ? $answer->display_text : null,
$answer ? $answer->value : null,
$answerValue,
$user ? $user->email : $source->email,
$relatedAnswer->time_used_seconds,
Carbon::parse($relatedAnswer->created_at)->format('d-m-Y'),
$md->marking ?? null,
isset($md->company) ? $md->company->reference: null,
isset($md->payment_history[0]) ? $md->payment_history[0]->currency_rate : null,
isset($md->payment_history[0]) ? $md->payment_history[0]->currency->short_code . " " . round($md->payment_history[0]->amount, 2): null,
Carbon::parse($userAnswer->created_at)->format('d-m-Y h:i:s A'),
];
}
@@ -31,7 +31,11 @@ class ExportsQAWithoutGroups implements FromQuery, WithHeadings, WithHeadingRow,
'Answer Value',
'Source Email',
'Time(Seconds)',
'Created Date',
'Reference',
'Marking',
'Currency Rate',
'Total Amount',
'Created DateTime',
'MAIN?'
];
}
@@ -46,7 +50,7 @@ class ExportsQAWithoutGroups implements FromQuery, WithHeadings, WithHeadingRow,
*/
public function query()
{
$data = (new ApplyFiltersToQuery())->execute(QAUserAnswerSelected::query(), $this->filters, true);
$data = (new ApplyFiltersToQuery())->execute(QAUserAnswerSelected::query()->withTrashed(), $this->filters, true);
return $data;
}
@@ -61,17 +65,26 @@ class ExportsQAWithoutGroups implements FromQuery, WithHeadings, WithHeadingRow,
$source = $userAnswer->userSource;
$user = $userAnswer->source_id === 0 ? $userAnswer->user : null;
$answer = $userAnswer->answer()->first();
$answerValue = $answer ? $answer->value : null;
if($userAnswer->is_previous === 1){
$answerValue ='go_back';
}
$questionGroups = explode(',', $userAnswer->question->questionnaire->group);
$metadata = json_decode($userAnswer->question_metadata);
$rows = [[
$userAnswer->id,
$userAnswer->question->questionnaire->version,
$userAnswer->question->questionnaire->description,
$userAnswer->question->question_title,
$answer ? $answer->display_text : null,
$answer ? $answer->value : null,
$answerValue,
$user ? $user->email : $source->email,
$userAnswer->time_used_seconds,
Carbon::parse($userAnswer->created_at)->format('d-m-Y'),
$metadata->marking ?? null,
isset($metadata->company) ? $metadata->company->reference: null,
isset($metadata->payment_history[0]) ? $metadata->payment_history[0]->currency_rate : null,
isset($metadata->payment_history[0]) ? $metadata->payment_history[0]->currency->short_code . " " . round($metadata->payment_history[0]->amount, 2): null,
Carbon::parse($userAnswer->created_at)->format('d-m-Y h:i:s A'),
$answer ? in_array($answer->value, $questionGroups) : false,
]];
@@ -49,7 +49,7 @@
</div>
</div>
<div class="col-2">
<span class="bold d-inline-block">Reference: <a :href="route('booking.details', JSON.parse(item.question_metadata).marking)" target="_blank" v-if="JSON.parse(item.question_metadata)">{{ JSON.parse(item.question_metadata).marking }}
<span class="bold d-inline-block" v-if="JSON.parse(item.question_metadata) && JSON.parse(item.question_metadata).marking">Reference: <a :href="route('booking.details', JSON.parse(item.question_metadata).marking)" target="_blank">{{ JSON.parse(item.question_metadata).marking }}
</a></span>
<span class="bold d-inline-block" v-if="JSON.parse(item.question_metadata) && JSON.parse(item.question_metadata).company">Marking: {{ JSON.parse(item.question_metadata).company.reference }} </span>
@@ -51,7 +51,7 @@
<div class="col-1">{{ item.time }}</div>
<div class="col-1">{{ item.created_at_with_time }}</div>
<div class="col-2">
<span class="bold d-inline-block">Reference: <a :href="route('booking.details', JSON.parse(item.question_metadata).marking)" target="_blank" v-if="JSON.parse(item.question_metadata)">
<span class="bold d-inline-block" v-if="JSON.parse(item.question_metadata) && JSON.parse(item.question_metadata).marking">Reference: <a :href="route('booking.details', JSON.parse(item.question_metadata).marking)" target="_blank">
{{ JSON.parse(item.question_metadata).marking }}
</a></span>
@@ -138,7 +138,7 @@
},
successHandler(response){
this.questionGroups = response.payload.data[0].group;
this.options['question_group_in'] = this.questionGroups;
// this.options['question_group_in'] = this.questionGroups;
},
onSelected(userId){
this.updateOptions();
@@ -185,7 +185,8 @@
delete this.options['start_date'];
delete this.options['end_date'];
delete this.options['answer_like_with_user_id'];
this.options['question_group_in'] = this.questionGroups;
delete this.options['question_group_in'];
// this.options['question_group_in'] = this.questionGroups;
this.currentKey+=1;
},
},