Commit Graph

11 Commits

Author SHA1 Message Date
Kazem Alghasi
e6c67e217a style(pdf): overhaul invoice and label templates for brand consistency
Update the styling and layout of PDF invoices and labels to align with
the new brand identity (Navy and Amber color scheme).

Key changes:
- Refactor `invoice.blade.php` to use a structured table-based layout
  for better Dompdf compatibility.
- Implement a new color palette using Navy (#1a1a2e) and Amber (#f59e0b).
- Redesign `label.blade.php` with a split-cell layout (barcode left,
  info right) for improved readability.
- Standardize typography and spacing across all document templates.
- Remove obsolete sample PDF files from the repository.
2026-10-03 21:00:55 +03:30
Kazem Alghasi
93bcfb9ce7 refactor(pdf): switch AWB template to landscape orientation
Update the AWB document generation to use landscape mode and adjust
the layout to utilize the additional horizontal space.

Key changes:
- Change `PdfService` orientation from portrait to landscape for AWB.
- Refactor `awb.blade.php` to use a side-by-side layout for terms
  and signatures.
- Adjust grid column widths from 50% to 25% to accommodate the
  new orientation.
- Update `@page` margin definitions for better print alignment.
2026-10-03 20:33:15 +03:30
Kazem Alghasi
d4b9e5bff5 style(pdf): overhaul layout and styling for document templates
Refactor AWB, Import Invoice, and Invoice Blade templates to improve
rendering compatibility with Dompdf.

Key changes:
- Replace flexbox and box-sizing with table-based layouts to ensure
  consistent rendering in Dompdf.
- Implement `@page` margins instead of container padding to prevent
  content overflow and clipping.
- Update color palette to a modern navy and gray scheme.
- Adjust font sizes and typography for better readability and
  professional appearance.
- Fix width issues by using 100% width containers instead of fixed
  millimeter widths.
2026-10-03 19:41:01 +03:30
Kazem Alghasi
02c29db696 feat(core): implement order approval flow, credit system, and import invoicing
Introduce a comprehensive set of commercial features including a multi-step
order approval workflow, customer credit management, and specialized
import service invoicing.

Key changes:
- Implement `pending_approval` and `approved` shipment statuses to allow
  staff verification before customer payment.
- Add a credit system to `User` model with `credit_limit` and `credit_used`
  to manage customer balances and debts.
- Develop a new `importInvoice` PDF generation service following the
  "Sheet ENG Invoice" specification for import services.
- Add Filament resources for managing Audit Logs, Commitment Forms,
  Customer Credits, and Shipment Checklists.
- Implement staff-specific APIs for order approval/rejection and
  customer financial status monitoring.
- Integrate Kavenegar SMS service for mobile verification and notifications.
- Add bulk tracking import functionality via CSV/Excel.
- Update WordPress bridge assets (CSS/JS) to support the new multi-step
  order form UI and updated redirection logic.
- Update deployment configurations and documentation to reflect new
  production domains and feature sets.
2026-09-03 06:04:20 +03:30
Kazem Alghasi
f12dff5338 - Add picqer/php-barcode-generator dependency
- Redesign AWB PDF with barcode, From/To, Value, Service, Type
- Redesign Invoice PDF with 9-row table, legal declaration, barcode
- Redesign Label PDF to A5 landscape with large barcode
- Add DOC/PARCEL condition for Invoice (only PARCEL has invoice)
- Fix ShipmentType enum names (DocNormal/DocEconomy)
- Add migration for shipment_items (row_number, unit_price)
- Add migration to make name nullable
- Update PdfService with base64 barcode embedding
- Update ShipmentPdfController with DOC type handling
- Add test_pdf_generation.php script

Phase 3.5 — PDF redesign complete"
2026-08-29 06:40:08 +03:30
Kazem Alghasi
157ce1bdd4 feat(shipment): add multi-package support and AWB integration
Introduce a new shipment packages system to allow handling shipments
consisting of multiple individual packages. This includes a new
ShipmentPackage model, a dedicated database table, and a repeater
field in the Filament ShipmentResource for managing package details
such as weight, dimensions, and declared value.

Additionally, update the AWB PDF generation service and template to
include a detailed breakdown of all associated packages when multiple
items are present.
2026-08-24 01:47:45 +03:30
Kazem Alghasi
ab591dc9f8 refactor(shipping): clean up import logic and fix PDF asset paths
Refactor the shipping rates import process to remove redundant comments
and simplify variable assignments. Additionally, update PDF templates
to use the `asset()` helper instead of `public_path()` for logo
rendering to ensure consistent asset loading.

- refactor(import): simplify `ShippingRatesImport` logic and variable naming
- fix(pdf): update logo image source from `public_path` to `asset` in AWB and Label templates
2026-08-23 22:56:08 +03:30
Kazem Alghasi
b051ce4496 feat(shipment): expand schema and enhance PDF generation
Extend the shipment database schema to support additional tracking fields,
state information, and financial data. This update also transitions
shipment documentation from RTL/Persian to LTR/English layouts and
integrates barcode generation for AWB and labels.

- feat(db): add migration for missing shipment fields (state, cod_amount,
  declared_value, etc.)
- feat(shipment): update Shipment model with new casts and helper methods
- feat(ui): refactor Filament resource to use ShipmentStatus enum and
  add new input fields
- feat(pdf): implement barcode generation using picqer/php-barcode-generator
- feat(pdf): redesign AWB, Invoice, and Label templates for LTR/English
  support
- refactor(enum): simplify ShipmentStatus enum and update labels/colors
- chore(deps): add picqer/php-barcode-generator dependency
2026-08-23 22:31:58 +03:30
Kazem Alghasi
31d28fbe68 docs(pdf): add technical mapping and implementation notes to templates
Add detailed documentation within AWB, Invoice, and Label PDF templates
to map HTML elements to specific Excel cell references and VLOOKUP
sources. This includes requirements for fonts, colors, and dimensions
to ensure future alignment with official IFNEX branding and Excel
templates.

Also update project status to reflect completed middleware configuration
tasks.
2026-08-04 09:50:53 +03:30
Kazem Alghasi
f330d13620 refactor(import): enhance shipping rates import and refine PDF layouts
Improve the reliability and usability of the shipping rates import
process and update PDF document templates for better visual fidelity.

- Enhance `ImportShippingRates` command with `--clear` and `--dry-run`
  options to prevent accidental data loss and allow safe testing.
- Implement error handling and statistics tracking in `ShippingRatesImport`
  to capture skipped rows and import errors.
- Refactor AWB and Label PDF templates to use A4 standard dimensions
  and improved CSS layouts.
- Integrate company logo into PDF headers.
- Add a new pricing inquiry page and navigation link.
- Clean up obsolete test scripts.
2026-08-04 09:47:22 +03:30
Kazem Alghasi
5874568c63 feat(shipment): implement PDF generation for AWB, invoice, and labels
Introduce PDF generation capabilities for shipments using laravel-dompdf.
This includes a new service layer, dedicated controller, and routes
to handle the generation of Air Waybills (AWB), Invoices, and Shipping
Labels.

- Add `PdfService` to encapsulate PDF generation logic.
- Add `ShipmentPdfController` to handle PDF download requests.
- Integrate `barryvdh/laravel-dompdf` dependency.
- Add Filament header actions to view shipment pages for quick PDF access.
- Update order success view to provide direct download links for documents.
- Add label methods to `ShipmentDirection` and `ShipmentType` enums.
- Update project status documentation to reflect initial PDF implementation.
2026-08-04 09:20:23 +03:30