mirror of
https://github.com/tnodir/fort
synced 2024-11-15 10:35:10 +00:00
UI: ConfZoneManager: Simplify addZone()/updateZone()
This commit is contained in:
parent
65b52ad0b9
commit
bcbc21550d
@ -21,6 +21,12 @@ const char *const sqlInsertZone = "INSERT INTO zone(zone_id, name, enabled, cust
|
|||||||
" source_code, url, form_data, text_inline)"
|
" source_code, url, form_data, text_inline)"
|
||||||
" VALUES(?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8);";
|
" VALUES(?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8);";
|
||||||
|
|
||||||
|
const char *const sqlUpdateZone = "UPDATE zone"
|
||||||
|
" SET name = ?2, enabled = ?3, custom_url = ?4,"
|
||||||
|
" source_code = ?5, url = ?6,"
|
||||||
|
" form_data = ?7, text_inline = ?8"
|
||||||
|
" WHERE zone_id = ?1;";
|
||||||
|
|
||||||
const char *const sqlSelectZoneIds = "SELECT zone_id FROM zone ORDER BY zone_id;";
|
const char *const sqlSelectZoneIds = "SELECT zone_id FROM zone ORDER BY zone_id;";
|
||||||
|
|
||||||
const char *const sqlDeleteZone = "DELETE FROM zone WHERE zone_id = ?1;";
|
const char *const sqlDeleteZone = "DELETE FROM zone WHERE zone_id = ?1;";
|
||||||
@ -33,12 +39,6 @@ const char *const sqlDeleteAppZone = "UPDATE app"
|
|||||||
" SET accept_zones = accept_zones & ?1,"
|
" SET accept_zones = accept_zones & ?1,"
|
||||||
" reject_zones = reject_zones & ?1;";
|
" reject_zones = reject_zones & ?1;";
|
||||||
|
|
||||||
const char *const sqlUpdateZone = "UPDATE zone"
|
|
||||||
" SET name = ?2, enabled = ?3, custom_url = ?4,"
|
|
||||||
" source_code = ?5, url = ?6,"
|
|
||||||
" form_data = ?7, text_inline = ?8"
|
|
||||||
" WHERE zone_id = ?1;";
|
|
||||||
|
|
||||||
const char *const sqlUpdateZoneName = "UPDATE zone SET name = ?2 WHERE zone_id = ?1;";
|
const char *const sqlUpdateZoneName = "UPDATE zone SET name = ?2 WHERE zone_id = ?1;";
|
||||||
|
|
||||||
const char *const sqlUpdateZoneEnabled = "UPDATE zone SET enabled = ?2 WHERE zone_id = ?1;";
|
const char *const sqlUpdateZoneEnabled = "UPDATE zone SET enabled = ?2 WHERE zone_id = ?1;";
|
||||||
@ -49,6 +49,24 @@ const char *const sqlUpdateZoneResult =
|
|||||||
" source_modtime = ?5, last_run = ?6, last_success = ?7"
|
" source_modtime = ?5, last_run = ?6, last_success = ?7"
|
||||||
" WHERE zone_id = ?1;";
|
" WHERE zone_id = ?1;";
|
||||||
|
|
||||||
|
int getFreeZoneId(SqliteDb *sqliteDb)
|
||||||
|
{
|
||||||
|
int zoneId = 1;
|
||||||
|
|
||||||
|
SqliteStmt stmt;
|
||||||
|
if (stmt.prepare(sqliteDb->db(), sqlSelectZoneIds)) {
|
||||||
|
while (stmt.step() == SqliteStmt::StepRow) {
|
||||||
|
const int id = stmt.columnInt(0);
|
||||||
|
if (id > zoneId)
|
||||||
|
break;
|
||||||
|
|
||||||
|
zoneId = id + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return zoneId;
|
||||||
|
}
|
||||||
|
|
||||||
void showErrorMessage(const QString &errorMessage)
|
void showErrorMessage(const QString &errorMessage)
|
||||||
{
|
{
|
||||||
IoC<WindowManager>()->showErrorBox(
|
IoC<WindowManager>()->showErrorBox(
|
||||||
@ -90,43 +108,35 @@ void ConfZoneManager::setUp()
|
|||||||
m_confManager = IoC()->setUpDependency<ConfManager>();
|
m_confManager = IoC()->setUpDependency<ConfManager>();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ConfZoneManager::addZone(Zone &zone)
|
bool ConfZoneManager::addOrUpdateZone(Zone &zone)
|
||||||
{
|
{
|
||||||
bool ok = false;
|
bool ok = false;
|
||||||
|
const bool isNew = (zone.zoneId == 0);
|
||||||
|
|
||||||
zone.zoneId = getFreeZoneId();
|
if (isNew) {
|
||||||
|
zone.zoneId = getFreeZoneId(sqliteDb());
|
||||||
|
} else {
|
||||||
|
updateDriverZoneFlag(zone.zoneId, zone.enabled);
|
||||||
|
}
|
||||||
|
|
||||||
const auto vars = QVariantList()
|
const auto vars = QVariantList()
|
||||||
<< zone.zoneId << zone.zoneName << zone.enabled << zone.customUrl << zone.sourceCode
|
<< zone.zoneId << zone.zoneName << zone.enabled << zone.customUrl << zone.sourceCode
|
||||||
<< zone.url << zone.formData << zone.textInline;
|
<< zone.url << zone.formData << zone.textInline;
|
||||||
|
|
||||||
sqliteDb()->executeEx(sqlInsertZone, vars, 0, &ok);
|
sqliteDb()->executeEx(isNew ? sqlInsertZone : sqlUpdateZone, vars, 0, &ok);
|
||||||
|
|
||||||
checkEndTransaction(ok);
|
checkEndTransaction(ok);
|
||||||
|
|
||||||
if (ok) {
|
if (!ok)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (isNew) {
|
||||||
emit zoneAdded();
|
emit zoneAdded();
|
||||||
|
} else {
|
||||||
|
emit zoneUpdated();
|
||||||
}
|
}
|
||||||
|
|
||||||
return ok;
|
return true;
|
||||||
}
|
|
||||||
|
|
||||||
int ConfZoneManager::getFreeZoneId()
|
|
||||||
{
|
|
||||||
int zoneId = 1;
|
|
||||||
|
|
||||||
SqliteStmt stmt;
|
|
||||||
if (stmt.prepare(sqliteDb()->db(), sqlSelectZoneIds)) {
|
|
||||||
while (stmt.step() == SqliteStmt::StepRow) {
|
|
||||||
const int id = stmt.columnInt(0);
|
|
||||||
if (id > zoneId)
|
|
||||||
break;
|
|
||||||
|
|
||||||
zoneId = id + 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return zoneId;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ConfZoneManager::deleteZone(int zoneId)
|
bool ConfZoneManager::deleteZone(int zoneId)
|
||||||
@ -155,28 +165,6 @@ bool ConfZoneManager::deleteZone(int zoneId)
|
|||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ConfZoneManager::updateZone(const Zone &zone)
|
|
||||||
{
|
|
||||||
if (!updateDriverZoneFlag(zone.zoneId, zone.enabled))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
bool ok = false;
|
|
||||||
|
|
||||||
const auto vars = QVariantList()
|
|
||||||
<< zone.zoneId << zone.zoneName << zone.enabled << zone.customUrl << zone.sourceCode
|
|
||||||
<< zone.url << zone.formData << zone.textInline;
|
|
||||||
|
|
||||||
sqliteDb()->executeEx(sqlUpdateZone, vars, 0, &ok);
|
|
||||||
|
|
||||||
checkEndTransaction(ok);
|
|
||||||
|
|
||||||
if (ok) {
|
|
||||||
emit zoneUpdated();
|
|
||||||
}
|
|
||||||
|
|
||||||
return ok;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ConfZoneManager::updateZoneName(int zoneId, const QString &zoneName)
|
bool ConfZoneManager::updateZoneName(int zoneId, const QString &zoneName)
|
||||||
{
|
{
|
||||||
bool ok = false;
|
bool ok = false;
|
||||||
|
@ -25,10 +25,8 @@ public:
|
|||||||
|
|
||||||
void setUp() override;
|
void setUp() override;
|
||||||
|
|
||||||
virtual bool addZone(Zone &zone);
|
virtual bool addOrUpdateZone(Zone &zone);
|
||||||
int getFreeZoneId();
|
|
||||||
virtual bool deleteZone(int zoneId);
|
virtual bool deleteZone(int zoneId);
|
||||||
virtual bool updateZone(const Zone &zone);
|
|
||||||
virtual bool updateZoneName(int zoneId, const QString &zoneName);
|
virtual bool updateZoneName(int zoneId, const QString &zoneName);
|
||||||
virtual bool updateZoneEnabled(int zoneId, bool enabled);
|
virtual bool updateZoneEnabled(int zoneId, bool enabled);
|
||||||
bool updateZoneResult(const Zone &zone);
|
bool updateZoneResult(const Zone &zone);
|
||||||
|
@ -26,9 +26,8 @@ const char *const commandString(Command cmd)
|
|||||||
CASE_STRING(Rpc_ConfManager_checkPassword)
|
CASE_STRING(Rpc_ConfManager_checkPassword)
|
||||||
CASE_STRING(Rpc_ConfManager_confChanged)
|
CASE_STRING(Rpc_ConfManager_confChanged)
|
||||||
|
|
||||||
CASE_STRING(Rpc_ConfZoneManager_addZone)
|
CASE_STRING(Rpc_ConfZoneManager_addOrUpdateZone)
|
||||||
CASE_STRING(Rpc_ConfZoneManager_deleteZone)
|
CASE_STRING(Rpc_ConfZoneManager_deleteZone)
|
||||||
CASE_STRING(Rpc_ConfZoneManager_updateZone)
|
|
||||||
CASE_STRING(Rpc_ConfZoneManager_updateZoneName)
|
CASE_STRING(Rpc_ConfZoneManager_updateZoneName)
|
||||||
CASE_STRING(Rpc_ConfZoneManager_updateZoneEnabled)
|
CASE_STRING(Rpc_ConfZoneManager_updateZoneEnabled)
|
||||||
CASE_STRING(Rpc_ConfZoneManager_zoneAdded)
|
CASE_STRING(Rpc_ConfZoneManager_zoneAdded)
|
||||||
@ -116,9 +115,8 @@ RpcManager managerByCommand(Command cmd)
|
|||||||
Rpc_ConfManager, // Rpc_ConfManager_checkPassword,
|
Rpc_ConfManager, // Rpc_ConfManager_checkPassword,
|
||||||
Rpc_ConfManager, // Rpc_ConfManager_confChanged,
|
Rpc_ConfManager, // Rpc_ConfManager_confChanged,
|
||||||
|
|
||||||
Rpc_ConfZoneManager, // Rpc_ConfZoneManager_addZone,
|
Rpc_ConfZoneManager, // Rpc_ConfZoneManager_addOrUpdateZone,
|
||||||
Rpc_ConfZoneManager, // Rpc_ConfZoneManager_deleteZone,
|
Rpc_ConfZoneManager, // Rpc_ConfZoneManager_deleteZone,
|
||||||
Rpc_ConfZoneManager, // Rpc_ConfZoneManager_updateZone,
|
|
||||||
Rpc_ConfZoneManager, // Rpc_ConfZoneManager_updateZoneName,
|
Rpc_ConfZoneManager, // Rpc_ConfZoneManager_updateZoneName,
|
||||||
Rpc_ConfZoneManager, // Rpc_ConfZoneManager_updateZoneEnabled,
|
Rpc_ConfZoneManager, // Rpc_ConfZoneManager_updateZoneEnabled,
|
||||||
Rpc_ConfZoneManager, // Rpc_ConfZoneManager_zoneAdded,
|
Rpc_ConfZoneManager, // Rpc_ConfZoneManager_zoneAdded,
|
||||||
@ -187,9 +185,8 @@ bool commandRequiresValidation(Command cmd)
|
|||||||
0, // Rpc_ConfManager_checkPassword,
|
0, // Rpc_ConfManager_checkPassword,
|
||||||
0, // Rpc_ConfManager_confChanged,
|
0, // Rpc_ConfManager_confChanged,
|
||||||
|
|
||||||
true, // Rpc_ConfZoneManager_addZone,
|
true, // Rpc_ConfZoneManager_addOrUpdateZone,
|
||||||
true, // Rpc_ConfZoneManager_deleteZone,
|
true, // Rpc_ConfZoneManager_deleteZone,
|
||||||
true, // Rpc_ConfZoneManager_updateZone,
|
|
||||||
true, // Rpc_ConfZoneManager_updateZoneName,
|
true, // Rpc_ConfZoneManager_updateZoneName,
|
||||||
true, // Rpc_ConfZoneManager_updateZoneEnabled,
|
true, // Rpc_ConfZoneManager_updateZoneEnabled,
|
||||||
0, // Rpc_ConfZoneManager_zoneAdded,
|
0, // Rpc_ConfZoneManager_zoneAdded,
|
||||||
|
@ -25,9 +25,8 @@ enum Command : qint8 {
|
|||||||
Rpc_ConfManager_checkPassword,
|
Rpc_ConfManager_checkPassword,
|
||||||
Rpc_ConfManager_confChanged,
|
Rpc_ConfManager_confChanged,
|
||||||
|
|
||||||
Rpc_ConfZoneManager_addZone,
|
Rpc_ConfZoneManager_addOrUpdateZone,
|
||||||
Rpc_ConfZoneManager_deleteZone,
|
Rpc_ConfZoneManager_deleteZone,
|
||||||
Rpc_ConfZoneManager_updateZone,
|
|
||||||
Rpc_ConfZoneManager_updateZoneName,
|
Rpc_ConfZoneManager_updateZoneName,
|
||||||
Rpc_ConfZoneManager_updateZoneEnabled,
|
Rpc_ConfZoneManager_updateZoneEnabled,
|
||||||
Rpc_ConfZoneManager_zoneAdded,
|
Rpc_ConfZoneManager_zoneAdded,
|
||||||
|
@ -486,7 +486,7 @@ void ZonesWindow::updateZoneEditForm(bool isNew)
|
|||||||
|
|
||||||
const ZoneSourceWrapper zoneSource(zoneListModel()->zoneSourceByCode(zoneRow.sourceCode));
|
const ZoneSourceWrapper zoneSource(zoneListModel()->zoneSourceByCode(zoneRow.sourceCode));
|
||||||
|
|
||||||
m_formZoneIsNew = isNew;
|
m_zoneId = zoneRow.zoneId;
|
||||||
|
|
||||||
m_editZoneName->setText(zoneRow.zoneName);
|
m_editZoneName->setText(zoneRow.zoneName);
|
||||||
m_editZoneName->selectAll();
|
m_editZoneName->selectAll();
|
||||||
@ -525,6 +525,7 @@ bool ZonesWindow::saveZoneEditForm()
|
|||||||
}
|
}
|
||||||
|
|
||||||
Zone zone;
|
Zone zone;
|
||||||
|
zone.zoneId = m_zoneId;
|
||||||
zone.zoneName = m_editZoneName->text();
|
zone.zoneName = m_editZoneName->text();
|
||||||
zone.sourceCode = zoneSource.code();
|
zone.sourceCode = zoneSource.code();
|
||||||
zone.enabled = m_cbEnabled->isChecked();
|
zone.enabled = m_cbEnabled->isChecked();
|
||||||
@ -538,11 +539,11 @@ bool ZonesWindow::saveZoneEditForm()
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Add new zone
|
// Add new zone
|
||||||
if (m_formZoneIsNew) {
|
if (zone.zoneId == 0) {
|
||||||
return saveZoneEditFormNew(zone);
|
return saveZoneEditFormNew(zone);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Edit selected zone
|
// Update the zone
|
||||||
return saveZoneEditFormEdit(zone);
|
return saveZoneEditFormEdit(zone);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -568,7 +569,7 @@ bool ZonesWindow::saveZoneEditFormValidate(const Zone &zone, const ZoneSourceWra
|
|||||||
|
|
||||||
bool ZonesWindow::saveZoneEditFormNew(Zone &zone)
|
bool ZonesWindow::saveZoneEditFormNew(Zone &zone)
|
||||||
{
|
{
|
||||||
if (confZoneManager()->addZone(zone)) {
|
if (confZoneManager()->addOrUpdateZone(zone)) {
|
||||||
m_zoneListView->selectCell(zone.zoneId - 1);
|
m_zoneListView->selectCell(zone.zoneId - 1);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -590,19 +591,7 @@ bool ZonesWindow::saveZoneEditFormEdit(Zone &zone)
|
|||||||
|
|
||||||
zone.zoneId = zoneRow.zoneId;
|
zone.zoneId = zoneRow.zoneId;
|
||||||
|
|
||||||
return confZoneManager()->updateZone(zone);
|
return confZoneManager()->addOrUpdateZone(zone);
|
||||||
}
|
|
||||||
|
|
||||||
void ZonesWindow::updateZone(int row, bool enabled)
|
|
||||||
{
|
|
||||||
const auto zoneRow = zoneListModel()->zoneRowAt(row);
|
|
||||||
if (zoneRow.isNull())
|
|
||||||
return;
|
|
||||||
|
|
||||||
Zone zone = zoneRow;
|
|
||||||
zone.enabled = enabled;
|
|
||||||
|
|
||||||
confZoneManager()->updateZone(zone);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZonesWindow::deleteZone(int row)
|
void ZonesWindow::deleteZone(int row)
|
||||||
@ -614,11 +603,6 @@ void ZonesWindow::deleteZone(int row)
|
|||||||
confZoneManager()->deleteZone(zoneRow.zoneId);
|
confZoneManager()->deleteZone(zoneRow.zoneId);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZonesWindow::updateSelectedZone(bool enabled)
|
|
||||||
{
|
|
||||||
updateZone(zoneListCurrentIndex(), enabled);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ZonesWindow::deleteSelectedZone()
|
void ZonesWindow::deleteSelectedZone()
|
||||||
{
|
{
|
||||||
deleteZone(zoneListCurrentIndex());
|
deleteZone(zoneListCurrentIndex());
|
||||||
|
@ -79,16 +79,13 @@ private:
|
|||||||
bool saveZoneEditFormNew(Zone &zone);
|
bool saveZoneEditFormNew(Zone &zone);
|
||||||
bool saveZoneEditFormEdit(Zone &zone);
|
bool saveZoneEditFormEdit(Zone &zone);
|
||||||
|
|
||||||
void updateZone(int row, bool enabled);
|
|
||||||
void deleteZone(int row);
|
void deleteZone(int row);
|
||||||
|
|
||||||
void updateSelectedZone(bool enabled);
|
|
||||||
void deleteSelectedZone();
|
void deleteSelectedZone();
|
||||||
|
|
||||||
int zoneListCurrentIndex() const;
|
int zoneListCurrentIndex() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool m_formZoneIsNew = false;
|
int m_zoneId = 0;
|
||||||
|
|
||||||
ZonesController *m_ctrl = nullptr;
|
ZonesController *m_ctrl = nullptr;
|
||||||
WidgetWindowStateWatcher *m_stateWatcher = nullptr;
|
WidgetWindowStateWatcher *m_stateWatcher = nullptr;
|
||||||
|
@ -8,14 +8,12 @@
|
|||||||
|
|
||||||
ConfZoneManagerRpc::ConfZoneManagerRpc(QObject *parent) : ConfZoneManager(parent) { }
|
ConfZoneManagerRpc::ConfZoneManagerRpc(QObject *parent) : ConfZoneManager(parent) { }
|
||||||
|
|
||||||
bool ConfZoneManagerRpc::addZone(Zone &zone)
|
bool ConfZoneManagerRpc::addOrUpdateZone(Zone &zone)
|
||||||
{
|
{
|
||||||
QVariantList resArgs;
|
QVariantList resArgs;
|
||||||
|
|
||||||
if (!IoC<RpcManager>()->doOnServer(Control::Rpc_ConfZoneManager_addZone,
|
if (!IoC<RpcManager>()->doOnServer(
|
||||||
{ zone.enabled, zone.customUrl, zone.zoneName, zone.sourceCode, zone.url,
|
Control::Rpc_ConfZoneManager_addOrUpdateZone, zoneToVarList(zone), &resArgs))
|
||||||
zone.formData, zone.textInline },
|
|
||||||
&resArgs))
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
zone.zoneId = resArgs.value(0).toInt();
|
zone.zoneId = resArgs.value(0).toInt();
|
||||||
@ -28,13 +26,6 @@ bool ConfZoneManagerRpc::deleteZone(int zoneId)
|
|||||||
return IoC<RpcManager>()->doOnServer(Control::Rpc_ConfZoneManager_deleteZone, { zoneId });
|
return IoC<RpcManager>()->doOnServer(Control::Rpc_ConfZoneManager_deleteZone, { zoneId });
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ConfZoneManagerRpc::updateZone(const Zone &zone)
|
|
||||||
{
|
|
||||||
return IoC<RpcManager>()->doOnServer(Control::Rpc_ConfZoneManager_updateZone,
|
|
||||||
{ zone.enabled, zone.customUrl, zone.zoneId, zone.zoneName, zone.sourceCode, zone.url,
|
|
||||||
zone.formData, zone.textInline });
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ConfZoneManagerRpc::updateZoneName(int zoneId, const QString &zoneName)
|
bool ConfZoneManagerRpc::updateZoneName(int zoneId, const QString &zoneName)
|
||||||
{
|
{
|
||||||
return IoC<RpcManager>()->doOnServer(
|
return IoC<RpcManager>()->doOnServer(
|
||||||
@ -46,3 +37,23 @@ bool ConfZoneManagerRpc::updateZoneEnabled(int zoneId, bool enabled)
|
|||||||
return IoC<RpcManager>()->doOnServer(
|
return IoC<RpcManager>()->doOnServer(
|
||||||
Control::Rpc_ConfZoneManager_updateZoneEnabled, { zoneId, enabled });
|
Control::Rpc_ConfZoneManager_updateZoneEnabled, { zoneId, enabled });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QVariantList ConfZoneManagerRpc::zoneToVarList(const Zone &zone)
|
||||||
|
{
|
||||||
|
return { zone.enabled, zone.customUrl, zone.zoneId, zone.zoneName, zone.sourceCode, zone.url,
|
||||||
|
zone.formData, zone.textInline };
|
||||||
|
}
|
||||||
|
|
||||||
|
Zone ConfZoneManagerRpc::varListToZone(const QVariantList &v)
|
||||||
|
{
|
||||||
|
Zone zone;
|
||||||
|
zone.enabled = v.value(0).toBool();
|
||||||
|
zone.customUrl = v.value(1).toBool();
|
||||||
|
zone.zoneId = v.value(2).toInt();
|
||||||
|
zone.zoneName = v.value(3).toString();
|
||||||
|
zone.sourceCode = v.value(4).toString();
|
||||||
|
zone.url = v.value(5).toString();
|
||||||
|
zone.formData = v.value(6).toString();
|
||||||
|
zone.textInline = v.value(7).toString();
|
||||||
|
return zone;
|
||||||
|
}
|
||||||
|
@ -12,11 +12,13 @@ class ConfZoneManagerRpc : public ConfZoneManager
|
|||||||
public:
|
public:
|
||||||
explicit ConfZoneManagerRpc(QObject *parent = nullptr);
|
explicit ConfZoneManagerRpc(QObject *parent = nullptr);
|
||||||
|
|
||||||
bool addZone(Zone &zone) override;
|
bool addOrUpdateZone(Zone &zone) override;
|
||||||
bool deleteZone(int zoneId) override;
|
bool deleteZone(int zoneId) override;
|
||||||
bool updateZone(const Zone &zone) override;
|
|
||||||
bool updateZoneName(int zoneId, const QString &zoneName) override;
|
bool updateZoneName(int zoneId, const QString &zoneName) override;
|
||||||
bool updateZoneEnabled(int zoneId, bool enabled) override;
|
bool updateZoneEnabled(int zoneId, bool enabled) override;
|
||||||
|
|
||||||
|
static QVariantList zoneToVarList(const Zone &zone);
|
||||||
|
static Zone varListToZone(const QVariantList &v);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CONFZONEMANAGERRPC_H
|
#endif // CONFZONEMANAGERRPC_H
|
||||||
|
@ -183,19 +183,12 @@ inline bool processConfAppManagerRpcResult(
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool processConfZoneManager_addZone(
|
bool processConfZoneManager_addOrUpdateZone(
|
||||||
ConfZoneManager *confZoneManager, const ProcessCommandArgs &p, QVariantList &resArgs)
|
ConfZoneManager *confZoneManager, const ProcessCommandArgs &p, QVariantList &resArgs)
|
||||||
{
|
{
|
||||||
Zone zone;
|
Zone zone = ConfZoneManagerRpc::varListToZone(p.args);
|
||||||
zone.enabled = p.args.value(0).toBool();
|
|
||||||
zone.customUrl = p.args.value(1).toBool();
|
|
||||||
zone.zoneName = p.args.value(2).toString();
|
|
||||||
zone.sourceCode = p.args.value(3).toString();
|
|
||||||
zone.url = p.args.value(4).toString();
|
|
||||||
zone.formData = p.args.value(5).toString();
|
|
||||||
zone.textInline = p.args.value(6).toString();
|
|
||||||
|
|
||||||
const bool ok = confZoneManager->addZone(zone);
|
const bool ok = confZoneManager->addOrUpdateZone(zone);
|
||||||
resArgs = { zone.zoneId };
|
resArgs = { zone.zoneId };
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
@ -206,22 +199,6 @@ bool processConfZoneManager_deleteZone(
|
|||||||
return confZoneManager->deleteZone(p.args.value(0).toLongLong());
|
return confZoneManager->deleteZone(p.args.value(0).toLongLong());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool processConfZoneManager_updateZone(
|
|
||||||
ConfZoneManager *confZoneManager, const ProcessCommandArgs &p, QVariantList & /*resArgs*/)
|
|
||||||
{
|
|
||||||
Zone zone;
|
|
||||||
zone.enabled = p.args.value(0).toBool();
|
|
||||||
zone.customUrl = p.args.value(1).toBool();
|
|
||||||
zone.zoneId = p.args.value(2).toInt();
|
|
||||||
zone.zoneName = p.args.value(3).toString();
|
|
||||||
zone.sourceCode = p.args.value(4).toString();
|
|
||||||
zone.url = p.args.value(5).toString();
|
|
||||||
zone.formData = p.args.value(6).toString();
|
|
||||||
zone.textInline = p.args.value(7).toString();
|
|
||||||
|
|
||||||
return confZoneManager->updateZone(zone);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool processConfZoneManager_updateZoneName(
|
bool processConfZoneManager_updateZoneName(
|
||||||
ConfZoneManager *confZoneManager, const ProcessCommandArgs &p, QVariantList & /*resArgs*/)
|
ConfZoneManager *confZoneManager, const ProcessCommandArgs &p, QVariantList & /*resArgs*/)
|
||||||
{
|
{
|
||||||
@ -240,9 +217,8 @@ using processConfZoneManager_func = bool (*)(
|
|||||||
ConfZoneManager *confZoneManager, const ProcessCommandArgs &p, QVariantList &resArgs);
|
ConfZoneManager *confZoneManager, const ProcessCommandArgs &p, QVariantList &resArgs);
|
||||||
|
|
||||||
static processConfZoneManager_func processConfZoneManager_funcList[] = {
|
static processConfZoneManager_func processConfZoneManager_funcList[] = {
|
||||||
&processConfZoneManager_addZone, // Rpc_ConfZoneManager_addZone,
|
&processConfZoneManager_addOrUpdateZone, // Rpc_ConfZoneManager_addOrUpdateZone,
|
||||||
&processConfZoneManager_deleteZone, // Rpc_ConfZoneManager_deleteZone,
|
&processConfZoneManager_deleteZone, // Rpc_ConfZoneManager_deleteZone,
|
||||||
&processConfZoneManager_updateZone, // Rpc_ConfZoneManager_updateZone,
|
|
||||||
&processConfZoneManager_updateZoneName, // Rpc_ConfZoneManager_updateZoneName,
|
&processConfZoneManager_updateZoneName, // Rpc_ConfZoneManager_updateZoneName,
|
||||||
&processConfZoneManager_updateZoneEnabled, // Rpc_ConfZoneManager_updateZoneEnabled,
|
&processConfZoneManager_updateZoneEnabled, // Rpc_ConfZoneManager_updateZoneEnabled,
|
||||||
};
|
};
|
||||||
@ -250,10 +226,10 @@ static processConfZoneManager_func processConfZoneManager_funcList[] = {
|
|||||||
inline bool processConfZoneManagerRpcResult(
|
inline bool processConfZoneManagerRpcResult(
|
||||||
ConfZoneManager *confZoneManager, const ProcessCommandArgs &p, QVariantList &resArgs)
|
ConfZoneManager *confZoneManager, const ProcessCommandArgs &p, QVariantList &resArgs)
|
||||||
{
|
{
|
||||||
if (p.command >= Control::Rpc_ConfZoneManager_addZone
|
if (p.command >= Control::Rpc_ConfZoneManager_addOrUpdateZone
|
||||||
&& p.command <= Control::Rpc_ConfZoneManager_updateZoneEnabled) {
|
&& p.command <= Control::Rpc_ConfZoneManager_updateZoneEnabled) {
|
||||||
|
|
||||||
const int funcIndex = p.command - Control::Rpc_ConfZoneManager_addZone;
|
const int funcIndex = p.command - Control::Rpc_ConfZoneManager_addOrUpdateZone;
|
||||||
const processConfZoneManager_func func = processConfZoneManager_funcList[funcIndex];
|
const processConfZoneManager_func func = processConfZoneManager_funcList[funcIndex];
|
||||||
|
|
||||||
return func(confZoneManager, p, resArgs);
|
return func(confZoneManager, p, resArgs);
|
||||||
|
Loading…
Reference in New Issue
Block a user