====================================================
Arti Atolye ERP — Patch V5 Kurulum Talimatı
CSV Önizleme + Admin CSV Onay Yeniden Tasarım
====================================================

KURULUM SIRASI (sırayı bozma!)
────────────────────────────────────────────────────

ADIM 1 — BACKUP AL
  FileManager üzerinden şu dosyaları yedekle:
  • public_html/erp/csv_preview.php         → csv_preview.php.bak
  • public_html/erp/admin_import_review.php → admin_import_review.php.bak
  • public_html/erp/assets/css/erp.css      → erp.css.bak

ADIM 2 — SQL ÇALIŞTİR (phpMyAdmin)
  nbkartia_erp001 > Import > sql/patch_v5.sql

  Bu SQL şunları yapar:
  ✓ product_image_path kolonunu order_items'a ekler
    (orders.php, production.php crash'i düzelir)
  ✓ V4 migration kolonlarını güvenle ekler
    (net_item_total, shipping_type, flag_match_type, vb.)
  ✓ erp_counters tablosunu oluşturur (yoksa)
  ✓ Üretim sıra no'yu 10001'den başlatır (INSERT IGNORE)
  ✓ Üretim durumlarını ekler/günceller
  ✓ İndeksleri ekler
  
  NOT: SQL idempotent'tir. Tekrar çalıştırılsa zarar vermez.

ADIM 3 — DOSYALARI YÜKLE
  Bu zip'in içindeki şu dosyaları public_html/erp/ altına kopyala:
  • csv_preview.php
  • admin_import_review.php
  • assets/css/erp.css

  config.php'ye DOKUNMA.
  Diğer dosyalara (auth.php, helpers.php, vb.) DOKUNMA.

ADIM 4 — TEST ET
  □ 1. phpMyAdmin > nbkartia_erp001 > orders tablosunda
       product_image_path kolonu var mı? → Evet olmalı.
  □ 2. /erp/orders.php aç → Artık crash ETMEMELI.
  □ 3. /erp/csv_preview.php → Order-card görünüm çalışıyor mu?
  □ 4. CSV Önizleme'de kontrol:
       - Siparişler order ID'ye göre gruplanmış mı?
       - Ship by tarihi renkli gösteriliyor mu?
       - Express sipariş turuncu badge ile görünüyor mu?
       - Aynı müşteri birden fazla siparişte kocaman uyarı var mı?
       - Ürün adı kısa iç isim mi? (Etsy başlığı değil)
       - Net tutar = price - discount doğru mu?
       - Personalization sadece varsa mı görünüyor?
       - Mağaza notu bir tıkla açılıyor mu?
       - Adres gizli, "Ship to ▸" ile açılıyor mu?
  □ 5. 1–2 satır seçip "Admin Onayına Gönder" düğmesine bas.
  □ 6. admin_import_review.php'de şunları kontrol et:
       - Aynı order-card yapısı görünüyor mu?
       - "Grubu Üretim Al" butonu çalışıyor mu? (confirm dialog)
       - Onaylandıktan sonra production_no verildi mi?
  □ 7. Üretim Listesi'nde 10001 numaralı satır var mı?
  □ 8. Quantity 2 olan bir satırı onayla →
       10001 ve 10002 şeklinde iki ayrı satır oluştu mu?

ROLLBACK (herhangi bir sorun olursa)
────────────────────────────────────────────────────
  FileManager > .bak dosyalarını geri kopyala:
  • csv_preview.php.bak → csv_preview.php
  • admin_import_review.php.bak → admin_import_review.php
  • erp.css.bak → assets/css/erp.css
  
  SQL ALTER TABLE geri alınmaz ama zarar da vermez.
  Üretim sıra no 10001'de başlar, INSERT IGNORE ile korunuyor.

NE DEĞİŞTİ (özet)
────────────────────────────────────────────────────
erp.css
  • Tema siyah+gold → lacivert/navy + şampanya gold
  • Sidebar, kartlar, butonlar navy tonlarına döndü
  • op-item grid düzgün 4-sütun layout
  • Yeni: op-badge-express (turuncu), op-shipby.overdue/today/soon
  • Yeni: op-warn-pill, op-chip, op-personal, op-note-section

csv_preview.php
  • "Yüzük", "Taşsız 14K" gibi gereksiz badge'ler kaldırıldı
  • Her ORDER = bir kart (Etsy order ID bazlı)
  • Ürün adı: short_name > product_name > truncated Etsy title
  • Net tutar = price - discount (csv_mod_net_item_total)
  • Personalization sadece varsa gösterilir
  • Mağaza notu: per-order, collapsible, tek textarea
  • Adres: "Ship to ▸" ile açılan <details>
  • Express: turuncu "⚡ EXPRESS" badge
  • Ship-by date: renk kodlamalı (red=geç, orange=yarın, yellow=2-3 gün)
  • Aynı müşteri uyarısı kart üstünde büyük

admin_import_review.php
  • Aynı order-card yapısı
  • Per-group "✓ Grubu Üretim Al" butonu (JS confirm dialog)
  • Admin notu: per-group collapsible textarea
  • Mağaza notu görünür (readonly)
  • Risk detayı (flag_admin_detail) sadece admin'e, collapsible
  • Tüm eski bulk approve/reject özelliği korundu
  • Üretim sıra no 10001'den başlar

SQL (patch_v5.sql)
  • order_items.product_image_path → orders.php crash düzelir
  • Tüm V4 kolonları idempotent eklendi
  • erp_counters: production_no = 10001 başlangıç (INSERT IGNORE)
  • Üretim durumları güncellendi

DEĞİŞMEYEN DOSYALAR (dokunma!)
────────────────────────────────────────────────────
  config.php, auth.php, helpers.php, db.php
  csv_module_common.php (PHP logic doğruydu, değişmedi)
  csv_process.php, csv_confirm.php, csv_upload.php
  production.php, orders.php, order_detail.php
  includes/layout.php, includes/layout_end.php
  Tüm stone_*, design_*, product_* dosyaları

====================================================
Sonraki patch için planlananlar (V6):
  • Üretim Listesi (production.php) yeniden tasarım
  • Barkod arama ekranı (barcode_scan.php)
  • Ana Etiket çıktısı (label_print.php)
  • 5 iş günü takip countdown
====================================================
