Merge pull request #5711 from owncloud/quota-refreshquotainclientafteroperations
Fixes for "max upload size" value showed in the UI
This commit is contained in:
commit
1fa1cf46bd
|
@ -3,7 +3,13 @@
|
|||
// only need filesystem apps
|
||||
$RUNTIME_APPTYPES = array('filesystem');
|
||||
|
||||
$dir = '/';
|
||||
|
||||
if (isset($_GET['dir'])) {
|
||||
$dir = $_GET['dir'];
|
||||
}
|
||||
|
||||
OCP\JSON::checkLoggedIn();
|
||||
|
||||
// send back json
|
||||
OCP\JSON::success(array('data' => \OCA\Files\Helper::buildFileStorageStatistics('/')));
|
||||
OCP\JSON::success(array('data' => \OCA\Files\Helper::buildFileStorageStatistics($dir)));
|
||||
|
|
|
@ -404,7 +404,7 @@ $(document).ready(function() {
|
|||
|
||||
$('#uploadprogresswrapper input.stop').fadeOut();
|
||||
$('#uploadprogressbar').fadeOut();
|
||||
|
||||
Files.updateStorageStatistics();
|
||||
});
|
||||
fileupload.on('fileuploadfail', function(e, data) {
|
||||
OC.Upload.log('progress handle fileuploadfail', e, data);
|
||||
|
|
|
@ -152,6 +152,9 @@ var FileList={
|
|||
FileActions.display(tr.find('td.filename'), true);
|
||||
return tr;
|
||||
},
|
||||
getCurrentDirectory: function(){
|
||||
return $('#dir').val() || '/';
|
||||
},
|
||||
/**
|
||||
* @brief Changes the current directory and reload the file list.
|
||||
* @param targetDir target directory (non URL encoded)
|
||||
|
@ -224,6 +227,10 @@ var FileList={
|
|||
return;
|
||||
}
|
||||
|
||||
// TODO: should rather return upload file size through
|
||||
// the files list ajax call
|
||||
Files.updateStorageStatistics(true);
|
||||
|
||||
if (result.data.permissions) {
|
||||
FileList.setDirectoryPermissions(result.data.permissions);
|
||||
}
|
||||
|
@ -554,6 +561,7 @@ var FileList={
|
|||
checkTrashStatus();
|
||||
FileList.updateFileSummary();
|
||||
FileList.updateEmptyContent();
|
||||
Files.updateStorageStatistics();
|
||||
} else {
|
||||
$.each(files,function(index,file) {
|
||||
var deleteAction = $('tr[data-file="'+files[i]+'"]').children("td.date").children(".action.delete");
|
||||
|
|
|
@ -1,4 +1,40 @@
|
|||
Files={
|
||||
// file space size sync
|
||||
_updateStorageStatistics: function() {
|
||||
Files._updateStorageStatisticsTimeout = null;
|
||||
var currentDir = FileList.getCurrentDirectory(),
|
||||
state = Files.updateStorageStatistics;
|
||||
if (state.dir){
|
||||
if (state.dir === currentDir) {
|
||||
return;
|
||||
}
|
||||
// cancel previous call, as it was for another dir
|
||||
state.call.abort();
|
||||
}
|
||||
state.dir = currentDir;
|
||||
state.call = $.getJSON(OC.filePath('files','ajax','getstoragestats.php') + '?dir=' + encodeURIComponent(currentDir),function(response) {
|
||||
state.dir = null;
|
||||
state.call = null;
|
||||
Files.updateMaxUploadFilesize(response);
|
||||
});
|
||||
},
|
||||
updateStorageStatistics: function(force) {
|
||||
if (!OC.currentUser) {
|
||||
return;
|
||||
}
|
||||
|
||||
// debounce to prevent calling too often
|
||||
if (Files._updateStorageStatisticsTimeout) {
|
||||
clearTimeout(Files._updateStorageStatisticsTimeout);
|
||||
}
|
||||
if (force) {
|
||||
Files._updateStorageStatistics();
|
||||
}
|
||||
else {
|
||||
Files._updateStorageStatisticsTimeout = setTimeout(Files._updateStorageStatistics, 250);
|
||||
}
|
||||
},
|
||||
|
||||
updateMaxUploadFilesize:function(response) {
|
||||
if (response === undefined) {
|
||||
return;
|
||||
|
@ -351,29 +387,23 @@ $(document).ready(function() {
|
|||
setTimeout ( "Files.displayStorageWarnings()", 100 );
|
||||
OC.Notification.setDefault(Files.displayStorageWarnings);
|
||||
|
||||
// file space size sync
|
||||
function update_storage_statistics() {
|
||||
$.getJSON(OC.filePath('files','ajax','getstoragestats.php'),function(response) {
|
||||
Files.updateMaxUploadFilesize(response);
|
||||
});
|
||||
}
|
||||
// only possible at the moment if user is logged in
|
||||
if (OC.currentUser) {
|
||||
// start on load - we ask the server every 5 minutes
|
||||
var update_storage_statistics_interval = 5*60*1000;
|
||||
var update_storage_statistics_interval_id = setInterval(update_storage_statistics, update_storage_statistics_interval);
|
||||
var updateStorageStatisticsInterval = 5*60*1000;
|
||||
var updateStorageStatisticsIntervalId = setInterval(Files.updateStorageStatistics, updateStorageStatisticsInterval);
|
||||
|
||||
// Use jquery-visibility to de-/re-activate file stats sync
|
||||
if ($.support.pageVisibility) {
|
||||
$(document).on({
|
||||
'show.visibility': function() {
|
||||
if (!update_storage_statistics_interval_id) {
|
||||
update_storage_statistics_interval_id = setInterval(update_storage_statistics, update_storage_statistics_interval);
|
||||
if (!updateStorageStatisticsIntervalId) {
|
||||
updateStorageStatisticsIntervalId = setInterval(Files.updateStorageStatistics, updateStorageStatisticsInterval);
|
||||
}
|
||||
},
|
||||
'hide.visibility': function() {
|
||||
clearInterval(update_storage_statistics_interval_id);
|
||||
update_storage_statistics_interval_id = 0;
|
||||
clearInterval(updateStorageStatisticsIntervalId);
|
||||
updateStorageStatisticsIntervalId = 0;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -417,6 +447,7 @@ function scanFiles(force, dir, users) {
|
|||
scannerEventSource.listen('done',function(count) {
|
||||
scanFiles.scanning=false;
|
||||
console.log('done after ' + count + ' files');
|
||||
Files.updateStorageStatistics();
|
||||
});
|
||||
scannerEventSource.listen('user',function(user) {
|
||||
console.log('scanning files for ' + user);
|
||||
|
|
Loading…
Reference in New Issue