diff --git a/app/Filament/Resources/System/SeedBoxRecordResource.php b/app/Filament/Resources/System/SeedBoxRecordResource.php
index b75730ad..e48f1086 100644
--- a/app/Filament/Resources/System/SeedBoxRecordResource.php
+++ b/app/Filament/Resources/System/SeedBoxRecordResource.php
@@ -5,6 +5,7 @@ namespace App\Filament\Resources\System;
use App\Filament\OptionsTrait;
use App\Filament\Resources\System\SeedBoxRecordResource\Pages;
use App\Filament\Resources\System\SeedBoxRecordResource\RelationManagers;
+use App\Models\NexusModel;
use App\Models\SeedBoxRecord;
use App\Repositories\SeedBoxRepository;
use Filament\Facades\Filament;
@@ -64,7 +65,11 @@ class SeedBoxRecordResource extends Resource
Tables\Columns\TextColumn::make('id'),
Tables\Columns\TextColumn::make('typeText')->label(__('label.seed_box_record.type')),
Tables\Columns\TextColumn::make('uid')->searchable(),
- Tables\Columns\TextColumn::make('user.username')->label(__('label.username'))->searchable(),
+ Tables\Columns\TextColumn::make('user.username')
+ ->label(__('label.username'))
+ ->searchable()
+ ->formatStateUsing(fn ($record) => username_for_admin($record->uid))
+ ,
Tables\Columns\TextColumn::make('operator')->label(__('label.seed_box_record.operator'))->searchable(),
Tables\Columns\TextColumn::make('bandwidth')->label(__('label.seed_box_record.bandwidth')),
Tables\Columns\TextColumn::make('ip')
@@ -112,14 +117,24 @@ class SeedBoxRecordResource extends Resource
Tables\Actions\EditAction::make(),
Tables\Actions\Action::make('audit')
->label(__('admin.resources.seed_box_record.toggle_status'))
+ ->mountUsing(fn (Forms\ComponentContainer $form, NexusModel $record) => $form->fill([
+ 'status' => $record->status,
+ ]))
->form([
- Forms\Components\Radio::make('status')->options(SeedBoxRecord::listStatus('text'))
- ->inline()->label(__('label.seed_box_record.status'))->required()
+ Forms\Components\Radio::make('status')
+ ->options(SeedBoxRecord::listStatus('text'))
+ ->inline()
+ ->label(__('label.seed_box_record.status'))
+ ->required()
+ ,
+ Forms\Components\TextInput::make('reason')
+ ->label(__('label.reason'))
+ ,
])
->action(function (SeedBoxRecord $record, array $data) {
$rep = new SeedBoxRepository();
try {
- $rep->updateStatus($record, $data['status']);
+ $rep->updateStatus($record, $data['status'], $data['reason']);
} catch (\Exception $exception) {
Filament::notify('danger', class_basename($exception));
}
diff --git a/app/Repositories/SeedBoxRepository.php b/app/Repositories/SeedBoxRepository.php
index 2649046a..05083dc9 100644
--- a/app/Repositories/SeedBoxRepository.php
+++ b/app/Repositories/SeedBoxRepository.php
@@ -100,7 +100,7 @@ class SeedBoxRepository extends BaseRepository
return SeedBoxRecord::query()->whereIn('id', Arr::wrap($id))->where('uid', $uid)->delete();
}
- public function updateStatus(SeedBoxRecord $seedBoxRecord, $status): bool
+ public function updateStatus(SeedBoxRecord $seedBoxRecord, $status, $reason = ''): bool
{
if (Auth::user()->class < User::CLASS_ADMINISTRATOR) {
throw new InsufficientPermissionException();
@@ -119,6 +119,7 @@ class SeedBoxRepository extends BaseRepository
'operator' => Auth::user()->username,
'old_status' => $seedBoxRecord->statusText,
'new_status' => nexus_trans('seed-box.status_text.' . $status),
+ 'reason' => $reason,
]),
'added' => now()
];
diff --git a/include/constants.php b/include/constants.php
index 08bc7a94..98614a1e 100644
--- a/include/constants.php
+++ b/include/constants.php
@@ -1,6 +1,6 @@
$date | ".format_comment($arr["txt"],true,false,true)." | ".(user_can('chrmanage') ? "".$lang_log['text_edit']." | ".$lang_log['text_delete']." | " : "")."\n");
+ print("| $date | ".format_comment($arr["txt"],true,false,true)." | ".(user_can('chrmanage') ? "".$lang_log['text_edit']." | ".$lang_log['text_delete']." | " : "")."
\n");
}
print("");
echo $pagerbottom;
diff --git a/public/staffbox.php b/public/staffbox.php
index 764a53ee..d7e5eaa5 100644
--- a/public/staffbox.php
+++ b/public/staffbox.php
@@ -62,7 +62,7 @@ if (!$action) {
$answered = "".$lang_staffbox['text_no']."";
$pmid = $arr["id"];
- print("| ".htmlspecialchars($arr['subject'])." | " . get_username($arr['sender']) . " | ".gettime($arr['added'], true, false)." | $answered | |
\n");
+ print("| ".htmlspecialchars($arr['subject'])." | " . get_username($arr['sender']) . " | ".gettime($arr['added'], true, false)." | $answered | |
\n");
}
print(" |
");
print("\n");
@@ -121,7 +121,7 @@ print("| ".format_comment($arr4["a
print(" |
| ");
print("");
if ($arr4["answered"] == 0)
-print("[ ".$lang_staffbox['text_reply']." ] [ ".$lang_staffbox['text_mark_answered']." ] ");
+print("[ ".$lang_staffbox['text_reply']." ] [ ".$lang_staffbox['text_mark_answered']." ] ");
print("[ ".$lang_staffbox['text_delete']." ]");
print("");
print(" |
");
@@ -231,7 +231,7 @@ $id = intval($_GET["id"] ?? 0);
sql_query ("UPDATE staffmessages SET answered=1, answeredby = {$CURUSER['id']} WHERE id = $id") or sqlerr();
$Cache->delete_value('staff_new_message_count');
clear_staff_message_cache();
-header("Refresh: 0; url=staffbox.php?action=viewpm&pmid=$id");
+header("Refresh: 0; url=staffbox.php" . (!empty($_GET['return']) ? "?" . $_GET['return'] : ''));
}
//////////////////////////
diff --git a/resources/lang/en/label.php b/resources/lang/en/label.php
index b5a9974e..cff136da 100644
--- a/resources/lang/en/label.php
+++ b/resources/lang/en/label.php
@@ -39,6 +39,7 @@ return [
'country' => 'Country',
'city' => 'City',
'client' => 'Client',
+ 'reason' => 'Reason',
'setting' => [
'nav_text' => 'Setting',
'backup' => [
diff --git a/resources/lang/en/seed-box.php b/resources/lang/en/seed-box.php
index 5a3556f6..c4632fbb 100644
--- a/resources/lang/en/seed-box.php
+++ b/resources/lang/en/seed-box.php
@@ -12,6 +12,6 @@ return [
],
'status_change_message' => [
'subject' => 'SeedBox record status changed',
- 'body' => 'The status of your SeedBox record with ID :id was changed by :operator from :old_status to :new_status',
+ 'body' => 'The status of your SeedBox record with ID :id was changed by :operator from :old_status to :new_status. Reason: :reason',
],
];
diff --git a/resources/lang/zh_CN/label.php b/resources/lang/zh_CN/label.php
index 4f4e42e0..827ff724 100644
--- a/resources/lang/zh_CN/label.php
+++ b/resources/lang/zh_CN/label.php
@@ -39,6 +39,7 @@ return [
'country' => '国家',
'city' => '城市',
'client' => '客户端',
+ 'reason' => '原因',
'setting' => [
'nav_text' => '设置',
'backup' => [
diff --git a/resources/lang/zh_CN/seed-box.php b/resources/lang/zh_CN/seed-box.php
index dc4d88a0..4416632c 100644
--- a/resources/lang/zh_CN/seed-box.php
+++ b/resources/lang/zh_CN/seed-box.php
@@ -12,6 +12,6 @@ return [
],
'status_change_message' => [
'subject' => 'SeedBox 记录状态变更',
- 'body' => '你的 ID 为 :id 的 SeedBox 记录状态被 :operator 由 :old_status 变更为 :new_status',
+ 'body' => '你的 ID 为 :id 的 SeedBox 记录状态被 :operator 由 :old_status 变更为 :new_status。原因::reason',
],
];
diff --git a/resources/lang/zh_TW/label.php b/resources/lang/zh_TW/label.php
index 68b3f026..eb24e0d5 100644
--- a/resources/lang/zh_TW/label.php
+++ b/resources/lang/zh_TW/label.php
@@ -39,6 +39,7 @@ return [
'country' => '國家',
'city' => '城市',
'client' => '客戶端',
+ 'reason' => '原因',
'setting' => [
'nav_text' => '設置',
'backup' => [
diff --git a/resources/lang/zh_TW/seed-box.php b/resources/lang/zh_TW/seed-box.php
index 01537b35..d2747782 100644
--- a/resources/lang/zh_TW/seed-box.php
+++ b/resources/lang/zh_TW/seed-box.php
@@ -12,6 +12,6 @@ return [
],
'status_change_message' => [
'subject' => 'SeedBox 記錄狀態變更',
- 'body' => '你的 ID 為 :id 的 SeedBox 記錄狀態被 :operator 由 :old_status 變更為 :new_status',
+ 'body' => '你的 ID 為 :id 的 SeedBox 記錄狀態被 :operator 由 :old_status 變更為 :new_status。原因::reason',
],
];