Skip to content

Commit ae5f3e4

Browse files
committed
[spalenque] - #14411 * add view survey to free text answer list
1 parent 6d9ee18 commit ae5f3e4

3 files changed

Lines changed: 27 additions & 3 deletions

File tree

survey_builder/code/infrastructure/repositories/SapphireAnswerSurveyRepository.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,9 @@ public function getPaginatedFreeTextAnswers($question_id, $page, $page_size, $se
291291
}
292292

293293
$query = <<<SQL
294-
SELECT SurveyAnswer.* FROM SurveyAnswer
294+
SELECT SurveyAnswer.*, Step.SurveyID AS SurveyID
295+
FROM SurveyAnswer
296+
LEFT JOIN SurveyStep Step ON Step.ID = SurveyAnswer.StepID
295297
WHERE
296298
QuestionID = {$question_id}
297299
AND SurveyAnswer.Value IS NOT NULL AND SurveyAnswer.Value <> ''

survey_builder/code/interfaces/restfull_api/SangriaSurveyTemplateApi.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ public function getFreeTextAnswers(SS_HTTPRequest $request){
126126
'member_email' => trim($answer->Step()->Survey()->CreatedBy()->Email),
127127
'value' => trim($answer->Value),
128128
'tags' => $tags,
129+
'survey_id' => intval($answer->SurveyID)
129130
];
130131
}
131132

survey_builder/ui/source/js/sangria/free-text-answers-list/SangriaSurveyFreeTextAnswersListApp.js

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,10 @@ class SangriaSurveyFreeTextAnswersListApp extends React.Component {
243243
this.props.updateAnswerValue(this.props.template_id, this.props.question_id, answerId, val);
244244
}
245245

246+
onViewSurveyClicked(e, surveyId){
247+
window.open(`/sangria/SurveyDetails/${surveyId}`, '_blank');
248+
}
249+
246250
onFilterByTag(e){
247251
let target = e.currentTarget;
248252
let val = target.value;
@@ -416,7 +420,13 @@ class SangriaSurveyFreeTextAnswersListApp extends React.Component {
416420

417421
<tr key={answer.id}>
418422
<td>
419-
<a href={`mailto:${answer.member_email}`} title={`answered by ${answer.member_email}`}>{answer.id}</a>
423+
{answer.member_email ? (
424+
<a href={`mailto:${answer.member_email}`} title={`answered by ${answer.member_email}`}>
425+
{answer.id}
426+
</a>
427+
) : (
428+
<span>{answer.id}</span>
429+
)}
420430
</td>
421431
<td className="answer-value-cell">
422432
<textarea className="answer-value-textarea" id={`answer_value_textarea_${answer.id}`} defaultValue={answer.value}>
@@ -432,8 +442,19 @@ class SangriaSurveyFreeTextAnswersListApp extends React.Component {
432442
<button type="button"
433443
title="Update Answer Value"
434444
onClick={(e) => this.onUpdateAnswerValueClicked(e, answer.id)}
435-
className="btn btn-primary btn-sm">Update
445+
className="btn btn-primary btn-sm">
446+
Update
447+
</button>
448+
{answer.survey_id > 0 &&
449+
<button type="button"
450+
title="View Survey"
451+
onClick={(e) => this.onViewSurveyClicked(e, answer.survey_id)}
452+
className="btn btn-default btn-sm"
453+
style={{marginLeft: '10px'}}
454+
>
455+
View
436456
</button>
457+
}
437458
</td>
438459
</tr>
439460
)

0 commit comments

Comments
 (0)