Ref T607, detect mappings from quick mapping wizard

This commit is contained in:
Klaus Basan
2019-04-13 19:44:40 +02:00
parent fbf761f3f0
commit df686d7efc
4 changed files with 21 additions and 7 deletions

View File

@@ -25,6 +25,7 @@
#include <QScopedPointerDeleteLater>
#include <QString>
#include <QUrl>
#include <QByteArray>
#include <QtGlobal>
using namespace BlackMisc;
@@ -45,12 +46,12 @@ namespace BlackCore
// void
}
CStatusMessageList CDatabaseWriter::asyncPublishModel(const CAircraftModel &model)
CStatusMessageList CDatabaseWriter::asyncPublishModel(const CAircraftModel &model, const QString &extraInfo)
{
return this->asyncPublishModels(CAircraftModelList({ model }));
return this->asyncPublishModels(CAircraftModelList({ model }), extraInfo);
}
CStatusMessageList CDatabaseWriter::asyncPublishModels(const CAircraftModelList &models)
CStatusMessageList CDatabaseWriter::asyncPublishModels(const CAircraftModelList &models, const QString &extraInfo)
{
CStatusMessageList msgs;
if (m_shutdown || !sApp)
@@ -80,6 +81,7 @@ namespace BlackCore
const bool compress = models.size() > 3;
QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType, this);
multiPart->append(CDatabaseUtils::getJsonTextMultipart(models.toDatabaseJson(), compress));
if (sApp->getGlobalSetup().dbDebugFlag())
{
multiPart->append(CDatabaseUtils::getMultipartWithDebugFlag());
@@ -89,6 +91,8 @@ namespace BlackCore
if (compress) { url.setQuery(CDatabaseUtils::getCompressedQuery()); }
QNetworkRequest request(url);
CNetworkUtils::ignoreSslVerification(request);
const QByteArray eInfo = extraInfo.toLatin1();
request.setRawHeader(QByteArray("swift-extrainfo"), eInfo);
const int logId = m_writeLog.addPendingUrl(url);
m_pendingModelPublishReply = sApp->postToNetwork(request, logId, multiPart, { this, &CDatabaseWriter::postedModelsResponse});
m_modelReplyPendingSince = QDateTime::currentMSecsSinceEpoch();

View File

@@ -38,10 +38,10 @@ namespace BlackCore
CDatabaseWriter(const BlackMisc::Network::CUrl &baseUrl, QObject *parent);
//! Write model to DB
BlackMisc::CStatusMessageList asyncPublishModel(const BlackMisc::Simulation::CAircraftModel &model);
BlackMisc::CStatusMessageList asyncPublishModel(const BlackMisc::Simulation::CAircraftModel &model, const QString &extraInfo);
//! Write models to DB
BlackMisc::CStatusMessageList asyncPublishModels(const BlackMisc::Simulation::CAircraftModelList &models);
BlackMisc::CStatusMessageList asyncPublishModels(const BlackMisc::Simulation::CAircraftModelList &models, const QString &extraInfo);
//! Write auto publis data
BlackMisc::CStatusMessageList asyncAutoPublish(const BlackMisc::Simulation::CAutoPublishData &data);

View File

@@ -165,7 +165,7 @@ namespace BlackCore
CStatusMessageList CWebDataServices::asyncPublishModels(const CAircraftModelList &modelsToBePublished) const
{
if (m_databaseWriter) { return m_databaseWriter->asyncPublishModels(modelsToBePublished);}
if (m_databaseWriter) { return m_databaseWriter->asyncPublishModels(modelsToBePublished, "");}
return CStatusMessageList();
}

View File

@@ -19,11 +19,13 @@
#include "blackcore/context/contextsimulator.h"
#include "blackcore/db/databasewriter.h"
#include "blackcore/webdataservices.h"
#include "blackconfig/buildconfig.h"
#include <QStringBuilder>
using namespace BlackCore;
using namespace BlackCore::Db;
using namespace BlackConfig;
using namespace BlackMisc;
using namespace BlackMisc::Aviation;
using namespace BlackMisc::Simulation;
@@ -376,8 +378,16 @@ namespace BlackGui
void CDbQuickMappingWizard::writeModelToDb()
{
if (!sGui || sGui->isShuttingDown() || !sGui->getWebDataServices() || !sGui->getWebDataServices()->getDatabaseWriter()) { return; }
this->consolidateModelWithUIData();
const CStatusMessageList msgs = sGui->getWebDataServices()->getDatabaseWriter()->asyncPublishModel(m_model);
// make sure the model is correctly excluded for XP etc.
static const QString qmw(u"[swift QMW " % CBuildConfig::getVersionString() % u"]");
if (m_model.getSimulator().isXPlane()) { m_model.setModelMode(CAircraftModel::Exclude); }
m_model.setVersion(CBuildConfig::getVersionString());
const QString extraInfo = QString(m_model.getDescription() % u" " % qmw).simplified().trimmed();
const CStatusMessageList msgs = sGui->getWebDataServices()->getDatabaseWriter()->asyncPublishModel(m_model, extraInfo);
ui->comp_Log->appendStatusMessagesToList(msgs);
}