定制 mortezaa97/inventories 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

mortezaa97/inventories

最新稳定版本:v1.0.2

Composer 安装命令:

composer require mortezaa97/inventories

包简介

README 文档

README

Latest Version on Packagist Total Downloads

A comprehensive Filament plugin for managing inventories and inventory logs with polymorphic tracking, full CRUD interface, and detailed history.

Features

  • 📦 Inventory Management: Track stock levels across multiple warehouses
  • 📊 Inventory Logs: Complete history of all inventory changes
  • 🔗 Polymorphic Tracking: Link inventory changes to any model (products, orders, etc.)
  • 🎯 HasInventoryLogs Trait: Easy integration with existing models
  • 🔐 Authorization: Built-in policies for secure access control
  • 🌐 API Ready: RESTful API endpoints for all resources
  • 📈 Relation Manager: Built-in Filament relation manager for inventory logs
  • 🇮🇷 Persian Support: Full RTL and Persian language support

Installation

1. Require the package via Composer

composer require mortezaa97/inventories

2. Register the Plugin

In your app/Providers/Filament/AdminPanelServiceProvider.php:

use Mortezaa97\Inventories\InventoriesPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            InventoriesPlugin::make(),
        ]);
}

3. Run Migrations

php artisan migrate

4. Clear Caches

php artisan config:clear
php artisan cache:clear

Configuration

Publish the configuration file:

php artisan vendor:publish --tag="inventories-config"

Publish migrations:

php artisan vendor:publish --tag="inventories-migrations"

Usage

See PLUGIN_USAGE.md for detailed usage instructions.

Quick Example

use Mortezaa97\Inventories\Models\Inventory;
use Mortezaa97\Inventories\Traits\HasInventoryLogs;

// Add trait to your model
class Product extends Model
{
    use HasInventoryLogs;
}

// Create inventory
$inventory = Inventory::create([
    'name' => 'Main Warehouse',
    'count' => 100,
    'created_by' => auth()->id(),
]);

// Increase inventory
$product->increaseInventory($inventory->id, 50);

// Decrease inventory
$product->decreaseInventory($inventory->id, 10);

// Get all logs
$logs = $product->inventoryLogs;

Available Models

Inventory

  • Tracks stock levels
  • Has many inventory logs
  • Soft deletable

InventoryLog

  • Records all changes
  • Polymorphic relationship to any model
  • Tracks increase/decrease operations
  • Soft deletable

Available Trait

HasInventoryLogs

Add inventory tracking to any model:

use Mortezaa97\Inventories\Traits\HasInventoryLogs;

class YourModel extends Model
{
    use HasInventoryLogs;
    
    // Available methods:
    // - inventoryLogs()
    // - addInventoryLog()
    // - increaseInventory()
    // - decreaseInventory()
    // - inventoryLogsFor()
}

API Routes

  • /api/inventories - Inventory CRUD
  • /api/inventory-logs - Inventory Log CRUD

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-10-25