Skip to content

Commit b4ac94b

Browse files
Merge pull request #80 from khalidmaquilang/hotfix/si-86-fix-inventory-creation
SI-86 | Hotfix | fix inventory creation
2 parents ae3ddfc + f31fc08 commit b4ac94b

File tree

3 files changed

+27
-1
lines changed

3 files changed

+27
-1
lines changed

app/Filament/Resources/InventoryResource.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
use Filament\Resources\Resource;
1414
use Filament\Tables;
1515
use Filament\Tables\Table;
16+
use Illuminate\Validation\Rules\Unique;
1617

1718
class InventoryResource extends Resource
1819
{
@@ -30,7 +31,9 @@ public static function form(Form $form): Form
3031
->relationship('product', 'name')
3132
->searchable()
3233
->createOptionForm(Product::getForm())
33-
->unique(ignoreRecord: true)
34+
->unique(ignoreRecord: true, modifyRuleUsing: function (Unique $rule) {
35+
return $rule->where('company_id', Filament::getTenant()->id);
36+
})
3437
->required(),
3538
Forms\Components\TextInput::make('quantity_on_hand')
3639
->required()

app/Observers/ProductObserver.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
3+
namespace App\Observers;
4+
5+
use Filament\Facades\Filament;
6+
use Illuminate\Database\Eloquent\Model;
7+
8+
class ProductObserver extends BaseObserver
9+
{
10+
/**
11+
* Handle the Model "creating" event.
12+
*/
13+
public function creating(Model $model): void
14+
{
15+
if (auth()->check()) {
16+
$model->company_id = Filament::getTenant()->id;
17+
}
18+
}
19+
}

app/Providers/AppServiceProvider.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use App\Models\GoodsReceipt;
88
use App\Models\Inventory;
99
use App\Models\Payment;
10+
use App\Models\Product;
1011
use App\Models\PurchaseOrder;
1112
use App\Models\PurchaseOrderItem;
1213
use App\Models\Sale;
@@ -17,6 +18,7 @@
1718
use App\Observers\GoodsReceiptObserver;
1819
use App\Observers\InventoryObserver;
1920
use App\Observers\PaymentObserver;
21+
use App\Observers\ProductObserver;
2022
use App\Observers\PurchaseOrderItemObserver;
2123
use App\Observers\PurchaseOrderObserver;
2224
use App\Observers\SaleItemObserver;
@@ -56,6 +58,8 @@ public function boot(): void
5658
StockMovement::observe(StockMovementObserver::class);
5759
GoodsReceipt::observe(GoodsReceiptObserver::class);
5860
Payment::observe(PaymentObserver::class);
61+
Product::observe(ProductObserver::class);
62+
Inventory::observe(InventoryObserver::class);
5963

6064
Event::subscribe(StockMovementSubscriber::class);
6165
}

0 commit comments

Comments
 (0)