diff --git a/client/src/components/LibraryFolder/LibraryFolder.vue b/client/src/components/LibraryFolder/LibraryFolder.vue index 10248d84889..8366cf38b92 100644 --- a/client/src/components/LibraryFolder/LibraryFolder.vue +++ b/client/src/components/LibraryFolder/LibraryFolder.vue @@ -461,7 +461,8 @@ export default { else if (element.type === "folder") return `${this.root}library/folders/${element.id}`; }, navigateToPermission(element) { - if (element.type === "file") window.location.replace(`${this.createContentLink(element)}/permissions`); + if (element.type === "file") + this.$router.push({ path: `/permissions/${this.folder_id}/dataset/${element.id}` }); else if (element.type === "folder") this.$router.push({ path: `/permissions/${element.id}` }); }, getMessage(element) { diff --git a/client/src/components/LibraryFolder/LibraryFolderPermissions/LibraryFolderDatasetPermissions.vue b/client/src/components/LibraryFolder/LibraryFolderPermissions/LibraryFolderDatasetPermissions.vue new file mode 100644 index 00000000000..c7f5b2050d8 --- /dev/null +++ b/client/src/components/LibraryFolder/LibraryFolderPermissions/LibraryFolderDatasetPermissions.vue @@ -0,0 +1,243 @@ + + + + + diff --git a/client/src/components/LibraryFolder/LibraryFolderPermissions/LibraryFolderPermissions.vue b/client/src/components/LibraryFolder/LibraryFolderPermissions/LibraryFolderPermissions.vue index 982ef7bd18e..7e6b3d6871a 100644 --- a/client/src/components/LibraryFolder/LibraryFolderPermissions/LibraryFolderPermissions.vue +++ b/client/src/components/LibraryFolder/LibraryFolderPermissions/LibraryFolderPermissions.vue @@ -2,84 +2,51 @@
- - 1 + +
{{ folder.name }}
-
-
- - You are logged in as an administrator therefore you can manage any folder on - this Galaxy instance. Please make sure you understand the consequences. - - - You can assign any number of roles to any of the following permission types. However please read - carefully the implications of such actions. - -
-
+
-

Folder permissions

-

- Roles that can manage permissions on this folder -

- - - - - - User with any of these roles can manage permissions on this folder. - - - -

- Roles that can add items to this folder -

- - - - - - User with any of these roles can add items to this folder (folders and - datasets). - - - -

- Roles that can modify this folder -

- - - - - - User with any of these roles can modify this folder (name, etc.). - - +

Folder permissions

+ + + + + <% } %> <% if (item.get("can_user_manage")) { %> - /datasets/<%- item.id %>/permissions"> + /dataset/<%- item.id %>">
` ); }, - - templateDatasetPermissions: function () { - return _.template( - ` -
- - - - - -

Dataset: <%= _.escape(item.get("name")) %>

-
- <% if (is_admin) { %> - You are logged in as an administrator therefore you can manage any dataset - on this Galaxy instance. Please make sure you understand the consequences. - <% } else { %> - You can assign any number of roles to any of the following permission types. However please - read carefully the implications of such actions. - <% } %> -
-
-

Library-related permissions

-

Roles that can modify the library item

-
-
- User with any of these roles can modify name, metadata, - and other information about this library item. -
-
-

Dataset-related permissions

-
- Changes made below will affect every library item that was created from - this dataset and also every history this dataset is part of. -
- <% if (!item.get("is_unrestricted")) { %> -

- You can - remove all access restrictions on this dataset. -

- <% } else { %> -

- You can - make this dataset private to you.

- <% } %> -

Roles that can access the dataset

-
-
- User has to have all these roles in order to access this dataset. - Users without access permission cannot have other permissions on this dataset. - If there are no access roles set on the dataset it is considered unrestricted. -
-

Roles that can manage permissions on the dataset

-
-
- User with any of these roles can manage permissions of this dataset. - If you remove yourself you will lose the ability manage this dataset unless you are an admin. -
- -
- -
` - ); - }, - templateBulkImportInModal: function () { return _.template( `
diff --git a/lib/galaxy/webapps/galaxy/buildapp.py b/lib/galaxy/webapps/galaxy/buildapp.py index 59f4c42b8fe..2c3453eca69 100644 --- a/lib/galaxy/webapps/galaxy/buildapp.py +++ b/lib/galaxy/webapps/galaxy/buildapp.py @@ -193,6 +193,7 @@ def app_pair(global_conf, load_app_kwds=None, wsgi_preflight=True, **kwargs): webapp.add_client_route('/interactivetool_entry_points/list') webapp.add_client_route('/library/folders/{folder_id}') webapp.add_client_route('/library/folders/permissions/{folder_id}') + webapp.add_client_route('/library/folders/permissions/{folder_id}/dataset/{dataset_id}') # ==== Done # Indicate that all configuration settings have been provided