mirror of
https://github.com/nextcloud/desktop.git
synced 2024-11-29 12:19:03 +03:00
SyncEngine: Add a compile option so we rename to restoring a move we don't have the permission to do
IL issue 550
This commit is contained in:
parent
db9ccb40a4
commit
5676685f58
2 changed files with 18 additions and 3 deletions
|
@ -1,3 +1,4 @@
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.6)
|
cmake_minimum_required(VERSION 2.6)
|
||||||
cmake_policy(VERSION 2.8.0)
|
cmake_policy(VERSION 2.8.0)
|
||||||
|
|
||||||
|
@ -122,6 +123,17 @@ if(OWNCLOUD_5XX_NO_BLACKLIST)
|
||||||
add_definitions(-DOWNCLOUD_5XX_NO_BLACKLIST=1)
|
add_definitions(-DOWNCLOUD_5XX_NO_BLACKLIST=1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# When this option is enabled, a rename that is not allowed will be renamed back
|
||||||
|
# do the original as a restoration step. Withut this option, the restoration will
|
||||||
|
# re-download the file instead.
|
||||||
|
# The default is off because we don't want to rename the files back behind the user's back
|
||||||
|
# Added for IL issue #550
|
||||||
|
option(OWNCLOUD_RESTORE_RENAME "OWNCLOUD_RESTORE_RENAME" OFF)
|
||||||
|
if(OWNCLOUD_RESTORE_RENAME)
|
||||||
|
add_definitions(-DOWNCLOUD_RESTORE_RENAME=1)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
set( SOCKETAPI_TEAM_IDENTIFIER_PREFIX "" CACHE STRING "SocketApi prefix (including a following dot) that must match the codesign key's TeamIdentifier/Organizational Unit" )
|
set( SOCKETAPI_TEAM_IDENTIFIER_PREFIX "" CACHE STRING "SocketApi prefix (including a following dot) that must match the codesign key's TeamIdentifier/Organizational Unit" )
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -1182,15 +1182,18 @@ void SyncEngine::checkForPermission()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0 /* We don't like the idea of renaming behind user's back, as the user may be working with the files */
|
#ifdef OWNCLOUD_RESTORE_RENAME /* We don't like the idea of renaming behind user's back, as the user may be working with the files */
|
||||||
|
if (!sourceOK && (!destinationOK || isRename)
|
||||||
if (!sourceOK && !destinationOK) {
|
// (not for directory because that's more complicated with the contents that needs to be adjusted)
|
||||||
|
&& !(*it)->_isDirectory) {
|
||||||
// Both the source and the destination won't allow move. Move back to the original
|
// Both the source and the destination won't allow move. Move back to the original
|
||||||
std::swap((*it)->_file, (*it)->_renameTarget);
|
std::swap((*it)->_file, (*it)->_renameTarget);
|
||||||
(*it)->_direction = SyncFileItem::Down;
|
(*it)->_direction = SyncFileItem::Down;
|
||||||
(*it)->_errorString = tr("Move not allowed, item restored");
|
(*it)->_errorString = tr("Move not allowed, item restored");
|
||||||
(*it)->_isRestoration = true;
|
(*it)->_isRestoration = true;
|
||||||
qDebug() << "checkForPermission: MOVING BACK" << (*it)->_file;
|
qDebug() << "checkForPermission: MOVING BACK" << (*it)->_file;
|
||||||
|
// in case something does wrong, we will not do it next time
|
||||||
|
_journal->avoidRenamesOnNextSync((*it)->_file);
|
||||||
} else
|
} else
|
||||||
#endif
|
#endif
|
||||||
if (!sourceOK || !destinationOK) {
|
if (!sourceOK || !destinationOK) {
|
||||||
|
|
Loading…
Reference in a new issue