summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorBjörn Schießle <schiessle@owncloud.com>2013-07-26 11:13:43 +0200
committerBjörn Schießle <schiessle@owncloud.com>2013-07-26 11:14:29 +0200
commita00cff7c0543a8860b839a0bf345478e99bc6c18 (patch)
treea4d256f02dca12026d021db1b46363157c5689da /apps
parent96e175ffbf6f209274395309e5b55ed724c5c2da (diff)
downloadnextcloud-server-a00cff7c0543a8860b839a0bf345478e99bc6c18.tar.gz
nextcloud-server-a00cff7c0543a8860b839a0bf345478e99bc6c18.zip
disable "deleted files" button if trash bin is empty
Diffstat (limited to 'apps')
-rw-r--r--apps/files/css/files.css2
-rw-r--r--apps/files/index.php9
-rw-r--r--apps/files/js/filelist.js1
-rw-r--r--apps/files/js/files.js12
-rw-r--r--apps/files/templates/index.php4
-rw-r--r--apps/files_trashbin/lib/trash.php15
6 files changed, 36 insertions, 7 deletions
diff --git a/apps/files/css/files.css b/apps/files/css/files.css
index f2ca1065eca..117aac4c93e 100644
--- a/apps/files/css/files.css
+++ b/apps/files/css/files.css
@@ -24,7 +24,7 @@
#new>ul>li>p { cursor:pointer; }
#new>ul>li>form>input { padding:0.3em; margin:-0.3em; }
-#trash { height:17px; margin: 0 1em; z-index:1010; float: right; }
+#trash { margin: 0 1em; z-index:1010; float: right; }
#upload {
height:27px; padding:0; margin-left:0.2em; overflow:hidden;
diff --git a/apps/files/index.php b/apps/files/index.php
index 2f005391509..4f9e881eb2d 100644
--- a/apps/files/index.php
+++ b/apps/files/index.php
@@ -126,6 +126,12 @@ if ($needUpgrade) {
$publicUploadEnabled = 'no';
}
+ $trashEnabled = \OCP\App::isEnabled('files_trashbin');
+ $trashEmpty = true;
+ if ($trashEnabled) {
+ $trashEmpty = \OCA\Files_Trashbin\Trashbin::isEmpty($user);
+ }
+
OCP\Util::addscript('files', 'fileactions');
OCP\Util::addscript('files', 'files');
OCP\Util::addscript('files', 'keyboardshortcuts');
@@ -136,7 +142,8 @@ if ($needUpgrade) {
$tmpl->assign('isCreatable', \OC\Files\Filesystem::isCreatable($dir . '/'));
$tmpl->assign('permissions', $permissions);
$tmpl->assign('files', $files);
- $tmpl->assign('trash', \OCP\App::isEnabled('files_trashbin'));
+ $tmpl->assign('trash', $trashEnabled);
+ $tmpl->assign('trashEmpty', $trashEmpty);
$tmpl->assign('uploadMaxFilesize', $maxUploadFilesize);
$tmpl->assign('uploadMaxHumanFilesize', OCP\Util::humanFileSize($maxUploadFilesize));
$tmpl->assign('allowZipDownload', intval(OCP\Config::getSystemValue('allowZipDownload', true)));
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 04a9fb91649..b858e2580ee 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -392,6 +392,7 @@ var FileList={
files.removeClass('selected');
});
procesSelection();
+ checkTrashStatus();
} else {
$.each(files,function(index,file) {
var deleteAction = $('tr').filterAttr('data-file',file).children("td.date").children(".move2trash");
diff --git a/apps/files/js/files.js b/apps/files/js/files.js
index 98fc53b71a9..55280edde42 100644
--- a/apps/files/js/files.js
+++ b/apps/files/js/files.js
@@ -121,10 +121,10 @@ $(document).ready(function() {
});
// Show trash bin
- $('#trash a').live('click', function() {
+ $('#trash').on('click', function() {
window.location=OC.filePath('files_trashbin', '', 'index.php');
});
-
+
var lastChecked;
// Sets the file link behaviour :
@@ -845,3 +845,11 @@ function getUniqueName(name){
}
return name;
}
+
+function checkTrashStatus() {
+ $.post(OC.filePath('files_trashbin', 'ajax', 'isEmpty.php'), function(result){
+ if (result.data.isEmpty === false) {
+ $("input[type=button][id=trash]").removeAttr("disabled");
+ }
+ });
+} \ No newline at end of file
diff --git a/apps/files/templates/index.php b/apps/files/templates/index.php
index e0731609368..a70c0eaa117 100644
--- a/apps/files/templates/index.php
+++ b/apps/files/templates/index.php
@@ -38,9 +38,7 @@
</form>
</div>
<?php if ($_['trash'] ): ?>
- <div id="trash" class="button">
- <a><?php p($l->t('Deleted files'));?></a>
- </div>
+ <input id="trash" type="button" value="<?php p($l->t('Deleted Files'));?>" class="button" <?php $_['trashEmpty'] ? p('disabled') : '' ?>></input>
<?php endif; ?>
<div id="uploadprogresswrapper">
<div id="uploadprogressbar"></div>
diff --git a/apps/files_trashbin/lib/trash.php b/apps/files_trashbin/lib/trash.php
index 50fdaccfb1e..cff97418fe4 100644
--- a/apps/files_trashbin/lib/trash.php
+++ b/apps/files_trashbin/lib/trash.php
@@ -868,5 +868,20 @@ class Trashbin {
//Listen to delete user signal
\OCP\Util::connectHook('OC_User', 'pre_deleteUser', "OCA\Files_Trashbin\Hooks", "deleteUser_hook");
}
+
+ /**
+ * @brief check if trash bin is empty for a given user
+ * @param string $user
+ */
+ public static function isEmpty($user) {
+
+ $trashSize = self::getTrashbinSize($user);
+
+ if ($trashSize !== false && $trashSize > 0) {
+ return false;
+ }
+
+ return true;
+ }
}