openvk/Web/Presenters/templates/Bugtracker/View.xml

115 lines
5.5 KiB
XML
Raw Normal View History

2022-08-20 20:30:04 +03:00
{extends "../@layout.xml"}
{block title}Отчёт #{$bug->getId()}{/block}
{block header}
<a href="/bugtracker">Баг-трекер</a>
» Отчёт #{$bug->getId()}
{/block}
{block content}
2022-08-20 23:59:25 +03:00
{if $bug AND !$bug->isDeleted()}
2022-08-20 20:30:04 +03:00
<h4>{$bug->getCanonicalName()}</h4>
<div class="avatar-list-item" style="padding: 8px;">
<div class="avatar">
<a href="/bugtracker?act=reporter&id={$reporter->getId()}">
<img class="ava" src="{$reporter->getAvatarURL()}">
</a>
</div>
<div class="info" style="width: 92%">
<a href="/bugtracker?act=reporter&id={$reporter->getId()}" class="title">{$reporter->getCanonicalName()}</a>
2022-08-20 23:59:25 +03:00
<div class="subtitle">{_created}: {$bug->getCreationDate()}</div>
2022-08-20 20:30:04 +03:00
</div>
</div>
<hr color="#DAE1E8" size="1">
{$bug->getText()}
<hr color="#DAE1E8" size="1">
<table id="basicInfo" class="ugc-table group_info" cellspacing="0" cellpadding="0" border="0" style="width: 100%;">
<tbody>
<tr>
<td class="label"><span class="nobold">{_bug_tracker_product}:</span></td>
<td class="data"><a href="#">{$bug->getProduct()->getCanonicalName()}</a></td>
</tr>
2022-08-20 20:30:04 +03:00
<tr>
2022-08-20 23:59:25 +03:00
<td class="label"><span class="nobold">{_bug_tracker_sent_by}: </span></td>
2022-08-20 20:30:04 +03:00
<td class="data">
<a href="/bugtracker?act=reporter&id={$bug->getReporter()->getId()}">{$bug->getReporter()->getCanonicalName()}</a>
</td>
</tr>
<tr>
2022-08-20 23:59:25 +03:00
<td class="label"><span class="nobold">{_bug_tracker_reproduced}:</span></td>
2022-08-20 20:30:04 +03:00
<td class="data"><a href="#">{tr("participants", $bug->getReproducedCount())}</a></td>
</tr>
<tr>
2022-08-20 23:59:25 +03:00
<td class="label"><span class="nobold">{_status}:</span></td>
2022-08-21 23:30:25 +03:00
<td class="data"><a href="#" n:attr='onClick => $canAdminBugTracker ? "showBtStatusChangeDialog({$bug->getId()}, {$reporter->getCoins()}, \"{$csrfToken}\");" : false'>{$bug->getStatus()}</a></td>
2022-08-20 20:30:04 +03:00
</tr>
<tr>
2022-08-20 23:59:25 +03:00
<td class="label"><span class="nobold">{_bug_tracker_priority}:</span></td>
2022-08-21 23:30:25 +03:00
<td class="data"><a href="#" n:attr='onClick => $canAdminBugTracker ? "showBtPriorityChangeDialog({$bug->getId()}, {$reporter->getCoins()}, \"{$csrfToken}\");" : false'>{$bug->getPriority()}</a></td>
2022-08-20 20:30:04 +03:00
</tr>
<tr>
2022-08-20 23:59:25 +03:00
<td class="label"><span class="nobold">{_bug_tracker_device}:</span></td>
2022-08-20 20:30:04 +03:00
<td class="data"><a href="#">{$bug->getDevice()}</a></td>
</tr>
</tbody>
</table>
<hr color="#DAE1E8" size="1">
2022-08-21 23:30:25 +03:00
<button n:if="$canAdminBugTracker" class="button" onClick="showBtStatusChangeDialog({$bug->getId()}, {$reporter->getCoins()}, {$csrfToken})">{_bug_tracker_change_status}</button>
<button n:if="$canAdminBugTracker" class="button" onClick="showBtPriorityChangeDialog({$bug->getId()}, {$reporter->getCoins()}, {$csrfToken})">{_bug_tracker_change_priority}</button>
2022-08-20 23:59:25 +03:00
<a n:if="$bug->getReporter()->getId() !== $user->identity->getId()" class="button" href="/bug{$bug->getId()}/reproduce">
{_bug_tracker_reproduced}
<span n:if="$bug->getReproducedCount() > 0">({$bug->getReproducedCount()})</span>
</a>
2022-08-20 20:30:04 +03:00
{if sizeof($comments) > 0}
<hr color="#DAE1E8" size="1">
<div n:foreach="$comments as $comment">
<div n:if="!$comment->isHidden() OR $comment->isHidden() AND $canAdminBugTracker" class="avatar-list-item" style="padding: 8px;">
<div class="avatar">
<a href="/bugtracker?act=reporter&id={$comment->getAuthor()->getId()}">
<img class="ava" src="{$comment->isModer() ? 'https://vk.com/images/support15_specagent.png' : $comment->getAuthor()->getAvatarURL()}">
</a>
</div>
<div class="info" style="width: 90%;">
<a n:attr='href => $comment->isModer() ? false : "/bugtracker?act=reporter&id={$comment->getAuthor()->getId()}"' class="title">
2022-08-20 23:59:25 +03:00
{$comment->isModer() ? "{_bug_tracker_moderator}" : $comment->getAuthor()->getCanonicalName()}
2022-08-20 20:30:04 +03:00
<a n:if="$comment->isModer() AND $canAdminBugTracker" href="{$comment->getAuthor()->getURL()}">
(<b>{$comment->getAuthor()->getCanonicalName()}</b>)
</a>
</a>
2022-08-20 23:59:25 +03:00
<b n:if="$comment->isHidden() AND $canAdminBugTracker">({_bug_tracker_hidden_comment_span})</b>
2022-08-20 20:30:04 +03:00
<br>
<b n:if="$comment->getLabel()" class="post-author" style="display: inline-block; border-top: 0;">{$comment->getLabel()}</b>
<div>
{$comment->getText()}
</div>
2022-08-21 23:30:25 +03:00
<b n:if="$canAdminBugTracker AND $comment->getBalanceChanges()">(действия с балансом: {$comment->getBalanceChanges() > 0 ? "+" : false}{$comment->getBalanceChanges()})</b>
2022-08-20 20:30:04 +03:00
</div>
</div>
<hr color="#DAE1E8" size="1">
</div>
{/if}
<form n:if="$bug->getRawStatus() != 6 OR $bug->getRawStatus() == 6 AND $canAdminBugTracker" method="post" action="/bug{$bug->getId()}/addComment">
<textarea name="text" style="width: 100%;resize: vertical;"></textarea><br />
<div style="float: right;">
<div n:if="$canAdminBugTracker" style="display: inline;">
<input id="is_moder" type="checkbox" name="is_moder">
2022-08-20 23:59:25 +03:00
<label for="is_moder">{_bug_tracker_comment_as_moderator}</label>
2022-08-20 20:30:04 +03:00
<input id="is_hidden" type="checkbox" name="is_hidden">
2022-08-20 23:59:25 +03:00
<label for="is_hidden">{_bug_tracker_hidden_comment}</label>
2022-08-20 20:30:04 +03:00
</div>
<input type="hidden" name="hash" value="{$csrfToken}" />
<input type="submit" value="{_write}" class="button" />
</div>
</form>
{else}
<div>
2022-08-20 23:59:25 +03:00
{_bug_tracker_report_not_found}
2022-08-20 20:30:04 +03:00
</div>
{/if}
{/block}