DD-412 : WIP : Validate a listing before creating a listing on SLM

master
Merov Linden 2015-06-09 19:44:03 -07:00
parent 2cc3ce72b3
commit 84a7394ae0
3 changed files with 37 additions and 2 deletions

View File

@ -3234,7 +3234,29 @@ void LLFolderBridge::performAction(LLInventoryModel* model, std::string action)
}
else if ("marketplace_create_listing" == action)
{
LLMarketplaceData::instance().createListing(mUUID);
LLViewerInventoryCategory* cat = gInventory.getCategory(mUUID);
mMessage = "";
bool validates = true;
if (!validate_marketplacelistings(cat,boost::bind(&LLFolderBridge::gatherMessage, this, _1, _2, _3)))
{
mMessage = "";
validates = validate_marketplacelistings(cat,boost::bind(&LLFolderBridge::gatherMessage, this, _1, _2, _3),true);
if (validates)
{
LLNotificationsUtil::add("MerchantForceValidateListing");
}
}
if (!validates)
{
LLSD subs;
subs["[ERROR_CODE]"] = mMessage;
LLNotificationsUtil::add("MerchantListingFailed", subs);
}
else
{
LLMarketplaceData::instance().createListing(mUUID);
}
return;
}
else if ("marketplace_disassociate_listing" == action)

View File

@ -1916,8 +1916,9 @@ bool validate_marketplacelistings(LLInventoryCategory* cat, validation_callback_
else if (depth == 1)
{
// Report items not wrapped in version folder
result = false;
std::string message = indent + " " + viewer_inv_item->getName() + LLTrans::getString("Marketplace Validation Warning Unwrapped Item");
cb(message,depth,LLError::LEVEL_WARN);
cb(message,depth,LLError::LEVEL_ERROR);
}
}
}

View File

@ -386,6 +386,18 @@ Initialization with the Marketplace failed because of a system or network error.
yestext="OK"/>
</notification>
<notification
icon="alertmodal.tga"
name="MerchantForceValidateListing"
type="alertmodal">
In order to create your listing, we fixed the hierarchy of your listing contents.
<tag>confirm</tag>
<usetemplate
ignoretext="Confirm when creating a listing validates the content"
name="okignore"
yestext="OK"/>
</notification>
<notification
icon="alertmodal.tga"
name="ConfirmMerchantActiveChange"