add uploadspeed + downloadspeed +isp

This commit is contained in:
xiaomlove
2022-07-30 15:06:51 +08:00
parent 8a4f4a77cb
commit 1ed68b6058
28 changed files with 477 additions and 64 deletions
@@ -0,0 +1,69 @@
<?php
namespace App\Filament\Resources\System;
use App\Filament\Resources\System\DownloadSpeedResource\Pages;
use App\Filament\Resources\System\DownloadSpeedResource\RelationManagers;
use App\Models\DownloadSpeed;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\Resource;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class DownloadSpeedResource extends Resource
{
protected static ?string $model = DownloadSpeed::class;
protected static ?string $navigationIcon = 'heroicon-o-download';
protected static ?string $navigationGroup = 'System';
protected static ?int $navigationSort = 6;
protected static function getNavigationLabel(): string
{
return __('admin.sidebar.download_speed');
}
public static function getBreadcrumb(): string
{
return self::getNavigationLabel();
}
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\TextInput::make('name')->label(__('label.name'))
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('id'),
Tables\Columns\TextColumn::make('name')->label(__('label.name')),
])
->filters([
//
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
public static function getPages(): array
{
return [
'index' => Pages\ManageDownloadSpeeds::route('/'),
];
}
}
@@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\System\DownloadSpeedResource\Pages;
use App\Filament\Resources\System\DownloadSpeedResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\ManageRecords;
class ManageDownloadSpeeds extends ManageRecords
{
protected static string $resource = DownloadSpeedResource::class;
protected function getActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}
@@ -0,0 +1,69 @@
<?php
namespace App\Filament\Resources\System;
use App\Filament\Resources\System\IspResource\Pages;
use App\Filament\Resources\System\IspResource\RelationManagers;
use App\Models\Isp;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\Resource;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class IspResource extends Resource
{
protected static ?string $model = Isp::class;
protected static ?string $navigationIcon = 'heroicon-o-globe-alt';
protected static ?string $navigationGroup = 'System';
protected static ?int $navigationSort = 7;
protected static function getNavigationLabel(): string
{
return __('admin.sidebar.isp');
}
public static function getBreadcrumb(): string
{
return self::getNavigationLabel();
}
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\TextInput::make('name')->label(__('label.name'))
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('id'),
Tables\Columns\TextColumn::make('name')->label(__('label.name')),
])
->filters([
//
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
public static function getPages(): array
{
return [
'index' => Pages\ManageIsps::route('/'),
];
}
}
@@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\System\IspResource\Pages;
use App\Filament\Resources\System\IspResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\ManageRecords;
class ManageIsps extends ManageRecords
{
protected static string $resource = IspResource::class;
protected function getActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}
@@ -0,0 +1,69 @@
<?php
namespace App\Filament\Resources\System;
use App\Filament\Resources\System\UploadSpeedResource\Pages;
use App\Filament\Resources\System\UploadSpeedResource\RelationManagers;
use App\Models\UploadSpeed;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\Resource;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class UploadSpeedResource extends Resource
{
protected static ?string $model = UploadSpeed::class;
protected static ?string $navigationIcon = 'heroicon-o-upload';
protected static ?string $navigationGroup = 'System';
protected static ?int $navigationSort = 5;
protected static function getNavigationLabel(): string
{
return __('admin.sidebar.upload_speed');
}
public static function getBreadcrumb(): string
{
return self::getNavigationLabel();
}
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\TextInput::make('name')->label(__('label.name'))
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('id'),
Tables\Columns\TextColumn::make('name')->label(__('label.name')),
])
->filters([
//
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
public static function getPages(): array
{
return [
'index' => Pages\ManageUploadSpeeds::route('/'),
];
}
}
@@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\System\UploadSpeedResource\Pages;
use App\Filament\Resources\System\UploadSpeedResource;
use Filament\Pages\Actions;
use Filament\Resources\Pages\ManageRecords;
class ManageUploadSpeeds extends ManageRecords
{
protected static string $resource = UploadSpeedResource::class;
protected function getActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}
@@ -243,7 +243,7 @@ class UserProfile extends Page
->action(function () {
$userRep = new UserRepository();
try {
$userRep->toggleDownloadPrivileges(Auth::user(), $this->record->id);
$userRep->updateDownloadPrivileges(Auth::user(), $this->record->id, $this->record->downloadpos == 'yes' ? 'no' : 'yes');
$this->notify('success', 'Success!');
$this->emitSelf(self::EVENT_RECORD_UPDATED, $this->record->id);
} catch (\Exception $exception) {