openvk/Web/Presenters/templates/Support/View.xml
n1rwana a082d84d54
Support: Allow users to rate support answers (#342)
* New feature: users can rate support answers

Now users can rate support answers. They will see links "This is good answer" and "This is bad answer", like it was in original VK.
2021-12-15 00:56:23 +02:00

144 lines
No EOL
5.1 KiB
XML

{extends "../@layout.xml"}
{block title}{_menu_help}{/block}
{block header}
{$ticket->getName()}
{/block}
{block content}
<script>
function markAnswer(id, mark) {
let url = "/support/comment/" + id + "/rate/" + mark;
$.ajax(url, {
error: errorHandler,
success: success(id, mark)
});
}
function success(id, mark) {
if(mark == 1) {
document.getElementById("markText-" + id).innerHTML = {_support_good_answer_user};
} else {
document.getElementById("markText-" + id).innerHTML = {_support_bad_answer_user};
}
}
function errorHandler(id, mark) {
document.getElementById("markText-" + id).innerHTML = {_error};
}
</script>
{if $ticket->isDeleted() == 0 }
<div class="post-author">
<a href="#" style="font-size:13px;">
<b>
{$ticket->getName()}
</b>
</a>
<br></b>{_status}: {$ticket->getStatus()}
</div>
<div class="text" style="padding-top: 10px;border-bottom: #ECECEC solid 1px;">
{$ticket->getText()|noescape}
<br></br>
</div>
<div style="padding-top: 5px;">
{$ticket->getTime()}&nbsp;|&nbsp;
<a href="/support/delete/{$id}?hash={$csrfToken}">{_delete}</a>
</div>
{if $ticket->getType() !== 2}
<br>
<div>
<form action="/al_comments.pl/create/support/{$id}" method="post" style="margin:0;">
<textarea name="text" style="width: 100%;resize: vertical;"></textarea>
<div>
<!-- padding to fix <br/> bug -->
</div>
<input type="hidden" name="hash" value="{$csrfToken}" />
<br>
<input type="submit" value="{_write}" class="button">
</form>
</div>
{/if}
</br>
<p n:if="!$comments">{_no_comments}</p>
{var $printedSupportGreeting = false}
<table n:foreach="$comments as $comment" border="0" style="font-size: 11px;" class="post">
<tbody>
<tr>
{if $comment->getUType() === 0}
<td width="54" valign="top">
<img src="{$comment->getUser()->getAvatarUrl()}" width="50">
</td>
{else}
<td width="54" valign="top">
<img
src="{$comment->getAvatar()}"
style="max-width: 50px; filter: hue-rotate({$comment->getColorRotation()}deg);" />
</td>
{/if}
<td width="645" valign="top">
{if $comment->getUType() === 0}
<div class="post-author">
<a href="{$comment->getUser()->getURL()}"><b>
{$comment->getUser()->getFullName()}
</b></a> {($comment->getUser()->isFemale() ? tr("post_writes_f") : tr("post_writes_m"))}<br>
<a href="#" class="date">{$comment->getTime()}</a>
</div>
{elseif ($comment->getUType() === 1)}
<div class="post-author">
<a href="javascript:false">
<b>
{$comment->getAuthorName()}
</b>
</a>
{_post_writes_m}<br>
<a href="#" class="date">{$comment->getTime()}</a>
</div>
{/if}
<div class="post-content" id="{$comment->getId()}">
<div class="text" id="text{$comment->getId()}">
{if $comment->getUType() === 1 && !$printedSupportGreeting}
{var $printedSupportGreeting = true}
{tr("support_greeting_hi", $ticket->getUser()->getFullName())}
<br/>
<br/>
{$comment->getText()|noescape}
<br/>
<br/>
{tr("support_greeting_regards", OPENVK_ROOT_CONF["openvk"]["appearance"]["name"])|noescape}
{else}
{$comment->getText()|noescape}
{/if}
</div>
{if $comment->getUType() === 0}
<div class="post-menu">
<a href="/support/comment/{$comment->getId()}/delete">{_delete}</a>
</div>
{/if}
{if $comment->getUType() === 1}
<div class="post-menu">
<strong id="markText-{$comment->getId()}">
{if $comment->isLikedByUser()}
{_support_good_answer_user}
{else}
{_support_bad_answer_user}
{/if}
</strong>
{if $comment->isLikedByUser() === null}
<a onClick="markAnswer({$comment->getId()}, 1)">{_support_rate_good_answer}</a>
|
<a onClick="markAnswer({$comment->getId()}, 2)">{_support_rate_bad_answer}</a>
{/if}
{/if}
</div>
{/if}
</div>
</td>
</tr>
</tbody>
</table>
{/if}
{/block}