From 63172ec87ba3116c574e70e0b2fa3458525059c1 Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Fri, 4 Jan 2019 14:21:10 -0800 Subject: [PATCH] Fix marketplace item update failing on submitted items --- interface/src/avatar/AvatarProject.cpp | 1 - interface/src/avatar/MarketplaceItemUploader.cpp | 10 ++++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/interface/src/avatar/AvatarProject.cpp b/interface/src/avatar/AvatarProject.cpp index 20556ce5ed..a38bdcd693 100644 --- a/interface/src/avatar/AvatarProject.cpp +++ b/interface/src/avatar/AvatarProject.cpp @@ -256,6 +256,5 @@ void AvatarProject::openInInventory() { // I'm not a fan of this, but it's the only current option. QTimer::singleShot(TIME_TO_WAIT_FOR_INVENTORY_TO_OPEN_MS, [name, tablet]() { tablet->sendToQml(QVariantMap({ { "method", "updatePurchases" }, { "filterText", name } })); - }); } diff --git a/interface/src/avatar/MarketplaceItemUploader.cpp b/interface/src/avatar/MarketplaceItemUploader.cpp index 543617fc56..53b37eba4f 100644 --- a/interface/src/avatar/MarketplaceItemUploader.cpp +++ b/interface/src/avatar/MarketplaceItemUploader.cpp @@ -190,7 +190,12 @@ void MarketplaceItemUploader::doUploadAvatar() { QString jsonString = "{\"marketplace_item\":{"; jsonString += "\"title\":\"" + escapeJson(_title) + "\""; - jsonString += ",\"description\":\"" + escapeJson(_description) + "\""; + + // Items cannot have their description updated after they have been submitted. + if (creating) { + jsonString += ",\"description\":\"" + escapeJson(_description) + "\""; + } + jsonString += ",\"root_file_key\":\"" + escapeJson(_rootFilename) + "\""; jsonString += ",\"category_ids\":[" + QStringLiteral("%1").arg(_categoryID) + "]"; jsonString += ",\"license\":0"; @@ -300,12 +305,13 @@ void MarketplaceItemUploader::doWaitForInventory() { success = isAssetAvailable(); } if (success) { + qDebug() << "Found item in inventory"; setState(State::Complete); } else { constexpr int MAX_INVENTORY_REQUESTS { 8 }; constexpr int TIME_BETWEEN_INVENTORY_REQUESTS_MS { 5000 }; - qDebug() << "Failed to find item in inventory"; if (_numRequestsForInventory > MAX_INVENTORY_REQUESTS) { + qDebug() << "Failed to find item in inventory"; setError(Error::Unknown); } else { QTimer::singleShot(TIME_BETWEEN_INVENTORY_REQUESTS_MS, [this]() { doWaitForInventory(); });