|
@@ -2,13 +2,16 @@
|
2
|
2
|
|
3
|
3
|
namespace App\Filament\Company\Resources\Purchases;
|
4
|
4
|
|
|
5
|
+use App\Enums\Accounting\AdjustmentCategory;
|
5
|
6
|
use App\Enums\Accounting\AdjustmentStatus;
|
|
7
|
+use App\Enums\Accounting\AdjustmentType;
|
6
|
8
|
use App\Enums\Accounting\BillStatus;
|
7
|
9
|
use App\Enums\Accounting\DocumentDiscountMethod;
|
8
|
10
|
use App\Enums\Accounting\DocumentType;
|
9
|
11
|
use App\Enums\Accounting\PaymentMethod;
|
10
|
12
|
use App\Filament\Company\Resources\Purchases\BillResource\Pages;
|
11
|
13
|
use App\Filament\Company\Resources\Purchases\VendorResource\RelationManagers\BillsRelationManager;
|
|
14
|
+use App\Filament\Forms\Components\CreateAdjustmentSelect;
|
12
|
15
|
use App\Filament\Forms\Components\CreateCurrencySelect;
|
13
|
16
|
use App\Filament\Forms\Components\DocumentTotals;
|
14
|
17
|
use App\Filament\Tables\Actions\ReplicateBulkAction;
|
|
@@ -209,51 +212,24 @@ class BillResource extends Resource
|
209
|
212
|
->live()
|
210
|
213
|
->maxValue(9999999999.99)
|
211
|
214
|
->default(0),
|
212
|
|
- Forms\Components\Select::make('purchaseTaxes')
|
|
215
|
+ CreateAdjustmentSelect::make('purchaseTaxes')
|
213
|
216
|
->label('Taxes')
|
214
|
|
- ->relationship(
|
215
|
|
- name: 'purchaseTaxes',
|
216
|
|
- titleAttribute: 'name',
|
217
|
|
- modifyQueryUsing: function (Builder $query, ?DocumentLineItem $record) {
|
218
|
|
- $existingAdjustmentIds = $record?->purchaseTaxes()
|
219
|
|
- ->pluck('adjustments.id')
|
220
|
|
- ->toArray() ?? [];
|
221
|
|
-
|
222
|
|
- $query->where(function ($query) use ($existingAdjustmentIds) {
|
223
|
|
- $query->where('status', AdjustmentStatus::Active)
|
224
|
|
- ->orWhereIn('adjustments.id', $existingAdjustmentIds);
|
225
|
|
- });
|
226
|
|
-
|
227
|
|
- return $query;
|
228
|
|
- }
|
229
|
|
- )
|
|
217
|
+ ->category(AdjustmentCategory::Tax)
|
|
218
|
+ ->type(AdjustmentType::Purchase)
|
|
219
|
+ ->adjustmentsRelationship('purchaseTaxes')
|
230
|
220
|
->saveRelationshipsUsing(null)
|
231
|
221
|
->dehydrated(true)
|
232
|
222
|
->preload()
|
233
|
223
|
->multiple()
|
234
|
224
|
->live()
|
235
|
225
|
->searchable(),
|
236
|
|
- Forms\Components\Select::make('purchaseDiscounts')
|
|
226
|
+ CreateAdjustmentSelect::make('purchaseDiscounts')
|
237
|
227
|
->label('Discounts')
|
238
|
|
- ->relationship(
|
239
|
|
- name: 'purchaseDiscounts',
|
240
|
|
- titleAttribute: 'name',
|
241
|
|
- modifyQueryUsing: function (Builder $query, ?DocumentLineItem $record) {
|
242
|
|
- $existingAdjustmentIds = $record?->purchaseDiscounts()
|
243
|
|
- ->pluck('adjustments.id')
|
244
|
|
- ->toArray() ?? [];
|
245
|
|
-
|
246
|
|
- $query->where(function ($query) use ($existingAdjustmentIds) {
|
247
|
|
- $query->where('status', AdjustmentStatus::Active)
|
248
|
|
- ->orWhereIn('adjustments.id', $existingAdjustmentIds);
|
249
|
|
- });
|
250
|
|
-
|
251
|
|
- return $query;
|
252
|
|
- }
|
253
|
|
- )
|
|
228
|
+ ->category(AdjustmentCategory::Discount)
|
|
229
|
+ ->type(AdjustmentType::Purchase)
|
|
230
|
+ ->adjustmentsRelationship('purchaseDiscounts')
|
254
|
231
|
->saveRelationshipsUsing(null)
|
255
|
232
|
->dehydrated(true)
|
256
|
|
- ->preload()
|
257
|
233
|
->multiple()
|
258
|
234
|
->live()
|
259
|
235
|
->hidden(function (Forms\Get $get) {
|