mirror of
https://github.com/openvk/openvk
synced 2024-11-15 19:49:14 +03:00
Заблокировать / Переоткрыть
This commit is contained in:
parent
0009ec8af1
commit
c5d6c86a9d
3 changed files with 33 additions and 9 deletions
|
@ -50,7 +50,8 @@ class BugReport extends RowModel
|
||||||
tr("bug_tracker_status_closed"),
|
tr("bug_tracker_status_closed"),
|
||||||
tr("bug_tracker_status_requires_adjustment"),
|
tr("bug_tracker_status_requires_adjustment"),
|
||||||
tr("bug_tracker_status_locked"),
|
tr("bug_tracker_status_locked"),
|
||||||
tr("bug_tracker_status_rejected")
|
tr("bug_tracker_status_rejected"),
|
||||||
|
"Переоткрыт"
|
||||||
];
|
];
|
||||||
$status_id = $this->getRecord()->status;
|
$status_id = $this->getRecord()->status;
|
||||||
|
|
||||||
|
|
|
@ -85,6 +85,7 @@ final class BugtrackerPresenter extends OpenVKPresenter
|
||||||
function renderChangeStatus(int $report_id): void
|
function renderChangeStatus(int $report_id): void
|
||||||
{
|
{
|
||||||
$this->assertUserLoggedIn();
|
$this->assertUserLoggedIn();
|
||||||
|
$this->assertNoCSRF();
|
||||||
$this->willExecuteWriteAction();
|
$this->willExecuteWriteAction();
|
||||||
|
|
||||||
if ($this->user->identity->isBannedInBt())
|
if ($this->user->identity->isBannedInBt())
|
||||||
|
@ -101,7 +102,8 @@ final class BugtrackerPresenter extends OpenVKPresenter
|
||||||
tr("bug_tracker_status_closed"),
|
tr("bug_tracker_status_closed"),
|
||||||
tr("bug_tracker_status_requires_adjustment"),
|
tr("bug_tracker_status_requires_adjustment"),
|
||||||
tr("bug_tracker_status_locked"),
|
tr("bug_tracker_status_locked"),
|
||||||
tr("bug_tracker_status_rejected")
|
tr("bug_tracker_status_rejected"),
|
||||||
|
"Переоткрыт"
|
||||||
];
|
];
|
||||||
|
|
||||||
$report = (new BugtrackerReports)->get($report_id);
|
$report = (new BugtrackerReports)->get($report_id);
|
||||||
|
@ -119,6 +121,7 @@ final class BugtrackerPresenter extends OpenVKPresenter
|
||||||
function renderChangePriority(int $report_id): void
|
function renderChangePriority(int $report_id): void
|
||||||
{
|
{
|
||||||
$this->assertUserLoggedIn();
|
$this->assertUserLoggedIn();
|
||||||
|
$this->assertNoCSRF();
|
||||||
$this->willExecuteWriteAction();
|
$this->willExecuteWriteAction();
|
||||||
|
|
||||||
if ($this->user->identity->isBannedInBt())
|
if ($this->user->identity->isBannedInBt())
|
||||||
|
@ -204,7 +207,7 @@ final class BugtrackerPresenter extends OpenVKPresenter
|
||||||
$product = $this->postParam("product");
|
$product = $this->postParam("product");
|
||||||
$device = $this->postParam("device");
|
$device = $this->postParam("device");
|
||||||
|
|
||||||
if (!$title || !$text || !$priority || !$product || !$device)
|
if (!$title || !$text || !$product || !$device || $priority === NULL)
|
||||||
$this->flashFail("err", tr("error"), tr("bug_tracker_fields_error"));
|
$this->flashFail("err", tr("error"), tr("bug_tracker_fields_error"));
|
||||||
|
|
||||||
$id = DB::i()->getContext()->table("bugs")->insert([
|
$id = DB::i()->getContext()->table("bugs")->insert([
|
||||||
|
@ -223,6 +226,7 @@ final class BugtrackerPresenter extends OpenVKPresenter
|
||||||
function renderCreateProduct(): void
|
function renderCreateProduct(): void
|
||||||
{
|
{
|
||||||
$this->assertUserLoggedIn();
|
$this->assertUserLoggedIn();
|
||||||
|
$this->assertNoCSRF();
|
||||||
$this->willExecuteWriteAction();
|
$this->willExecuteWriteAction();
|
||||||
|
|
||||||
if ($this->user->identity->isBannedInBt())
|
if ($this->user->identity->isBannedInBt())
|
||||||
|
@ -269,6 +273,7 @@ final class BugtrackerPresenter extends OpenVKPresenter
|
||||||
function renderManageAccess(int $product_id): void
|
function renderManageAccess(int $product_id): void
|
||||||
{
|
{
|
||||||
$this->assertUserLoggedIn();
|
$this->assertUserLoggedIn();
|
||||||
|
$this->assertNoCSRF();
|
||||||
$this->willExecuteWriteAction();
|
$this->willExecuteWriteAction();
|
||||||
|
|
||||||
if ($this->user->identity->isBannedInBt())
|
if ($this->user->identity->isBannedInBt())
|
||||||
|
@ -312,6 +317,7 @@ final class BugtrackerPresenter extends OpenVKPresenter
|
||||||
function renderManagePrivacy(int $product_id): void
|
function renderManagePrivacy(int $product_id): void
|
||||||
{
|
{
|
||||||
$this->assertUserLoggedIn();
|
$this->assertUserLoggedIn();
|
||||||
|
$this->assertNoCSRF();
|
||||||
$this->willExecuteWriteAction();
|
$this->willExecuteWriteAction();
|
||||||
|
|
||||||
if ($this->user->identity->isBannedInBt())
|
if ($this->user->identity->isBannedInBt())
|
||||||
|
@ -344,6 +350,7 @@ final class BugtrackerPresenter extends OpenVKPresenter
|
||||||
function renderManageStatus(int $product_id): void
|
function renderManageStatus(int $product_id): void
|
||||||
{
|
{
|
||||||
$this->assertUserLoggedIn();
|
$this->assertUserLoggedIn();
|
||||||
|
$this->assertNoCSRF();
|
||||||
$this->willExecuteWriteAction();
|
$this->willExecuteWriteAction();
|
||||||
|
|
||||||
if ($this->user->identity->isBannedInBt())
|
if ($this->user->identity->isBannedInBt())
|
||||||
|
@ -376,6 +383,7 @@ final class BugtrackerPresenter extends OpenVKPresenter
|
||||||
function renderKickTester(int $uid): void
|
function renderKickTester(int $uid): void
|
||||||
{
|
{
|
||||||
$this->assertUserLoggedIn();
|
$this->assertUserLoggedIn();
|
||||||
|
$this->assertNoCSRF();
|
||||||
$this->willExecuteWriteAction();
|
$this->willExecuteWriteAction();
|
||||||
|
|
||||||
if ($this->user->identity->isBannedInBt())
|
if ($this->user->identity->isBannedInBt())
|
||||||
|
@ -391,12 +399,16 @@ final class BugtrackerPresenter extends OpenVKPresenter
|
||||||
$user->setBlock_in_bt_reason($comment);
|
$user->setBlock_in_bt_reason($comment);
|
||||||
$user->save();
|
$user->save();
|
||||||
|
|
||||||
|
if ($this->postParam("ban_reports"))
|
||||||
|
DB::i()->getConnection()->query("UPDATE bugs SET status = 6 WHERE reporter = " . $uid);
|
||||||
|
|
||||||
$this->flashFail("succ", "Успех", $user->getCanonicalName() . " был исключён из программы OVK Testers.");
|
$this->flashFail("succ", "Успех", $user->getCanonicalName() . " был исключён из программы OVK Testers.");
|
||||||
}
|
}
|
||||||
|
|
||||||
function renderUnbanTester(int $uid): void
|
function renderUnbanTester(int $uid): void
|
||||||
{
|
{
|
||||||
$this->assertUserLoggedIn();
|
$this->assertUserLoggedIn();
|
||||||
|
$this->assertNoCSRF();
|
||||||
$this->willExecuteWriteAction();
|
$this->willExecuteWriteAction();
|
||||||
|
|
||||||
if ($this->user->identity->isBannedInBt())
|
if ($this->user->identity->isBannedInBt())
|
||||||
|
@ -410,6 +422,9 @@ final class BugtrackerPresenter extends OpenVKPresenter
|
||||||
$user->setBlock_in_bt_reason(NULL);
|
$user->setBlock_in_bt_reason(NULL);
|
||||||
$user->save();
|
$user->save();
|
||||||
|
|
||||||
|
if ($this->postParam("unban_reports"))
|
||||||
|
DB::i()->getConnection()->query("UPDATE bugs SET status = 8 WHERE reporter = " . $uid);
|
||||||
|
|
||||||
$this->flashFail("succ", "Успех", $user->getCanonicalName() . " был разблокирован в баг-трекере.");
|
$this->flashFail("succ", "Успех", $user->getCanonicalName() . " был разблокирован в баг-трекере.");
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -458,23 +458,27 @@ function showBtStatusChangeDialog(report, currentBalance, hash) {
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><input type="radio" name="status" value="3"></td>
|
<td><input type="radio" name="status" value="3"></td>
|
||||||
<td><label for="status_3">Исправлен</label></td>
|
<td><label for="status_4">Исправлен</label></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><input type="radio" name="status" value="4"></td>
|
<td><input type="radio" name="status" value="4"></td>
|
||||||
<td><label for="status_3">Закрыт</label></td>
|
<td><label for="status_5">Закрыт</label></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><input type="radio" name="status" value="5"></td>
|
<td><input type="radio" name="status" value="5"></td>
|
||||||
<td><label for="status_3">Требует корректировки</label></td>
|
<td><label for="status_6">Требует корректировки</label></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><input type="radio" name="status" value="6"></td>
|
<td><input type="radio" name="status" value="6"></td>
|
||||||
<td><label for="status_3">Заблокирован</label></td>
|
<td><label for="status_7">Заблокирован</label></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><input type="radio" name="status" value="7"></td>
|
<td><input type="radio" name="status" value="7"></td>
|
||||||
<td><label for="status_3">Отклонён</label></td>
|
<td><label for="status_8">Отклонён</label></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><input type="radio" name="status" value="8"></td>
|
||||||
|
<td><label for="status_9">Переоткрыт</label></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
@ -664,6 +668,8 @@ function showBtKickUserDialog(user, hash) {
|
||||||
<br>
|
<br>
|
||||||
<h4>Комментарий модератора</h4>
|
<h4>Комментарий модератора</h4>
|
||||||
<textarea name="comment" style="width: 100%;resize: vertical;"></textarea>
|
<textarea name="comment" style="width: 100%;resize: vertical;"></textarea>
|
||||||
|
<input type="checkbox" name="ban_reports" id="ban_reports">
|
||||||
|
<label for="ban_reports">Заблокировать все его отчёты</label>
|
||||||
<input type="hidden" name="hash" value="${hash}" />
|
<input type="hidden" name="hash" value="${hash}" />
|
||||||
`, ["Продолжить", tr("cancel")], [
|
`, ["Продолжить", tr("cancel")], [
|
||||||
() => {
|
() => {
|
||||||
|
@ -674,10 +680,12 @@ function showBtKickUserDialog(user, hash) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function showBtUnbanUserDialog(user, hash) {
|
function showBtUnbanUserDialog(user, hash) {
|
||||||
MessageBox("Исключить из программы", `<form action="/bt_reporter${user[0]}/unban" method="post" id="unban_ovk_testers_dialog">
|
MessageBox("Вернуть в программу", `<form action="/bt_reporter${user[0]}/unban" method="post" id="unban_ovk_testers_dialog">
|
||||||
<div>Вы действительно хотите вернуть тестировщика <b>${user[1]}</b> в программу OVK Testers?</div>
|
<div>Вы действительно хотите вернуть тестировщика <b>${user[1]}</b> в программу OVK Testers?</div>
|
||||||
<br>
|
<br>
|
||||||
<div>Он был исключён по причине: <b>${user[2]}</b></div>
|
<div>Он был исключён по причине: <b>${user[2]}</b></div>
|
||||||
|
<input type="checkbox" name="unban_reports" id="unban_reports">
|
||||||
|
<label for="ban_reports">Переоткрыть все его отчёты</label>
|
||||||
<input type="hidden" name="hash" value="${hash}" />
|
<input type="hidden" name="hash" value="${hash}" />
|
||||||
`, ["Вернуть", tr("cancel")], [
|
`, ["Вернуть", tr("cancel")], [
|
||||||
() => {
|
() => {
|
||||||
|
|
Loading…
Reference in a new issue