2d447e6294
Follow-up to previous i18n pass — user reported many visible RO strings on
EN/RU locales because auto-wrap missed:
- Stat::make() first-arg labels in StatsOverview, FinanceOverview, PlatformStats
- $heading static in LowStockTable (converted to getHeading() method)
- Pipeline board Blade view: 40+ literal strings wrapped with {{ __() }}
- Mechanic board Blade view: statuses, buttons, block modal
- PipelineBoard.php hardcoded tag labels, stage labels, notify strings
- MechanicBoard.php confirmBlock notification
Added human RU + EN translations for the visible strings shown in the
screenshots (dashboard widgets, Client/Vehicle list breadcrumbs & columns,
pipeline board topbar/stats/filters/cards/detail panel/quick actions,
mechanic board stats/statuses/block modal). All 306 tests pass.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
45 lines
1.4 KiB
PHP
45 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Filament\Tenant\Widgets;
|
|
|
|
use App\Models\Tenant\Part;
|
|
use Filament\Tables;
|
|
use Filament\Tables\Table;
|
|
use Filament\Widgets\TableWidget as BaseWidget;
|
|
|
|
class LowStockTable extends BaseWidget
|
|
{
|
|
protected static ?int $sort = 5;
|
|
|
|
protected int|string|array $columnSpan = 'full';
|
|
|
|
protected static ?string $heading = null;
|
|
|
|
public function getHeading(): string
|
|
{
|
|
return '⚠️ ' . __('Stoc minim atins');
|
|
}
|
|
|
|
public function table(Table $table): Table
|
|
{
|
|
return $table
|
|
->query(
|
|
Part::query()
|
|
->where('is_active', true)
|
|
->whereColumn('qty', '<=', 'min_qty')
|
|
->orderBy('qty')
|
|
)
|
|
->columns([
|
|
Tables\Columns\TextColumn::make('name')->label(__('Piesă'))->wrap()->searchable(),
|
|
Tables\Columns\TextColumn::make('article')->label(__('Cod'))->placeholder('—'),
|
|
Tables\Columns\TextColumn::make('qty')->label(__('Stoc'))->alignRight()
|
|
->color(fn ($state) => $state <= 0 ? 'danger' : 'warning')
|
|
->weight('bold'),
|
|
Tables\Columns\TextColumn::make('min_qty')->label(__('Min.'))->alignRight(),
|
|
Tables\Columns\TextColumn::make('preferredSupplier.name')->label(__('Furnizor'))->placeholder('—'),
|
|
])
|
|
->paginated(false)
|
|
->defaultSort('qty');
|
|
}
|
|
}
|