Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 3 additions & 16 deletions Modules/Sources/Networking/Model/Product/Product.swift
Original file line number Diff line number Diff line change
Expand Up @@ -766,12 +766,9 @@ public struct Product: Codable, GeneratedCopiable, Equatable, GeneratedFakeable
try container.encode(password, forKey: .password)

// Metadata
var metaDataValuePairs = buildMetaDataValuePairs()

// Add custom fields to metadata
let customFields = buildCustomFields()
metaDataValuePairs.append(contentsOf: customFields)

let metaDataValuePairs = buildMetaDataValuePairs()
// Custom fields will not be included in metadata - when updating products.
// They are saved separately with `MetaDataStore`.
// Encode metadata if it's not empty
if metaDataValuePairs.isEmpty == false {
try container.encode(metaDataValuePairs, forKey: .metadata)
Expand All @@ -785,16 +782,6 @@ public struct Product: Codable, GeneratedCopiable, Equatable, GeneratedFakeable
}
return metaDataArray
}

// Function to get the custom fields
private func buildCustomFields() -> [[String: String]] {
var customFieldsArray: [[String: String]] = []
for customField in customFields {
customFieldsArray.append(["id": "\(customField.metadataID)", "key": customField.key, "value": customField.value.stringValue])
}
return customFieldsArray
}

}

/// Defines all of the Product CodingKeys
Expand Down
10 changes: 2 additions & 8 deletions Modules/Tests/NetworkingTests/Mapper/ProductMapperTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -489,7 +489,7 @@ final class ProductMapperTests: XCTestCase {
XCTAssertEqual(product.customFields.first?.value.stringValue, "10")
}

/// Test that metadata and subscription are properly encoded.
/// Test that only subscription details are encoded for metadata.
///
func test_metadata_and_subscription_are_properly_encoded() throws {
// Given
Expand Down Expand Up @@ -524,7 +524,7 @@ final class ProductMapperTests: XCTestCase {
// Then
XCTAssertNotNil(encodedJSON)
let encodedMetadata = encodedJSON?["meta_data"] as? [[String: Any]]
XCTAssertEqual(encodedMetadata?.count, customFields.count + subscription.toKeyValuePairs().count) // Including subscription metadata
XCTAssertEqual(encodedMetadata?.count, subscription.toKeyValuePairs().count) // Including only subscription metadata
XCTAssertEqual(encodedMetadata?[0]["key"] as? String, "_subscription_length")
XCTAssertEqual(encodedMetadata?[0]["value"] as? String, subscription.length)
XCTAssertEqual(encodedMetadata?[1]["key"] as? String, "_subscription_period")
Expand All @@ -541,12 +541,6 @@ final class ProductMapperTests: XCTestCase {
XCTAssertEqual(encodedMetadata?[6]["value"] as? String, subscription.trialPeriod.rawValue)
XCTAssertEqual(encodedMetadata?[7]["key"] as? String, "_subscription_one_time_shipping")
XCTAssertEqual(encodedMetadata?[7]["value"] as? String, subscription.oneTimeShipping ? "yes" : "no")
XCTAssertEqual(Int64(encodedMetadata?[8]["id"] as? String ?? ""), customFields[0].metadataID)
XCTAssertEqual(encodedMetadata?[8]["key"] as? String, customFields[0].key)
XCTAssertEqual(encodedMetadata?[8]["value"] as? String, customFields[0].value.stringValue)
XCTAssertEqual(Int64(encodedMetadata?[9]["id"] as? String ?? ""), customFields[1].metadataID)
XCTAssertEqual(encodedMetadata?[9]["key"] as? String, customFields[1].key)
XCTAssertEqual(encodedMetadata?[9]["value"] as? String, customFields[1].value.stringValue)
}

/// Test that attributes are properly encoded.
Expand Down
452 changes: 106 additions & 346 deletions WooCommerce/Resources/ar.lproj/Localizable.strings

Large diffs are not rendered by default.

452 changes: 106 additions & 346 deletions WooCommerce/Resources/de.lproj/Localizable.strings

Large diffs are not rendered by default.

452 changes: 106 additions & 346 deletions WooCommerce/Resources/es.lproj/Localizable.strings

Large diffs are not rendered by default.

452 changes: 106 additions & 346 deletions WooCommerce/Resources/fr.lproj/Localizable.strings

Large diffs are not rendered by default.

452 changes: 106 additions & 346 deletions WooCommerce/Resources/he.lproj/Localizable.strings

Large diffs are not rendered by default.

452 changes: 106 additions & 346 deletions WooCommerce/Resources/id.lproj/Localizable.strings

Large diffs are not rendered by default.

452 changes: 106 additions & 346 deletions WooCommerce/Resources/it.lproj/Localizable.strings

Large diffs are not rendered by default.

452 changes: 106 additions & 346 deletions WooCommerce/Resources/ja.lproj/Localizable.strings

Large diffs are not rendered by default.

452 changes: 106 additions & 346 deletions WooCommerce/Resources/ko.lproj/Localizable.strings

Large diffs are not rendered by default.

452 changes: 106 additions & 346 deletions WooCommerce/Resources/nl.lproj/Localizable.strings

Large diffs are not rendered by default.

452 changes: 106 additions & 346 deletions WooCommerce/Resources/pt-BR.lproj/Localizable.strings

Large diffs are not rendered by default.

452 changes: 106 additions & 346 deletions WooCommerce/Resources/ru.lproj/Localizable.strings

Large diffs are not rendered by default.

457 changes: 110 additions & 347 deletions WooCommerce/Resources/sv.lproj/Localizable.strings

Large diffs are not rendered by default.

452 changes: 106 additions & 346 deletions WooCommerce/Resources/tr.lproj/Localizable.strings

Large diffs are not rendered by default.

452 changes: 106 additions & 346 deletions WooCommerce/Resources/zh-Hans.lproj/Localizable.strings

Large diffs are not rendered by default.

452 changes: 106 additions & 346 deletions WooCommerce/Resources/zh-Hant.lproj/Localizable.strings

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion config/Version.Public.xcconfig
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
CURRENT_PROJECT_VERSION = $VERSION_LONG
MARKETING_VERSION = $VERSION_SHORT
VERSION_LONG = 23.6.0.0
VERSION_LONG = 23.6.0.1
VERSION_SHORT = 23.6
2 changes: 1 addition & 1 deletion fastlane/metadata/ar-SA/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
يوفر هذا التحديث إدارة أكثر سلاسة للمتجر وتحكمًا أفضل. يمكنك الآن تصفية الطلبات حسب المصدر، وإدارة كل طلبات نقطة البيع مباشرة داخل واجهة نقطة البيع. بالإضافة إلى ذلك، قمنا بإصلاح مشكلة في التمرير على شاشة "إنشاء قسيمة" للحصول على تجربة أكثر سلاسة.
يعمل هذا التحديث على تحسين استقرار التطبيق وقابليته للاستخدام. لقد حسّنّا التوافق مع المتاجر التي تستخدم عناوين مواقع عبر بروتوكول HTTP، كما قمنا بتحسين آلية تحميل علامات التبويب بناءً على الحالات المحفوظة، وأصلحنا مشكلة كانت تمنع إغلاق لوحة المفاتيح أثناء تحرير عناوين المنتجات.
2 changes: 1 addition & 1 deletion fastlane/metadata/de-DE/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Dieses Update sorgt für eine reibungslosere Shop-Verwaltung und bessere Kontrolle. Du kannst Bestellungen jetzt nach Quelle filtern und alle POS-Bestellungen direkt in der POS-Benutzeroberfläche verwalten. Außerdem haben wir ein Problem beim Scrollen auf dem Bildschirm „Gutschein erstellen“ behoben, um ein reibungsloseres Erlebnis zu bieten.
Dieses Update verbessert die Stabilität und Benutzerfreundlichkeit der App. Wir haben die Kompatibilität für Shops mit HTTP-Website-Adressen verbessert, das Laden von Tabs basierend auf gespeicherten Staaten optimiert und ein Problem behoben, durch das die Tastatur beim Bearbeiten von Produkttiteln nicht ausgeblendet werden konnte.
2 changes: 1 addition & 1 deletion fastlane/metadata/default/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
This update brings smoother store management and better control. You can now filter orders by source, and manage all POS orders directly within the POS interface. Plus, we fixed a scrolling issue on the Create Coupon screen for a more seamless experience.
This update improves app stability and usability. We’ve enhanced compatibility for stores using HTTP site addresses, optimized how tabs load based on saved states, and fixed an issue that prevented dismissing the keyboard when editing product titles.
2 changes: 1 addition & 1 deletion fastlane/metadata/es-ES/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Esta actualización facilita la gestión de la tienda y mejora el control. Ahora puedes filtrar los pedidos por origen y gestionar todos los pedidos del TPV directamente desde la interfaz del TPV. Además, hemos corregido un problema de desplazamiento en la pantalla de creación de cupones para que la experiencia sea más fluida.
Esta actualización mejora la estabilidad y usabilidad de la aplicación. Hemos mejorado la compatibilidad para tiendas que usan direcciones de sitios HTTP, hemos optimizado la carga de las pestañas en función de los estados guardados y hemos corregido un problema que impedía descartar el teclado al editar los títulos de los productos.
2 changes: 1 addition & 1 deletion fastlane/metadata/fr-FR/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Cette mise à jour facilite la gestion de la boutique et améliore le contrôle. Vous pouvez désormais filtrer les commandes par source et gérer toutes les commandes du PDV directement dans l’interface PDV. De plus, nous avons résolu un problème de défilement sur l’écran de création de code promo pour une expérience plus fluide.
Cette mise à jour améliore la stabilité et la convivialité de l’application. Nous avons amélioré la compatibilité pour les boutiques utilisant des adresses de site HTTP, optimisé le chargement des onglets en fonction des états enregistrés et résolu un problème qui empêchait le masquage du clavier lors de la modification des titres de produits.
2 changes: 1 addition & 1 deletion fastlane/metadata/he/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
בעדכון הזה הוספנו ניהול חלק יותר של החנות ושליטה טובה יותר. עכשיו אפשר לסנן הזמנות לפי מקור ולנהל את כל ההזמנות של POS ישירות בתוך ממשק POS. בנוסף, תיקנו בעיית גלילה במסך 'ליצור קופון' כדי להבטיח חוויית שימוש חלקה יותר.
העדכון הזה משפר את היציבות והשימושיות של האפליקציה. שיפרנו את התאימות לחנויות באמצעות כתובות אתרים של HTTP, שיפרנו את הטעינה של לשוניות לפי מצבים שמורים ותיקנו בעיה שמנעה את ביטול המקלדת כאשר עורכים כותרות מוצרים.
2 changes: 1 addition & 1 deletion fastlane/metadata/id/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Pembaruan ini menghadirkan pengelolaan toko yang lebih lancar dan kontrol yang lebih baik. Kini, Anda dapat menyaring pesanan berdasarkan sumber, serta mengelola semua pesanan POS langsung dari antarmuka POS. Selain itu, kami memperbaiki masalah gulir pada layar Buat Kupon untuk pengalaman yang lebih mulus.
Pembaruan ini meningkatkan kestabilan dan kebergunaan aplikasi. Kami telah menyempurnakan kompatibilitas untuk toko yang menggunakan alamat situs HTTP, mengoptimalkan pemuatan tab berdasarkan status tersimpan, dan memperbaiki masalah yang mencegah ditutupnya keyboard saat mengedit judul produk.
2 changes: 1 addition & 1 deletion fastlane/metadata/it/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Questo aggiornamento migliora la gestione del negozio e gli strumenti di controllo. Ora puoi filtrare gli ordini per origine e gestire tutti gli ordini POS direttamente all'interno dell'interfaccia POS. Inoltre, abbiamo risolto un problema di scorrimento nella schermata di creazione di codici promozionali per un'esperienza più fluida.
Questo aggiornamento migliora la stabilità e l'usabilità dell'app. Abbiamo migliorato la compatibilità per i negozi che usano gli indirizzi dei siti HTTP, ottimizzato il caricamento delle schede in base agli stati salvati e risolto un problema che impediva di ignorare la tastiera durante la modifica dei titoli dei prodotti.
2 changes: 1 addition & 1 deletion fastlane/metadata/ja/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
今回の更新により、ストア管理がよりスムーズになり、制御性が向上します。 ソースで注文をフィルターしたり、すべての POS 注文を POS インターフェースで直接管理したりできるようになりました。 さらに、よりシームレスな操作性を実現するために、「クーポンを作成」画面のスクロールに関する問題を修正しました
今回の更新により、アプリの安定性と使いやすさが向上します。 HTTP サイトアドレスを使用するストアの互換性を強化したほか、保存された状態に基づいてタブを読み込む方法を最適化しました。また商品タイトルの編集時にキーボードを非表示にできなかった問題を修正しました
2 changes: 1 addition & 1 deletion fastlane/metadata/ko/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
이번 업데이트로 더욱 간결한 스토어 관리와 향상된 제어가 가능합니다. 이제 출처별로 주문을 필터링하고, 모든 POS 주문을 POS 인터페이스 내에서 직접 관리할 수 있습니다. 추가로 더욱 원활한 경험을 위해 쿠폰 생성 화면의 스크롤 문제를 해결했습니다.
이 업데이트를 통해 앱 안정성과 유용성이 개선됩니다. HTTP 사이트 주소를 사용하는 스토어의 호환성을 강화하고, 저장된 상태에 따라 탭이 로드되는 방식을 최적화했으며, 상품 제목을 편집할 때 키보드를 닫을 수 없는 문제를 해결했습니다.
2 changes: 1 addition & 1 deletion fastlane/metadata/nl-NL/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Deze update zorgt voor een soepeler winkelbeheer en betere controle. Je kan nu bestellingen filteren op bron en alle POS-bestellingen rechtstreeks beheren in de POS-interface. Bovendien hebben we een scrolprobleem opgelost op het scherm Coupon aanmaken voor een vloeiendere ervaring.
Deze update verbetert de stabiliteit en bruikbaarheid van de app. We hebben de compatibiliteit verbeterd voor winkels die HTTP-siteadressen gebruiken, geoptimaliseerd hoe tabbladen laden op basis van opgeslagen statussen en een probleem opgelost waardoor het toetsenbord niet kon worden verborgen bij het bewerken van producttitels.
2 changes: 1 addition & 1 deletion fastlane/metadata/pt-BR/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Esta atualização oferece gerenciamento de loja mais tranquilo e melhor controle. Agora você pode filtrar pedidos por origem e gerenciar todos os pedidos realizados nos pontos de venda diretamente na interface do POS. Além disso, corrigimos um problema de rolagem na tela Criar cupom para oferecer uma experiência mais suave.
Esta atualização melhora a estabilidade e usabilidade do aplicativo. Aprimoramos a compatibilidade para lojas que usam endereços de sites HTTP, otimizamos o carregamento das guias com base em estados salvos e corrigimos um problema que impedia o fechamento do teclado ao editar títulos de produtos.
2 changes: 1 addition & 1 deletion fastlane/metadata/ru/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Это обновление позволяет точнее и стабильнее управлять магазином. Заказы теперь можно фильтровать по источникам, а все заказы в POS управляются непосредственно при помощи интерфейса POS. А ещё мы исправили ошибку на экране создания купона, чтобы магазин работал ещё надёжнее.
Это обновление повышает стабильность работы и удобство пользования приложениями. Мы повысили совместимость с магазинами, которые пользуются адресами HTTP, оптимизировали загрузку вкладок на основе сохранённых состояний и исправили ошибку, из-за которой не удавалось скрыть клавиатуру при редактировании названий товаров.
2 changes: 1 addition & 1 deletion fastlane/metadata/sv/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Denna uppdatering ger smidigare butikshantering och bättre kontroll. Du kan nu filtrera beställningar efter källa och hantera alla POS-beställningar direkt i POS-gränssnittet. Dessutom har vi åtgärdat ett bläddringsproblem på skärmen Skapa rabattkod för en mer sömlös upplevelse.
Denna uppdatering förbättrar appens stabilitet och användbarhet. Vi har förbättrat kompatibiliteten för butiker som använder HTTP-webbplatsadresser, optimerat hur flikar laddas baserat på sparade tillstånd och åtgärdat ett problem som förhindrade att tangentbordet avfärdades vid redigering av produktrubriker.
2 changes: 1 addition & 1 deletion fastlane/metadata/tr/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Bu güncelleme daha sorunsuz bir mağaza yönetimi ve daha iyi kontrol sağlar. Artık siparişleri kaynağa göre filtreleyebilir ve tüm POS siparişlerini doğrudan POS arayüzünden yönetebilirsiniz. Ayrıca, daha sorunsuz bir deneyim için Kupon Oluşturma ekranında kaydırma sorununu düzelttik.
Bu güncelleme uygulama istikrarını ve kullanılabilirliğini artırır. HTTP site adreslerini kullanan mağazalar için uyumluluğu artırdık, sekmelerin kaydedilmiş durumlara göre nasıl yükleneceğini optimize ettik ve ürün başlıklarını düzenlerken klavyenin kapatılmasını engelleyen bir sorunu düzelttik.
2 changes: 1 addition & 1 deletion fastlane/metadata/zh-Hans/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
本次更新带来了更流畅的商店管理体验和更完善的控制功能。 您现在可以按来源筛选订单,并在 POS 界面中直接管理所有 POS 订单。 此外,我们还修复了“创建优惠券”屏幕上的滚动问题,为您提供更流畅的使用体验
本次更新提升了应用程序的稳定性和易用性。 我们增强了使用 HTTP 站点地址的商店的兼容性,优化了选项卡基于已保存状态的加载方式,并修复了导致编辑产品标题时无法关闭键盘的问题
2 changes: 1 addition & 1 deletion fastlane/metadata/zh-Hant/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
這項更新可帶來更流暢的商店管理與更完善的控制機制。 現在你可依照來源篩選訂單,並直接透過 POS 介面管理所有 POS 訂單。 此外,我們也修正了「建立折價券」畫面的捲動問題,提供更流暢的使用體驗
本次更新提升了應用程式穩定度和可用度。 我們針對使用 HTTP 網站位址的商店強化相容性、根據儲存狀態將分頁載入方式最佳化,並且修正了導致編輯商品標題時無法關閉鍵盤的問題
Loading