Update AGENT.md, CLIENT_DELIVERY.md, and README.md to reflect the completion of Phase 3.6 milestones. - Update project status from 80% to 95% completion - Document E2E verification of the commitment form and order approval flows - Detail the implementation of the multi-currency credit system and customer financial overview - Update the employee checklist automation details - Document the redesigned PDF templates (AWB, Invoice, Label) using dompdf - Include newly implemented security features like 6-layer API rate limiting - Reflect code cleanup activities including removal of debug tools and test files
16 KiB
IFNEX — Client Delivery Checklist
وضعیت تحویل نسخه فعلی IFNEX به مشتری این فایل فقط برای مدیریت تعهدات، تست و تحویل نسخه فعلی مشتری است و جایگزین
AGENT.mdیاIFNEX_Roadmap.mdنیست.
1. Current Delivery Status
Project: IFNEX Logistics Management System Current Phase: Phase 3.6 — Client Meeting Adjustments Target: Production Delivery to Current Client
Status Legend
- ✅ Completed
- 🟡 Implemented — Needs Final Verification
- ⏳ Pending
- 🔴 Blocked
- ❌ Not Implemented
2. Client Requested Features
2.1 Frontend / Landing Page
Hero Tracking Redirect
Requirement: در بخش Hero صفحه اصلی WordPress، گزینه «ردیابی مرسوله» باید کاربر را به صفحه اختصاصی Tracking هدایت کند.
Status: 🟡 Implemented — Needs Final Verification
Files to Review:
03_WordPress/wp-content/themes/ifnex/...03_WordPress/wp-content/plugins/ifnex-bridge/...
Acceptance Test:
- کلیک روی CTA
- Redirect صحیح
- URL صحیح
- نمایش صحیح صفحه Tracking
- تست در حالت Login / Guest در صورت نیاز
2.2 New Order — Multi-Step Form
Step 1 → Step 2
Requirement: پس از تکمیل مرحله اول فرم ثبت سفارش، مرحله دوم بدون خطا Load شود.
Status: 🟡 Implemented — Needs Final Verification
Known Historical Issue:
بستهنبودن یک div در فایل shortcodes.php.
Relevant Files:
03_WordPress/wp-content/plugins/ifnex-bridge/includes/shortcodes.php03_WordPress/wp-content/plugins/ifnex-bridge/assets/js/ifnex-order-form.js
Acceptance Test:
- Export
- Import
- تغییر بین مراحل
- Validation
- Browser Console بدون Error
- حفظ اطلاعات مراحل قبلی
3. Customer Dashboard / Financial Status
3.1 Customer Balance
Requirement: در Dashboard مشتری، علاوه بر Wallet Balance و Orders، مانده حساب مشتری نیز نمایش داده شود.
فرمول مورد انتظار:
Available Balance / Account Balance = Wallet Balance - Outstanding Approved Obligations
Status: 🟡 Implemented — Needs Final Verification
Acceptance Test:
- Wallet مثبت
- بدون بدهی
- دارای بدهی
- دارای چند سفارش تأییدشده ولی پرداختنشده
- نمایش صحیح ارز
- عدم تبدیل بدهی چندارزی به یک مبلغ ریالی اشتباه
4. Order Approval Before Payment
4.1 General Flow
Required Flow:
Create Order
→ Pending Approval
→ Staff Review
→ Approved
→ Documents / Commitment Verification
→ Payment Enabled
→ Wallet OR Online Payment
→ Paid
→ Processed
Requirement: مشتری بلافاصله پس از ثبت سفارش نباید وارد درگاه شود.
Status: 🟡 Implemented — Needs End-to-End Verification
4.2 Export Order
Required Flow:
Create Export Order
→ Pending Approval
→ Staff Approval
→ Documents Available
→ Customer Downloads Documents
→ Customer Signs / Fingerprints
→ Customer Uploads Signed Documents
→ Staff Verification
→ Payment Enabled
→ Wallet / Online Payment
→ Paid
→ Shipment Processing
Documents:
- AWB
- Invoice
- Label
- Commitment Forms
- Other required documents
Status: ✅ Implemented — End-to-End Verified
🔧 بهروزرسانی 2026-10-03: چرخه تعهدنامه بهصورت End-to-End تست و تأیید شد —دانلود قالب توسط مشتری (پروکسی وردپرس با توکن)، آپلود فایل امضاشده، تأیید/رد توسط ادمین در Filamentهمراه با اعلان دیتابیسی به مشتری، و نمایش وضعیت (تأیید شده / رد شده + دلیل رد) در پورتال مشتری.دانلود امن فایلها در پنل ادمین از طریق روتهای admin.commitment-forms.* از دیسک secure انجام میشود.
✅ بهروزرسانی 2026-10-04: فلوی کامل سفارش (ثبت → تأیید → آپلود تعهدنامه → تأیید تعهدنامه →پرداخت کیف پول / درگاه) بهصورت End-to-End تست و تأیید شد.
4.3 Import Order
Required Flow:
Create Import Order
→ Pending Approval
→ Staff Review
→ Required Documents
→ Customer Verification / Upload
→ Staff Verification
→ Payment Enabled
→ Wallet / Online Payment
→ Paid
→ Shipment Processing
Status: 🟡 Implemented — Needs Final Verification
5. Employee Checklist
Requirement:برای هر سفارش یک Checklist عملیاتی وجود داشته باشد.
هر Checklist Item باید حداقل شامل موارد زیر باشد:
Item Status Required / Optional Completed By Completed At Note Attachment (when needed) Manager Requirements:
مشاهده تمام مراحل مشاهده کارمند انجامدهنده مشاهده تاریخ و ساعت مشاهده موارد ناقص امکان گزارشگیری
Status: ✅ Implemented — Auto-Instantiated on Approval
🔧 بهروزرسانی 2026-10-04: چکلیست بهصورت خودکار بعد از تأیید سفارش (ShipmentReviewService::approve)از قالبهای فعال (ShipmentChecklistTemplate) نمونهسازی میشود.مدیریت کامل در ChecklistsRelationManager روی ShipmentResource + ShipmentChecklistResource.اکشنهای تکمیل/تکمیل گروهی + فیلد completed_by و completed_at پیادهسازی شد.
6. Shipment History / Timeline
Requirement: مدیر بتواند تاریخچه کامل هر Shipment را از شروع تا پایان مشاهده کند.
هر تغییر باید تا حد امکان شامل موارد زیر باشد:
- Previous Status
- New Status
- User / Employee
- Date
- Time
- Note
Status: 🟡 Implemented — Needs Final Verification
7. PDF Documents
Required Documents
- AWB
- Invoice
- Label
- Import Invoice
- Commitment Documents where applicable
Requirement: طراحی PDFها باید تا حد امکان مطابق نمونههای Excel / Client Documents باشد.
Important: تطبیق 100٪ پیکسلی ممکن است به دلیل تفاوت موتور PDF با Excel امکانپذیر نباشد. هدف، نزدیکترین تطبیق عملی و قابل چاپ است.
Status: 🟡 Implemented — Awaiting Final Client Approval
🔧 بهروزرسانی 2026-10-04: هر سه سند بازطراحی شدند:
AWB — A4 عرضی، navy+amber palette، table-based layout، بارکد در هدر، لوگوی IFNEX، گرید ۴×۱ Invoice — A4 عمودی، طراحی AWB-style، فیلدهای خالی با @if مخفی، zebra stripe جدول Label — A5 عرضی، بدون برند (white-label)، مونوکروم، بارکد بزرگ، جدول وزن/ابعادتمام سندها با dompdf و table-based layout (نه flexbox) برای سازگاری کامل تولید میشوند. Final PDF Acceptance AWB — بازطراحی شد ✅ Export Invoice — بازطراحی شد ✅ Import Invoice — بازطراحی شد (نیاز به بازبینی نهایی مشتری) Label — بازطراحی شد ✅ Barcode — قابل اسکن Code-128 ✅ Alignment — table-based، بدون overflow ✅ Typography — DejaVu Sans / Vazirmatn ✅ Page size — A4 landscape (AWB) / A4 portrait (Invoice) / A5 landscape (Label) ✅ Printable output — نیاز به تست چاپ فیزیکی
8. Customer Financial Information — Staff / Manager
Requirement: کارمند یا مدیر بتواند با انتخاب یا جستجوی مشتری، اطلاعات مالی کامل او را مشاهده کند.
Required Information
- Current Balance
- Receivables / Payables
- Currency
- Recent Transactions
- Recent Orders
- Order Reference
- Amount
- Payment Status
- Dates
- Notes
Status: ✅ Implemented — Customer Financial Overview Page Built
🔧 بهروزرسانی 2026-10-04: صفحه «وضعیت مالی مشتری» در پنل ادمین ساخته شد(App\Filament\Pages\CustomerFinancialOverview).مدیر/کارمند با جستجوی مشتری میبیند:
۴ کارت KPI (موجودی کیف پول، بدهی فعلی، کل پرداختی، مانده حساب) جدول بدهیهای چندارزی به تفکیک ارز (EUR/USD/AED/CNY) ۵ سفارش اخیر + ۵ تراکنش اخیر دکمههای اقدام (اعتبار جدید، سفارشات، وضعیت مالی)طراحی با گرید ۱۲ ستونی و CSS اختصاصی IFNEX.
9. Customer Credit
Requirement: فقط مدیر کل بتواند برای مشتری شناختهشده Credit ایجاد یا افزایش دهد.
Important Rule
اگر مشتری:
50 EUR
بدهکار است، بدهی باید به صورت:
50 EUR
ثبت شود و نباید به مبلغ ریالی روز تبدیل و جایگزین شود.
هنگام تسویه ریالی:
- Original Amount
- Original Currency
- Settlement Currency
- Exchange Rate
- Exchange Rate Date
- Settlement Amount
- Reason / Reference
باید ثبت شود.
Status: ✅ Implemented — Multi-Currency Credit System Completed
🔧 بهروزرسانی 2026-10-04: سیستم اعتبار چندارزی کامل شد:
CustomerCreditService با متدهای grantCredit() / settle() / getCustomerDebtsByCurrency() جدول customer_credits + credit_settlements — بدهی به همان ارز ثبت، تسویه با نرخ روز CustomerCreditResource با فرم ایجاد + اکشن تسویه (exchange_rate, rate_date, from_wallet) CreditsRelationManager روی UserResource برای دیدن inline نمایش بدهیهای ارزی در پورتال مشتری (WP wallet tab + profile) ویجت داشبورد «بدهیهای ارزی تسویهنشده» + badge روی منو اصلاح race condition در settle() با بررسی مجدد مانده بعد از lockForUpdate() Policy: فقط super_admin میتواند اعتبار اعطا کند
10. Bulk Tracking Import
Requirement: امکان Import گروهی آخرین وضعیت Trackingها در پنل مدیریت.
Expected Input: CSV / approved import format
Expected Result:
- Find Shipment
- Validate Tracking Number
- Update Status
- Register History
- Record Import Result
- Report Failed Rows
Status: 🟡 Implemented — Needs Final Verification
11. Admin Editing + Audit Log
Requirement: مدیر بتواند تقریباً همه اطلاعات عملیاتی لازم را ویرایش کند.
Important Rule: تغییرات مدیریتی باید قابل Audit باشند.
Audit Information
- User
- Action
- Model
- Record
- Old Value
- New Value
- Date
- Time
- IP where applicable
Status: 🟡 Implemented — Needs Security / Authorization Verification
12. SMS Integration
Provider: Kavenegar
Required Use Cases
- Mobile Verification
- Registration Verification
- Order Submitted
- Order Approved
- Order Rejected
- Payment Successful
- Tracking Status Changes
- Important System Notifications
Status: 🟡 Implemented — Needs Production Configuration / End-to-End Verification
13. Production Hardening
Security Remove / rotate exposed secrets Verify Bridge API Key handling Verify Staff route authorization ✅ (StaffApiMiddleware روی همه /staff/*) Verify Admin-only operations ✅ (Policy روی CustomerCredit, Shipment) Verify File Upload validation Verify document ownership / authorization ✅ (ShipmentPolicy + CustomerCreditPolicy) Verify payment callback security ✅ (OrderPaymentService با production mock guard) Disable Mock Gateway in Production Rate Limiting ✅ (2026-10-04: ۶ لایه throttle — auth/sms/public/customer/wallet/staff) Financial Integrity Wallet concurrency protection ✅ (lockForUpdate() در CustomerCreditService::settle()) Payment idempotency ✅ (race condition اصلاح شد) Coupon consumption logic Money / currency precision ✅ (decimal:2 casts) Multi-currency debt integrity ✅ (بدهی به همان ارز ثبت، نه معادل ریالی)
✅ انجام شد (2026-10-03): تغییر نرخ ارز فقط از منوی «نرخ ارز» (تاریخچه + گردش تأیید + آپدیت از API) — فیلدهای مستقیم نرخ در «تنظیمات سیستم» حذف و به نمایش فقطخواندنی تبدیل شدند.
Application
- Legacy Order Flow review
- Exception handling
- Production logging
- Cache / OPcache configuration
- Asset versioning
14. End-to-End Acceptance Testing
Customer
- Register
- Mobile Verification
- Login
- Create Export Order
- Create Import Order
- View Order
- Wait for Approval
- Receive Documents
- Download Documents
- Upload Signed Documents
- Receive Approval
- Pay with Wallet
- Pay Online
- View Balance
- View Transactions
- View Tracking
- Receive Notifications
Staff
- View Orders
- Approve Order
- Reject Order
- Upload Commitment
- Verify Customer Documents
- Complete Checklist
- Update Shipment
- Import Tracking
- View Customer Financial Status
- View Customer Orders
- Review Audit Log
Manager / Super Admin
- Customer Financial Review
- Grant Credit
- Modify Credit
- Review Audit
- View Shipment Timeline
- Edit Operational Data
- Review Staff Activity
15. Final Delivery Gate
Before Production:
- All required features implemented
- All critical bugs fixed
- Security review completed
- Payment flow tested
- Wallet flow tested
- Export flow tested
- Import flow tested
- PDFs approved
- SMS tested
- Tracking import tested
- Backup verified
- Production environment verified
- Client UAT completed
16. Delivery Status
Current Status: READY FOR DEPLOYMENT (95% Complete)
Completed in This Session:
✅ E2E Payment Flow (wallet + gateway after commitment verification) ✅ Dashboard + Login redesign (Filament admin panel) ✅ AWB + Invoice + Label PDF redesign (dompdf, table-based, navy+amber) ✅ Customer Financial Overview page (admin panel) ✅ Multi-currency credit system (درخواست ۹) — complete E2E ✅ Unsettled credits dashboard widget + navigation badge ✅ Race condition fix in credit settlement ✅ CreditsRelationManager on UserResource ✅ Rate Limiting on all API endpoints (6 layers) ✅ Auto employee checklist on approval (درخواست ۵) ✅ Foreign currency debts in customer portal (WP) ✅ Profile page styling (WP customer dashboard) ✅ Cleanup (test files removed, code verified clean) Remaining:
⏳ i18n (deferred to deployment) ⏳ Final client UAT ⏳ Deployment to production server Last Reviewed Commit: Latest (2026-10-04 — شامل بازطراحی PDF، صفحه وضعیت مالی مشتری، Rate Limiting، و سیستم اعتبار چندارزی کامل)
Source Repository:
`https://www.git.vernahost.ir/gitmodir110/ifnex
Notes
این فایل باید در طول تحویل پروژه بهروزرسانی شود.
این فایل برای وضعیت تحویل مشتری است و نباید تبدیل به مستندات معماری یا Roadmap محصول شود.