Skip to content
Snippets Groups Projects
Commit 710d017e authored by Vincent Petry's avatar Vincent Petry
Browse files

Added more columns to ext storage list

Now using system mount and personal mount calls to get the relevant
mount points including backend information.
parent a47ef52a
No related branches found
No related tags found
No related merge requests found
...@@ -29,8 +29,16 @@ ...@@ -29,8 +29,16 @@
_createRow: function(fileData) { _createRow: function(fileData) {
// TODO: hook earlier and render the whole row here // TODO: hook earlier and render the whole row here
var $tr = OCA.Files.FileList.prototype._createRow.apply(this, arguments); var $tr = OCA.Files.FileList.prototype._createRow.apply(this, arguments);
var $scopeColumn = $('<td></td>');
var $backendColumn = $('<td></td>');
var scopeText = t('files_external', 'Personal');
if (fileData.scope === 'system') {
scopeText = t('files_external', 'System');
}
$tr.find('.filesize,.date').remove(); $tr.find('.filesize,.date').remove();
$tr.find('td.filename').after('<td></td>'); $scopeColumn.text(scopeText);
$backendColumn.text(fileData.backend);
$tr.find('td.filename').after($scopeColumn).after($backendColumn);
$tr.find('td.filename input:checkbox').remove(); $tr.find('td.filename input:checkbox').remove();
return $tr; return $tr;
}, },
......
...@@ -25,38 +25,57 @@ namespace OCA\Files\External; ...@@ -25,38 +25,57 @@ namespace OCA\Files\External;
class Api { class Api {
/** /**
* Returns the mount points visible for this user. * Formats the given mount config to a mount entry.
* *
* @param array $params * @param bool $isSystemMount true for system mount, false
* @return \OC_OCS_Result share information * for personal mount
*
* @return array entry
*/ */
public static function getUserMounts($params) { private static function formatMount($mountConfig, $isSystemMount = false) {
$entries = array();
$user = \OC_User::getUser();
$mounts = \OC_Mount_Config::getAbsoluteMountPoints($user);
foreach ($mounts as $mountPoint => $config) {
// split user name from mount point // split user name from mount point
$parts = explode('/', ltrim($mountPoint, '/')); $path = dirname($mountConfig['mountpoint']);
array_shift($parts); // use name
array_shift($parts); // files
$mountPoint = implode('/', $parts);
$path = dirname($mountPoint);
if ($path === '.') { if ($path === '.') {
$path = ''; $path = '';
} }
// TODO: give delete permissions if mount type is personal
$permissions = \OCP\PERMISSION_READ; $permissions = \OCP\PERMISSION_READ;
// personal mounts can be deleted
if (!$isSystemMount) {
$permissions |= \OCP\PERMISSION_DELETE;
}
// TODO: add storageType, might need to use another OC_Mount_Config method // TODO: add storageType, might need to use another OC_Mount_Config method
$entries[] = array( $entry = array(
'name' => basename($mountPoint), 'name' => basename($mountConfig['mountpoint']),
'path' => $path, 'path' => $path,
'type' => 'dir', 'type' => 'dir',
'backend' => $mountConfig['backend'],
'scope' => ( $isSystemMount ? 'system' : 'personal' ),
'permissions' => $permissions 'permissions' => $permissions
); );
return $entry;
}
/**
* Returns the mount points visible for this user.
*
* @param array $params
* @return \OC_OCS_Result share information
*/
public static function getUserMounts($params) {
$entries = array();
$user = \OC_User::getUser();
$personalMounts = \OC_Mount_Config::getPersonalMountPoints();
$systemMounts = \OC_Mount_Config::getSystemMountPoints();
foreach ($systemMounts as $mountConfig) {
$entries[] = self::formatMount($mountConfig, true);
}
foreach ($personalMounts as $mountConfig) {
$entries[] = self::formatMount($mountConfig, false);
} }
return new \OC_OCS_Result($entries); return new \OC_OCS_Result($entries);
......
...@@ -16,6 +16,12 @@ ...@@ -16,6 +16,12 @@
<a class="name sort columntitle" data-sort="name"><span><?php p($l->t( 'Name' )); ?></span><span class="sort-indicator"></span></a> <a class="name sort columntitle" data-sort="name"><span><?php p($l->t( 'Name' )); ?></span><span class="sort-indicator"></span></a>
</div> </div>
</th> </th>
<th id="headerBackend" class="hidden column-backend">
<a class="backend sort columntitle" data-sort="backend"><span><?php p($l->t('Storage type')); ?></span><span class="sort-indicator"></span></a>
</th>
<th id="headerScope" class="hidden column-size">
<a class="scope sort columntitle" data-sort="scope"><span><?php p($l->t('Scope')); ?></span><span class="sort-indicator"></span></a>
</th>
</tr> </tr>
</thead> </thead>
<tbody id="fileList"> <tbody id="fileList">
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment