Ana içeriğe geç

Rentiva v4.52.0 — Dışa Aktar Sayfası React SPA

· 2 dakikalık okuma
MaxHandMade
Maintainer

Dışa Aktar admin sayfası artık tam bir React SPA. 780 satırlık eski PHP render kodu, canlı kayıt önizlemesi, girdi başına silme özellikli dışa aktarma geçmişi ve korunan admin-post.php CSV indirme akışını içeren REST destekli bir arayüzle değiştirildi.

Yenilikler

Dışa Aktar Sayfası — React SPA Geçişi

Yeni REST Endpoint'leri (3)

  • GET /mhm-rentiva/v1/admin/export/history — sayfalandırılmış dışa aktarma logu (WP transient, maks. 50 kayıt, 1 haftalık TTL)
  • DELETE /mhm-rentiva/v1/admin/export/{id} — belirli bir geçmiş kaydını sil
  • POST /mhm-rentiva/v1/admin/export/preview — dışa aktarmayı onaylamadan önce seçili post türü ve tarih filtreleri için toplam kayıt sayısı + 5 satırlık örnek döndürür

Yeni React Bileşenleri

  • ExportCards — üç dışa aktarma türü için görsel kart seçici: Rezervasyonlar, Araçlar, Uygulama Logları. Aktif kart mavi kenarlıkla vurgulanıyor.
  • AdvancedFilters — katlanabilir tarih filtresi paneli. ExportFilters::get_date_ranges() ile doldurulan hazır tarih aralıklarını ve özel başlangıç/bitiş tarih girdilerini destekliyor.
  • PreviewBar — önizleme REST çağrısının ardından kayıt sayısını ve 5 satırlık örnek tabloyu gösteriyor. Sayı 0 ise CSV Dışa Aktar butonunu devre dışı bırakıyor.
  • ExportForm — CSV Dışa Aktar butonu, useRef aracılığıyla gizli bir admin-post.php form gönderimi tetikliyor — sayfa yenilemesi yok, SPA navigasyonu yok.
  • ExportHistory — mount sırasında REST üzerinden dışa aktarma logunu yüklüyor. Her satırda satır içi Sil butonu var; başarı durumunda iyimser kaldırma yapılıyor.

Kaldırılan Eski Kod

  • 780 satırlık PHP render kodu özel @deprecated metoduna taşındı, register()'dan kanca kaldırıldı
  • Üç eski AJAX işleyicisi (wp_ajax_mhm_export_*) kanca kayıt defterinden çıkarıldı

i18n

  • 33 yeni Türkçe string çevrildi
  • React paketi için mhm-rentiva-tr_TR-mhm-rentiva-react-export.json oluşturuldu

Testler

3 REST endpoint'ini kapsayan 22 yeni PHPUnit entegrasyon testi: 401/403 yetkilendirme, geçmiş CRUD, DELETE izolasyonu, önizleme doğrulaması (enum zorunluluğu dahil), tarih aralığı filtreleme ve örnek yapı. PHPCS: 0 hata.