mirror of
https://github.com/overte-org/overte.git
synced 2025-08-07 17:10:45 +02:00
Bugfix.
This commit is contained in:
parent
704d4255a5
commit
ecc0a2f43b
3 changed files with 153 additions and 141 deletions
|
@ -24,6 +24,7 @@ Rectangle {
|
|||
|
||||
id: root;
|
||||
property string marketplaceUrl: "";
|
||||
property string entityId: "";
|
||||
property string certificateId: "";
|
||||
property string itemName: "--";
|
||||
property string itemOwner: "--";
|
||||
|
@ -110,7 +111,12 @@ Rectangle {
|
|||
}
|
||||
|
||||
onUpdateCertificateStatus: {
|
||||
root.certificateStatus = certStatus;
|
||||
updateCertificateStatus(certStatus);
|
||||
}
|
||||
}
|
||||
|
||||
function updateCertificateStatus(status) {
|
||||
root.certificateStatus = status;
|
||||
if (root.certificateStatus === 1) { // CERTIFICATE_STATUS_VERIFICATION_SUCCESS
|
||||
root.useGoldCert = true;
|
||||
root.certTitleTextColor = hifi.colors.darkGray;
|
||||
|
@ -179,7 +185,6 @@ Rectangle {
|
|||
// We've gotten cert status - we are GO on getting the cert info
|
||||
Commerce.certificateInfo(root.certificateId);
|
||||
}
|
||||
}
|
||||
|
||||
// This object is always used in a popup.
|
||||
// This MouseArea is used to prevent a user from being
|
||||
|
@ -563,7 +568,12 @@ Rectangle {
|
|||
case 'inspectionCertificate_setCertificateId':
|
||||
resetCert(false);
|
||||
root.certificateId = message.certificateId;
|
||||
sendToScript({method: 'inspectionCertificate_requestOwnershipVerification', certificateId: root.certificateId});
|
||||
if (message.entityId === "") {
|
||||
updateCertificateStatus(1); // CERTIFICATE_STATUS_VERIFICATION_SUCCESS
|
||||
} else {
|
||||
root.entityId = message.entityId;
|
||||
sendToScript({method: 'inspectionCertificate_requestOwnershipVerification', entity: root.entityId});
|
||||
}
|
||||
break;
|
||||
case 'inspectionCertificate_resetCert':
|
||||
resetCert(true);
|
||||
|
@ -576,6 +586,7 @@ Rectangle {
|
|||
|
||||
function resetCert(alsoResetCertID) {
|
||||
if (alsoResetCertID) {
|
||||
root.entityId = "";
|
||||
root.certificateId = "";
|
||||
}
|
||||
root.certInfoReplaceMode = 5;
|
||||
|
|
|
@ -274,8 +274,8 @@ void ContextOverlayInterface::requestOwnershipVerification(const QUuid& entityID
|
|||
|
||||
auto nodeList = DependencyManager::get<NodeList>();
|
||||
|
||||
if (entityProperties.getClientOnly()) {
|
||||
if (entityProperties.verifyStaticCertificateProperties()) {
|
||||
if (entityProperties.getClientOnly()) {
|
||||
SharedNodePointer entityServer = nodeList->soloNodeOfType(NodeType::EntityServer);
|
||||
|
||||
if (entityServer) {
|
||||
|
@ -343,13 +343,6 @@ void ContextOverlayInterface::requestOwnershipVerification(const QUuid& entityID
|
|||
} else {
|
||||
qCWarning(context_overlay) << "Couldn't get Entity Server!";
|
||||
}
|
||||
} else {
|
||||
auto ledger = DependencyManager::get<Ledger>();
|
||||
_challengeOwnershipTimeoutTimer.stop();
|
||||
emit ledger->updateCertificateStatus(entityProperties.getCertificateID(), (uint)(ledger->CERTIFICATE_STATUS_STATIC_VERIFICATION_FAILED));
|
||||
emit DependencyManager::get<WalletScriptingInterface>()->ownershipVerificationFailed(_lastInspectedEntity);
|
||||
qCDebug(context_overlay) << "Entity" << _lastInspectedEntity << "failed static certificate verification!";
|
||||
}
|
||||
} else {
|
||||
// We don't currently verify ownership of entities that aren't Avatar Entities,
|
||||
// so they always pass Ownership Verification. It's necessary to emit this signal
|
||||
|
@ -357,6 +350,13 @@ void ContextOverlayInterface::requestOwnershipVerification(const QUuid& entityID
|
|||
auto ledger = DependencyManager::get<Ledger>();
|
||||
emit ledger->updateCertificateStatus(entityProperties.getCertificateID(), (uint)(ledger->CERTIFICATE_STATUS_VERIFICATION_SUCCESS));
|
||||
}
|
||||
} else {
|
||||
auto ledger = DependencyManager::get<Ledger>();
|
||||
_challengeOwnershipTimeoutTimer.stop();
|
||||
emit ledger->updateCertificateStatus(entityProperties.getCertificateID(), (uint)(ledger->CERTIFICATE_STATUS_STATIC_VERIFICATION_FAILED));
|
||||
emit DependencyManager::get<WalletScriptingInterface>()->ownershipVerificationFailed(_lastInspectedEntity);
|
||||
qCDebug(context_overlay) << "Entity" << _lastInspectedEntity << "failed static certificate verification!";
|
||||
}
|
||||
}
|
||||
|
||||
static const QString INSPECTION_CERTIFICATE_QML_PATH = "hifi/commerce/inspectionCertificate/InspectionCertificate.qml";
|
||||
|
|
|
@ -163,6 +163,7 @@ var selectionDisplay = null; // for gridTool.js to ignore
|
|||
var certificateId = itemCertificateId || (Entities.getEntityProperties(currentEntityWithContextOverlay, ['certificateID']).certificateID);
|
||||
tablet.sendToQml({
|
||||
method: 'inspectionCertificate_setCertificateId',
|
||||
entityId: currentEntityWithContextOverlay,
|
||||
certificateId: certificateId
|
||||
});
|
||||
}
|
||||
|
@ -584,7 +585,7 @@ var selectionDisplay = null; // for gridTool.js to ignore
|
|||
tablet.gotoHomeScreen();
|
||||
break;
|
||||
case 'inspectionCertificate_requestOwnershipVerification':
|
||||
ContextOverlay.requestOwnershipVerification(message.certificateId);
|
||||
ContextOverlay.requestOwnershipVerification(message.entity);
|
||||
break;
|
||||
case 'inspectionCertificate_showInMarketplaceClicked':
|
||||
tablet.gotoWebScreen(message.marketplaceUrl, MARKETPLACES_INJECT_SCRIPT_URL);
|
||||
|
|
Loading…
Reference in a new issue