Skip to content

Commit

Permalink
Merge pull request #6556 from nextcloud/backport/6521/stable-3.12
Browse files Browse the repository at this point in the history
[stable-3.12] allow wipe feature to delete data of a wiped user account
  • Loading branch information
mgallien authored Mar 20, 2024
2 parents 7188fef + b3f83df commit 2f52b72
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 10 deletions.
5 changes: 3 additions & 2 deletions src/gui/application.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -438,10 +438,11 @@ Application::~Application()

void Application::setupAccountsAndFolders()
{
const auto accountsRestoreResult = restoreLegacyAccount();

_folderManager.reset(new FolderMan);
FolderMan::instance()->setSyncEnabled(true);

const auto accountsRestoreResult = restoreLegacyAccount();

const auto foldersListSize = FolderMan::instance()->setupFolders();

const auto prettyNamesList = [](const QList<AccountStatePtr> &accounts) {
Expand Down
18 changes: 10 additions & 8 deletions src/gui/remotewipe.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,13 @@ RemoteWipe::RemoteWipe(AccountPtr account, QObject *parent)
this, [=](AccountState *) {
_accountRemoved = true;
});
QObject::connect(this, &RemoteWipe::authorized, FolderMan::instance(),
&FolderMan::slotWipeFolderForAccount);
QObject::connect(FolderMan::instance(), &FolderMan::wipeDone, this,
&RemoteWipe::notifyServerSuccessJob);
if (FolderMan::instance()) {
QObject::connect(this, &RemoteWipe::authorized, FolderMan::instance(),
&FolderMan::slotWipeFolderForAccount);
QObject::connect(FolderMan::instance(), &FolderMan::wipeDone, this,
&RemoteWipe::notifyServerSuccessJob);
}

QObject::connect(_account.data(), &Account::appPasswordRetrieved, this,
&RemoteWipe::startCheckJobWithAppPassword);
}
Expand Down Expand Up @@ -109,13 +112,12 @@ void RemoteWipe::checkJobSlot()
_account->setRemoteWipeRequested_HACK();
// <-- FIXME MS@2019-12-07

// delete account
manager->deleteAccount(accountState);
manager->save();

// delete data
emit authorized(accountState);

// delete account
manager->deleteAccount(accountState);
manager->save();
} else {
// ask user for his credentials again
accountState->handleInvalidCredentials();
Expand Down

0 comments on commit 2f52b72

Please sign in to comment.