diff --git a/client/ui/controllers/api/apiConfigsController.cpp b/client/ui/controllers/api/apiConfigsController.cpp index 976c035c..30c18e38 100644 --- a/client/ui/controllers/api/apiConfigsController.cpp +++ b/client/ui/controllers/api/apiConfigsController.cpp @@ -532,7 +532,7 @@ bool ApiConfigsController::updateServiceFromTelegram(const int serverIndex) } } -bool ApiConfigsController::deactivateDevice() +bool ApiConfigsController::deactivateDevice(const bool isRemoveEvent) { auto serverIndex = m_serversModel->getProcessedServerIndex(); auto serverConfigObject = m_serversModel->getServerConfig(serverIndex); @@ -543,8 +543,12 @@ bool ApiConfigsController::deactivateDevice() } if (isSubscriptionExpired(apiConfigObject)) { - emit errorOccurred(ErrorCode::ApiSubscriptionExpiredError); - return false; + if (isRemoveEvent) { + return true; + } else { + emit errorOccurred(ErrorCode::ApiSubscriptionExpiredError); + return false; + } } GatewayRequestData gatewayRequestData { QSysInfo::productType(), diff --git a/client/ui/controllers/api/apiConfigsController.h b/client/ui/controllers/api/apiConfigsController.h index a04a142c..c1a72a7d 100644 --- a/client/ui/controllers/api/apiConfigsController.h +++ b/client/ui/controllers/api/apiConfigsController.h @@ -30,7 +30,7 @@ public slots: bool updateServiceFromGateway(const int serverIndex, const QString &newCountryCode, const QString &newCountryName, bool reloadServiceConfig = false); bool updateServiceFromTelegram(const int serverIndex); - bool deactivateDevice(); + bool deactivateDevice(const bool isRemoveEvent); bool deactivateExternalDevice(const QString &uuid, const QString &serverCountryCode); bool isConfigValid(); diff --git a/client/ui/qml/Pages2/PageSettingsApiServerInfo.qml b/client/ui/qml/Pages2/PageSettingsApiServerInfo.qml index f1290948..5a36daa8 100644 --- a/client/ui/qml/Pages2/PageSettingsApiServerInfo.qml +++ b/client/ui/qml/Pages2/PageSettingsApiServerInfo.qml @@ -359,7 +359,7 @@ PageType { PageController.showNotificationMessage(qsTr("Cannot unlink device during active connection")) } else { PageController.showBusyIndicator(true) - if (ApiConfigsController.deactivateDevice()) { + if (ApiConfigsController.deactivateDevice(false)) { ApiSettingsController.getAccountInfo(true) } PageController.showBusyIndicator(false) @@ -396,7 +396,7 @@ PageType { PageController.showNotificationMessage(qsTr("Cannot remove server during active connection")) } else { PageController.showBusyIndicator(true) - if (ApiConfigsController.deactivateDevice()) { + if (ApiConfigsController.deactivateDevice(true)) { InstallController.removeProcessedServer() } PageController.showBusyIndicator(false)