widges for orders and todos
This commit is contained in:
parent
a2b55bf91f
commit
f78740fbb0
23
app/Filament/Resources/Orders/Widgets/MyOrdersWidget.php
Normal file
23
app/Filament/Resources/Orders/Widgets/MyOrdersWidget.php
Normal file
@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\Orders\Widgets;
|
||||
|
||||
use App\Filament\Resources\Orders\Tables\OrdersTable;
|
||||
use App\Models\Order;
|
||||
use Filament\Actions\BulkActionGroup;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Table;
|
||||
use Filament\Widgets\TableWidget;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
|
||||
class MyOrdersWidget extends TableWidget
|
||||
{
|
||||
protected int|string|array $columnSpan = 2;
|
||||
|
||||
public function table(Table $table): Table
|
||||
{
|
||||
return OrdersTable::configure($table)
|
||||
->heading('Bestellungen')
|
||||
->query(fn (): Builder => Order::query());
|
||||
}
|
||||
}
|
||||
40
app/Filament/Resources/Todos/Widgets/MyTodosWidget.php
Normal file
40
app/Filament/Resources/Todos/Widgets/MyTodosWidget.php
Normal file
@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\Todos\Widgets;
|
||||
|
||||
use App\Filament\Actions\DoneTodoAction;
|
||||
use App\Filament\Actions\ReopenTodoAction;
|
||||
use App\Filament\Resources\Todos\Tables\TodosTable;
|
||||
use App\Filament\Resources\Todos\TodoResource;
|
||||
use App\Models\Group;
|
||||
use App\Models\Todo;
|
||||
use App\Models\User;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Support\Icons\Heroicon;
|
||||
use Filament\Tables\Columns\IconColumn;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Table;
|
||||
use Filament\Widgets\TableWidget;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class MyTodosWidget extends TableWidget
|
||||
{
|
||||
protected int|string|array $columnSpan = 2;
|
||||
|
||||
public function table(Table $table): Table
|
||||
{
|
||||
return TodosTable::configure($table)
|
||||
->heading('Todos')
|
||||
->query(
|
||||
Todo::query()
|
||||
->whereNull('done_date')
|
||||
->where(function (Builder $query) {
|
||||
$query
|
||||
->orWhere('user_id', filament()->auth()->user()->id)
|
||||
->orWhere('todoable_type', User::class)->where('todoable_id', filament()->auth()->user()->id)
|
||||
->orWhere('todoable_type', Group::class)->whereIn('todoable_id', User::find(filament()->auth()->user()->id)->groups()->get()->pluck('id'));
|
||||
})
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -2,6 +2,8 @@
|
||||
|
||||
namespace App\Providers\Filament;
|
||||
|
||||
use App\Filament\Resources\Orders\Widgets\MyOrdersWidget;
|
||||
use App\Filament\Resources\Todos\Widgets\MyTodosWidget;
|
||||
use Filament\FontProviders\LocalFontProvider;
|
||||
use Filament\Http\Middleware\Authenticate;
|
||||
use Filament\Http\Middleware\AuthenticateSession;
|
||||
@ -49,7 +51,9 @@ class AdminPanelProvider extends PanelProvider
|
||||
->discoverWidgets(in: app_path('Filament/Widgets'), for: 'App\Filament\Widgets')
|
||||
->widgets([
|
||||
AccountWidget::class,
|
||||
FilamentInfoWidget::class,
|
||||
MyTodosWidget::class,
|
||||
MyOrdersWidget::class,
|
||||
// FilamentInfoWidget::class,
|
||||
])
|
||||
->middleware([
|
||||
EncryptCookies::class,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user