]> source.dussan.org Git - nextcloud-server.git/commitdiff
Add permissions to new files/folders, bug fix for oc-1649
authorMichael Gapczynski <mtgap@owncloud.com>
Thu, 6 Sep 2012 01:46:59 +0000 (21:46 -0400)
committerMichael Gapczynski <mtgap@owncloud.com>
Thu, 6 Sep 2012 01:47:09 +0000 (21:47 -0400)
apps/files/index.php
apps/files/js/filelist.js
apps/files/templates/index.php

index 6d53527025ad22fa24a3a0e34db5fedeb53f4319..ba785f7d6bc123fab50ea89b860b204e848b4937 100644 (file)
@@ -89,11 +89,23 @@ $freeSpace=OC_Filesystem::free_space('/');
 $freeSpace=max($freeSpace,0);
 $maxUploadFilesize = min($maxUploadFilesize ,$freeSpace);
 
+$permissions = OCP\Share::PERMISSION_READ;
+if (OC_Filesystem::isUpdatable($dir.'/')) {
+       $permissions |= OCP\Share::PERMISSION_UPDATE;
+}
+if (OC_Filesystem::isDeletable($dir.'/')) {
+       $permissions |= OCP\Share::PERMISSION_DELETE;
+}
+if (OC_Filesystem::isSharable($dir.'/')) {
+       $permissions |= OCP\Share::PERMISSION_SHARE;
+}
+
 $tmpl = new OCP\Template( 'files', 'index', 'user' );
 $tmpl->assign( 'fileList', $list->fetchPage(), false );
 $tmpl->assign( 'breadcrumb', $breadcrumbNav->fetchPage(), false );
 $tmpl->assign( 'dir', OC_Filesystem::normalizePath($dir));
 $tmpl->assign( 'isCreatable', OC_Filesystem::isCreatable($dir.'/'));
+$tmpl->assign('permissions', $permissions);
 $tmpl->assign( 'files', $files );
 $tmpl->assign( 'uploadMaxFilesize', $maxUploadFilesize);
 $tmpl->assign( 'uploadMaxHumanFilesize', OCP\Util::humanFileSize($maxUploadFilesize));
index ce215cb8431c8f383a1e782af8cbebbffed5c666..a9e48f24052ef6797c0701f1736b10cb68b10f58 100644 (file)
@@ -5,7 +5,7 @@ var FileList={
        },
        addFile:function(name,size,lastModified,loading,hidden){
                var img=(loading)?OC.imagePath('core', 'loading.gif'):OC.imagePath('core', 'filetypes/file.png');
-               var html='<tr data-type="file" data-size="'+size+'">';
+               var html='<tr data-type="file" data-size="'+size+'" data-permissions="'+$('#permissions').val()+'">';
                if(name.indexOf('.')!=-1){
                        var basename=name.substr(0,name.lastIndexOf('.'));
                        var extension=name.substr(name.lastIndexOf('.'));
@@ -41,7 +41,7 @@ var FileList={
                }
        },
        addDir:function(name,size,lastModified,hidden){
-               html = $('<tr></tr>').attr({ "data-type": "dir", "data-size": size, "data-file": name});
+               html = $('<tr></tr>').attr({ "data-type": "dir", "data-size": size, "data-file": name, "data-permissions": $('#permissions').val()});
                td = $('<td></td>').attr({"class": "filename", "style": 'background-image:url('+OC.imagePath('core', 'filetypes/folder.png')+')' });
                td.append('<input type="checkbox" />');
                var link_elem = $('<a></a>').attr({ "class": "name", "href": OC.linkTo('files', 'index.php')+"&dir="+ encodeURIComponent($('#dir').val()+'/'+name).replace(/%2F/g, '/') });
index bcf683ae4a8fa2e4809820b53d42aea3a76522a9..a874529330b3ed720bed954b8a57e70f487f5c95 100644 (file)
@@ -32,6 +32,7 @@
        <?php else:?>
                <input type="hidden" name="dir" value="<?php echo $_['dir'] ?>" id="dir">
        <?php endif;?>
+       <input type="hidden" name="permissions" value="<?php echo $_['permissions']; ?>" id="permissions">
 </div>
 <div id='notification'></div>