diff --git a/client/galaxy/scripts/mvc/library/library-dataset-view.js b/client/galaxy/scripts/mvc/library/library-dataset-view.js index 909158d1523..6e7dd35ab5c 100644 --- a/client/galaxy/scripts/mvc/library/library-dataset-view.js +++ b/client/galaxy/scripts/mvc/library/library-dataset-view.js @@ -116,7 +116,7 @@ var LibraryDatasetView = Backbone.View.extend({ }, downloadDataset: function(){ - var url = '/api/libraries/datasets/download/uncompressed'; + var url = ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/libraries/datasets/download/uncompressed'; var data = {'ld_ids' : this.id}; this.processDownload(url, data); }, @@ -232,7 +232,7 @@ var LibraryDatasetView = Backbone.View.extend({ var self = this; if (this.options.fetched_permissions === undefined){ - $.get( "/api/libraries/datasets/" + self.id + "/permissions?scope=current").done(function(fetched_permissions) { + $.get( ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/datasets/" + self.id + "/permissions?scope=current").done(function(fetched_permissions) { self.prepareSelectBoxes({fetched_permissions:fetched_permissions, is_admin:is_admin}); }).fail(function(){ mod_toastr.error('An error occurred while attempting to fetch dataset permissions.'); @@ -273,7 +273,7 @@ var LibraryDatasetView = Backbone.View.extend({ placeholder: 'Click to select a role', container: self.$el.find('#access_perm'), ajax: { - url: "/api/libraries/datasets/" + self.id + "/permissions?scope=available", + url: ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/datasets/" + self.id + "/permissions?scope=available", dataType: 'json', quietMillis: 100, data: function (term, page) { // page is the one-based page number tracked by Select2 @@ -320,7 +320,7 @@ var LibraryDatasetView = Backbone.View.extend({ placeholder: 'Click to select a role', container: self.$el.find('#modify_perm'), ajax: { - url: "/api/libraries/datasets/" + self.id + "/permissions?scope=available", + url: ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/datasets/" + self.id + "/permissions?scope=available", dataType: 'json', quietMillis: 100, data: function (term, page) { // page is the one-based page number tracked by Select2 @@ -367,7 +367,7 @@ var LibraryDatasetView = Backbone.View.extend({ placeholder: 'Click to select a role', container: self.$el.find('#manage_perm'), ajax: { - url: "/api/libraries/datasets/" + self.id + "/permissions?scope=available", + url: ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/datasets/" + self.id + "/permissions?scope=available", dataType: 'json', quietMillis: 100, data: function (term, page) { // page is the one-based page number tracked by Select2 @@ -413,7 +413,7 @@ var LibraryDatasetView = Backbone.View.extend({ self.manageSelectObject = new mod_select.View(manage_select_options); } else { // Non-admins have select with pre-loaded options var template = self.templateAccessSelect(); - $.get( "/api/libraries/datasets/" + self.id + "/permissions?scope=available", function( data ) { + $.get( ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/datasets/" + self.id + "/permissions?scope=available", function( data ) { $('.access_perm').html(template({options:data.roles})); self.accessSelectObject = $('#access_select').select2(); }).fail(function() { @@ -436,7 +436,7 @@ var LibraryDatasetView = Backbone.View.extend({ makeDatasetPrivate: function(){ var self = this; - $.post("/api/libraries/datasets/" + self.id + "/permissions?action=make_private").done(function(fetched_permissions) { + $.post( ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/datasets/" + self.id + "/permissions?action=make_private").done(function(fetched_permissions) { self.model.set({is_unrestricted:false}); self.showPermissions({fetched_permissions:fetched_permissions}) mod_toastr.success('The dataset is now private to you.'); @@ -447,7 +447,7 @@ var LibraryDatasetView = Backbone.View.extend({ removeDatasetRestrictions: function(){ var self = this; - $.post("/api/libraries/datasets/" + self.id + "/permissions?action=remove_restrictions") + $.post( ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/datasets/" + self.id + "/permissions?action=remove_restrictions") .done(function(fetched_permissions) { self.model.set({is_unrestricted:true}); self.showPermissions({fetched_permissions:fetched_permissions}) @@ -478,7 +478,7 @@ var LibraryDatasetView = Backbone.View.extend({ modify_ids.push(modify_roles[i].id); }; - $.post("/api/libraries/datasets/" + self.id + "/permissions?action=set_permissions", { 'access_ids[]': access_ids, 'manage_ids[]': manage_ids, 'modify_ids[]': modify_ids, } ) + $.post( ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/datasets/" + self.id + "/permissions?action=set_permissions", { 'access_ids[]': access_ids, 'manage_ids[]': manage_ids, 'modify_ids[]': modify_ids, } ) .done(function(fetched_permissions){ //fetch dataset again self.showPermissions({fetched_permissions:fetched_permissions}) diff --git a/client/galaxy/scripts/mvc/library/library-folder-view.js b/client/galaxy/scripts/mvc/library/library-folder-view.js index 45179c3450a..567e1060e67 100644 --- a/client/galaxy/scripts/mvc/library/library-folder-view.js +++ b/client/galaxy/scripts/mvc/library/library-folder-view.js @@ -81,7 +81,7 @@ var FolderView = Backbone.View.extend({ var self = this; if (this.options.fetched_permissions === undefined){ - $.get( "/api/folders/" + self.id + "/permissions?scope=current").done(function(fetched_permissions) { + $.get( ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/folders/" + self.id + "/permissions?scope=current").done(function(fetched_permissions) { self.prepareSelectBoxes({fetched_permissions:fetched_permissions}); }).fail(function(){ mod_toastr.error('An error occurred while attempting to fetch folder permissions.'); @@ -125,7 +125,7 @@ var FolderView = Backbone.View.extend({ placeholder: 'Click to select a role', container: self.$el.find('#' + id), ajax: { - url: "/api/folders/" + self.id + "/permissions?scope=available", + url: ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/folders/" + self.id + "/permissions?scope=available", dataType: 'json', quietMillis: 100, data: function (term, page) { // page is the one-based page number tracked by Select2 @@ -195,7 +195,7 @@ var FolderView = Backbone.View.extend({ var manage_ids = this._extractIds(this.manageSelectObject.$el.select2('data')); var modify_ids = this._extractIds(this.modifySelectObject.$el.select2('data')); - $.post("/api/folders/" + self.id + "/permissions?action=set_permissions", { 'add_ids[]': add_ids, 'manage_ids[]': manage_ids, 'modify_ids[]': modify_ids, } ) + $.post( ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/folders/" + self.id + "/permissions?action=set_permissions", { 'add_ids[]': add_ids, 'manage_ids[]': manage_ids, 'modify_ids[]': modify_ids, } ) .done(function(fetched_permissions){ //fetch dataset again self.showPermissions({fetched_permissions:fetched_permissions}) diff --git a/client/galaxy/scripts/mvc/library/library-foldertoolbar-view.js b/client/galaxy/scripts/mvc/library/library-foldertoolbar-view.js index f27c78e14fe..d010a0e7571 100644 --- a/client/galaxy/scripts/mvc/library/library-foldertoolbar-view.js +++ b/client/galaxy/scripts/mvc/library/library-foldertoolbar-view.js @@ -294,7 +294,7 @@ var FolderToolbarView = Backbone.View.extend({ dataset_ids.push( this.parentElement.parentElement.id ); } } ); - var url = '/api/libraries/datasets/download/' + format; + var url = ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/libraries/datasets/download/' + format; var data = { 'ld_ids' : dataset_ids }; this.processDownload( url, data, 'get' ); }, @@ -386,7 +386,7 @@ var FolderToolbarView = Backbone.View.extend({ fetchExtAndGenomes: function(){ var that = this; mod_utils.get({ - url : galaxy_config.root + "api/datatypes?extension_only=False", + url : ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/datatypes?extension_only=False", success : function( datatypes ) { for (key in datatypes) { that.list_extensions.push({ @@ -403,7 +403,7 @@ var FolderToolbarView = Backbone.View.extend({ } }); mod_utils.get({ - url: galaxy_config.root + "api/genomes", + url: ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/genomes", success: function( genomes ) { for ( key in genomes ) { that.list_genomes.push({ @@ -689,7 +689,7 @@ var FolderToolbarView = Backbone.View.extend({ for ( var i = history_dataset_ids.length - 1; i >= 0; i-- ) { history_dataset_id = history_dataset_ids[i]; var folder_item = new mod_library_model.Item(); - folder_item.url = '/api/folders/' + this.options.id + '/contents'; + folder_item.url = ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/folders/' + this.options.id + '/contents'; folder_item.set( { 'from_hda_id':history_dataset_id } ); hdas_to_add.push( folder_item ); } @@ -749,7 +749,7 @@ var FolderToolbarView = Backbone.View.extend({ } return true; } - var promise = $.when( $.post( '/api/libraries/datasets?encoded_folder_id=' + that.id + + var promise = $.when( $.post( ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/libraries/datasets?encoded_folder_id=' + that.id + '&source=' + options.source + '&path=' + popped_item + '&file_type=' + options.file_type + @@ -788,7 +788,7 @@ var FolderToolbarView = Backbone.View.extend({ } return true; } - var promise = $.when( $.post( '/api/libraries/datasets?encoded_folder_id=' + that.id + + var promise = $.when( $.post( ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/libraries/datasets?encoded_folder_id=' + that.id + '&source=' + options.source + '&path=' + popped_item + '&preserve_dirs=' + options.preserve_dirs + diff --git a/client/galaxy/scripts/mvc/library/library-library-view.js b/client/galaxy/scripts/mvc/library/library-library-view.js index 425b4eaa115..a93f7bcba1e 100644 --- a/client/galaxy/scripts/mvc/library/library-library-view.js +++ b/client/galaxy/scripts/mvc/library/library-library-view.js @@ -87,7 +87,7 @@ var LibraryView = Backbone.View.extend({ var self = this; if (this.options.fetched_permissions === undefined){ - $.get( "/api/libraries/" + self.id + "/permissions?scope=current").done(function(fetched_permissions) { + $.get( ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/" + self.id + "/permissions?scope=current").done(function(fetched_permissions) { self.prepareSelectBoxes({fetched_permissions:fetched_permissions}); }).fail(function(){ mod_toastr.error('An error occurred while attempting to fetch library permissions.'); @@ -134,7 +134,7 @@ var LibraryView = Backbone.View.extend({ placeholder: 'Click to select a role', container: self.$el.find('#' + id), ajax: { - url: "/api/libraries/" + self.id + "/permissions?scope=available&is_library_access=" + is_library_access, + url: ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/" + self.id + "/permissions?scope=available&is_library_access=" + is_library_access, dataType: 'json', quietMillis: 100, data: function (term, page) { // page is the one-based page number tracked by Select2 @@ -193,7 +193,7 @@ var LibraryView = Backbone.View.extend({ makeDatasetPrivate: function(){ var self = this; - $.post("/api/libraries/datasets/" + self.id + "/permissions?action=make_private").done(function(fetched_permissions) { + $.post( ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/datasets/" + self.id + "/permissions?action=make_private").done(function(fetched_permissions) { self.model.set({is_unrestricted:false}); self.showPermissions({fetched_permissions:fetched_permissions}) mod_toastr.success('The dataset is now private to you.'); @@ -204,7 +204,7 @@ var LibraryView = Backbone.View.extend({ removeDatasetRestrictions: function(){ var self = this; - $.post("/api/libraries/datasets/" + self.id + "/permissions?action=remove_restrictions") + $.post( ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/datasets/" + self.id + "/permissions?action=remove_restrictions") .done(function(fetched_permissions) { self.model.set({is_unrestricted:true}); self.showPermissions({fetched_permissions:fetched_permissions}) @@ -230,7 +230,7 @@ var LibraryView = Backbone.View.extend({ var manage_ids = this._extractIds(this.manageSelectObject.$el.select2('data')); var modify_ids = this._extractIds(this.modifySelectObject.$el.select2('data')); - $.post("/api/libraries/" + self.id + "/permissions?action=set_permissions", { 'access_ids[]': access_ids, 'add_ids[]': add_ids, 'manage_ids[]': manage_ids, 'modify_ids[]': modify_ids, } ) + $.post( ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/" + self.id + "/permissions?action=set_permissions", { 'access_ids[]': access_ids, 'add_ids[]': add_ids, 'manage_ids[]': manage_ids, 'modify_ids[]': modify_ids, } ) .done(function(fetched_permissions){ //fetch dataset again self.showPermissions({fetched_permissions:fetched_permissions}) diff --git a/client/galaxy/scripts/mvc/library/library-model.js b/client/galaxy/scripts/mvc/library/library-model.js index aa3cfc9d378..e8c1b214feb 100644 --- a/client/galaxy/scripts/mvc/library/library-model.js +++ b/client/galaxy/scripts/mvc/library/library-model.js @@ -4,7 +4,7 @@ define([], function() { // LIBRARY RELATED MODELS var Library = Backbone.Model.extend({ - urlRoot: '/api/libraries/', + urlRoot: ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/libraries/', /** based on show_deleted would this lib show in the list of lib's? * @param {Boolean} show_deleted are we including deleted libraries? @@ -19,7 +19,7 @@ define([], function() { }); var Libraries = Backbone.Collection.extend({ - url: '/api/libraries', + url: ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/libraries', model: Library, @@ -84,15 +84,15 @@ define([], function() { // FOLDER RELATED MODELS var Item = Backbone.Model.extend({ - urlRoot : '/api/libraries/datasets/' + urlRoot : ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/libraries/datasets/' }); var Ldda = Backbone.Model.extend({ - urlRoot : '/api/libraries/datasets/' + urlRoot : ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/libraries/datasets/' }); var FolderAsModel = Backbone.Model.extend({ - urlRoot: '/api/folders' + urlRoot: ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/folders' }); var Folder = Backbone.Collection.extend({ @@ -152,7 +152,7 @@ define([], function() { var FolderContainer = Backbone.Model.extend({ defaults : { folder : new Folder(), - urlRoot : "/api/folders/", + urlRoot : ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/folders/', id : "unknown" }, parse : function(obj) { @@ -169,11 +169,11 @@ define([], function() { // TODO UNITE var HistoryItem = Backbone.Model.extend({ - urlRoot : '/api/histories/' + urlRoot : ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/histories/' }); var HistoryContents = Backbone.Collection.extend({ - urlRoot : '/api/histories/', + urlRoot : ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/histories/', initialize: function(options){ this.id = options.id; }, @@ -184,11 +184,11 @@ define([], function() { }); var GalaxyHistory = Backbone.Model.extend({ - urlRoot : '/api/histories/' + urlRoot : ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/histories/' }); var GalaxyHistories = Backbone.Collection.extend({ - url : '/api/histories', + url : ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/histories', model : GalaxyHistory }); @@ -199,7 +199,7 @@ define([], function() { */ var Jstree = Backbone.Model.extend({ - urlRoot: '/api/remote_files' + urlRoot: ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/remote_files' }); return { diff --git a/static/scripts/mvc/library/library-dataset-view.js b/static/scripts/mvc/library/library-dataset-view.js index 909158d1523..6e7dd35ab5c 100644 --- a/static/scripts/mvc/library/library-dataset-view.js +++ b/static/scripts/mvc/library/library-dataset-view.js @@ -116,7 +116,7 @@ var LibraryDatasetView = Backbone.View.extend({ }, downloadDataset: function(){ - var url = '/api/libraries/datasets/download/uncompressed'; + var url = ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/libraries/datasets/download/uncompressed'; var data = {'ld_ids' : this.id}; this.processDownload(url, data); }, @@ -232,7 +232,7 @@ var LibraryDatasetView = Backbone.View.extend({ var self = this; if (this.options.fetched_permissions === undefined){ - $.get( "/api/libraries/datasets/" + self.id + "/permissions?scope=current").done(function(fetched_permissions) { + $.get( ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/datasets/" + self.id + "/permissions?scope=current").done(function(fetched_permissions) { self.prepareSelectBoxes({fetched_permissions:fetched_permissions, is_admin:is_admin}); }).fail(function(){ mod_toastr.error('An error occurred while attempting to fetch dataset permissions.'); @@ -273,7 +273,7 @@ var LibraryDatasetView = Backbone.View.extend({ placeholder: 'Click to select a role', container: self.$el.find('#access_perm'), ajax: { - url: "/api/libraries/datasets/" + self.id + "/permissions?scope=available", + url: ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/datasets/" + self.id + "/permissions?scope=available", dataType: 'json', quietMillis: 100, data: function (term, page) { // page is the one-based page number tracked by Select2 @@ -320,7 +320,7 @@ var LibraryDatasetView = Backbone.View.extend({ placeholder: 'Click to select a role', container: self.$el.find('#modify_perm'), ajax: { - url: "/api/libraries/datasets/" + self.id + "/permissions?scope=available", + url: ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/datasets/" + self.id + "/permissions?scope=available", dataType: 'json', quietMillis: 100, data: function (term, page) { // page is the one-based page number tracked by Select2 @@ -367,7 +367,7 @@ var LibraryDatasetView = Backbone.View.extend({ placeholder: 'Click to select a role', container: self.$el.find('#manage_perm'), ajax: { - url: "/api/libraries/datasets/" + self.id + "/permissions?scope=available", + url: ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/datasets/" + self.id + "/permissions?scope=available", dataType: 'json', quietMillis: 100, data: function (term, page) { // page is the one-based page number tracked by Select2 @@ -413,7 +413,7 @@ var LibraryDatasetView = Backbone.View.extend({ self.manageSelectObject = new mod_select.View(manage_select_options); } else { // Non-admins have select with pre-loaded options var template = self.templateAccessSelect(); - $.get( "/api/libraries/datasets/" + self.id + "/permissions?scope=available", function( data ) { + $.get( ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/datasets/" + self.id + "/permissions?scope=available", function( data ) { $('.access_perm').html(template({options:data.roles})); self.accessSelectObject = $('#access_select').select2(); }).fail(function() { @@ -436,7 +436,7 @@ var LibraryDatasetView = Backbone.View.extend({ makeDatasetPrivate: function(){ var self = this; - $.post("/api/libraries/datasets/" + self.id + "/permissions?action=make_private").done(function(fetched_permissions) { + $.post( ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/datasets/" + self.id + "/permissions?action=make_private").done(function(fetched_permissions) { self.model.set({is_unrestricted:false}); self.showPermissions({fetched_permissions:fetched_permissions}) mod_toastr.success('The dataset is now private to you.'); @@ -447,7 +447,7 @@ var LibraryDatasetView = Backbone.View.extend({ removeDatasetRestrictions: function(){ var self = this; - $.post("/api/libraries/datasets/" + self.id + "/permissions?action=remove_restrictions") + $.post( ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/datasets/" + self.id + "/permissions?action=remove_restrictions") .done(function(fetched_permissions) { self.model.set({is_unrestricted:true}); self.showPermissions({fetched_permissions:fetched_permissions}) @@ -478,7 +478,7 @@ var LibraryDatasetView = Backbone.View.extend({ modify_ids.push(modify_roles[i].id); }; - $.post("/api/libraries/datasets/" + self.id + "/permissions?action=set_permissions", { 'access_ids[]': access_ids, 'manage_ids[]': manage_ids, 'modify_ids[]': modify_ids, } ) + $.post( ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/datasets/" + self.id + "/permissions?action=set_permissions", { 'access_ids[]': access_ids, 'manage_ids[]': manage_ids, 'modify_ids[]': modify_ids, } ) .done(function(fetched_permissions){ //fetch dataset again self.showPermissions({fetched_permissions:fetched_permissions}) diff --git a/static/scripts/mvc/library/library-folder-view.js b/static/scripts/mvc/library/library-folder-view.js index 45179c3450a..567e1060e67 100644 --- a/static/scripts/mvc/library/library-folder-view.js +++ b/static/scripts/mvc/library/library-folder-view.js @@ -81,7 +81,7 @@ var FolderView = Backbone.View.extend({ var self = this; if (this.options.fetched_permissions === undefined){ - $.get( "/api/folders/" + self.id + "/permissions?scope=current").done(function(fetched_permissions) { + $.get( ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/folders/" + self.id + "/permissions?scope=current").done(function(fetched_permissions) { self.prepareSelectBoxes({fetched_permissions:fetched_permissions}); }).fail(function(){ mod_toastr.error('An error occurred while attempting to fetch folder permissions.'); @@ -125,7 +125,7 @@ var FolderView = Backbone.View.extend({ placeholder: 'Click to select a role', container: self.$el.find('#' + id), ajax: { - url: "/api/folders/" + self.id + "/permissions?scope=available", + url: ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/folders/" + self.id + "/permissions?scope=available", dataType: 'json', quietMillis: 100, data: function (term, page) { // page is the one-based page number tracked by Select2 @@ -195,7 +195,7 @@ var FolderView = Backbone.View.extend({ var manage_ids = this._extractIds(this.manageSelectObject.$el.select2('data')); var modify_ids = this._extractIds(this.modifySelectObject.$el.select2('data')); - $.post("/api/folders/" + self.id + "/permissions?action=set_permissions", { 'add_ids[]': add_ids, 'manage_ids[]': manage_ids, 'modify_ids[]': modify_ids, } ) + $.post( ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/folders/" + self.id + "/permissions?action=set_permissions", { 'add_ids[]': add_ids, 'manage_ids[]': manage_ids, 'modify_ids[]': modify_ids, } ) .done(function(fetched_permissions){ //fetch dataset again self.showPermissions({fetched_permissions:fetched_permissions}) diff --git a/static/scripts/mvc/library/library-foldertoolbar-view.js b/static/scripts/mvc/library/library-foldertoolbar-view.js index f27c78e14fe..d010a0e7571 100644 --- a/static/scripts/mvc/library/library-foldertoolbar-view.js +++ b/static/scripts/mvc/library/library-foldertoolbar-view.js @@ -294,7 +294,7 @@ var FolderToolbarView = Backbone.View.extend({ dataset_ids.push( this.parentElement.parentElement.id ); } } ); - var url = '/api/libraries/datasets/download/' + format; + var url = ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/libraries/datasets/download/' + format; var data = { 'ld_ids' : dataset_ids }; this.processDownload( url, data, 'get' ); }, @@ -386,7 +386,7 @@ var FolderToolbarView = Backbone.View.extend({ fetchExtAndGenomes: function(){ var that = this; mod_utils.get({ - url : galaxy_config.root + "api/datatypes?extension_only=False", + url : ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/datatypes?extension_only=False", success : function( datatypes ) { for (key in datatypes) { that.list_extensions.push({ @@ -403,7 +403,7 @@ var FolderToolbarView = Backbone.View.extend({ } }); mod_utils.get({ - url: galaxy_config.root + "api/genomes", + url: ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/genomes", success: function( genomes ) { for ( key in genomes ) { that.list_genomes.push({ @@ -689,7 +689,7 @@ var FolderToolbarView = Backbone.View.extend({ for ( var i = history_dataset_ids.length - 1; i >= 0; i-- ) { history_dataset_id = history_dataset_ids[i]; var folder_item = new mod_library_model.Item(); - folder_item.url = '/api/folders/' + this.options.id + '/contents'; + folder_item.url = ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/folders/' + this.options.id + '/contents'; folder_item.set( { 'from_hda_id':history_dataset_id } ); hdas_to_add.push( folder_item ); } @@ -749,7 +749,7 @@ var FolderToolbarView = Backbone.View.extend({ } return true; } - var promise = $.when( $.post( '/api/libraries/datasets?encoded_folder_id=' + that.id + + var promise = $.when( $.post( ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/libraries/datasets?encoded_folder_id=' + that.id + '&source=' + options.source + '&path=' + popped_item + '&file_type=' + options.file_type + @@ -788,7 +788,7 @@ var FolderToolbarView = Backbone.View.extend({ } return true; } - var promise = $.when( $.post( '/api/libraries/datasets?encoded_folder_id=' + that.id + + var promise = $.when( $.post( ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/libraries/datasets?encoded_folder_id=' + that.id + '&source=' + options.source + '&path=' + popped_item + '&preserve_dirs=' + options.preserve_dirs + diff --git a/static/scripts/mvc/library/library-library-view.js b/static/scripts/mvc/library/library-library-view.js index 425b4eaa115..a93f7bcba1e 100644 --- a/static/scripts/mvc/library/library-library-view.js +++ b/static/scripts/mvc/library/library-library-view.js @@ -87,7 +87,7 @@ var LibraryView = Backbone.View.extend({ var self = this; if (this.options.fetched_permissions === undefined){ - $.get( "/api/libraries/" + self.id + "/permissions?scope=current").done(function(fetched_permissions) { + $.get( ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/" + self.id + "/permissions?scope=current").done(function(fetched_permissions) { self.prepareSelectBoxes({fetched_permissions:fetched_permissions}); }).fail(function(){ mod_toastr.error('An error occurred while attempting to fetch library permissions.'); @@ -134,7 +134,7 @@ var LibraryView = Backbone.View.extend({ placeholder: 'Click to select a role', container: self.$el.find('#' + id), ajax: { - url: "/api/libraries/" + self.id + "/permissions?scope=available&is_library_access=" + is_library_access, + url: ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/" + self.id + "/permissions?scope=available&is_library_access=" + is_library_access, dataType: 'json', quietMillis: 100, data: function (term, page) { // page is the one-based page number tracked by Select2 @@ -193,7 +193,7 @@ var LibraryView = Backbone.View.extend({ makeDatasetPrivate: function(){ var self = this; - $.post("/api/libraries/datasets/" + self.id + "/permissions?action=make_private").done(function(fetched_permissions) { + $.post( ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/datasets/" + self.id + "/permissions?action=make_private").done(function(fetched_permissions) { self.model.set({is_unrestricted:false}); self.showPermissions({fetched_permissions:fetched_permissions}) mod_toastr.success('The dataset is now private to you.'); @@ -204,7 +204,7 @@ var LibraryView = Backbone.View.extend({ removeDatasetRestrictions: function(){ var self = this; - $.post("/api/libraries/datasets/" + self.id + "/permissions?action=remove_restrictions") + $.post( ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/datasets/" + self.id + "/permissions?action=remove_restrictions") .done(function(fetched_permissions) { self.model.set({is_unrestricted:true}); self.showPermissions({fetched_permissions:fetched_permissions}) @@ -230,7 +230,7 @@ var LibraryView = Backbone.View.extend({ var manage_ids = this._extractIds(this.manageSelectObject.$el.select2('data')); var modify_ids = this._extractIds(this.modifySelectObject.$el.select2('data')); - $.post("/api/libraries/" + self.id + "/permissions?action=set_permissions", { 'access_ids[]': access_ids, 'add_ids[]': add_ids, 'manage_ids[]': manage_ids, 'modify_ids[]': modify_ids, } ) + $.post( ( window.galaxy_config ? galaxy_config.root : '/' ) + "api/libraries/" + self.id + "/permissions?action=set_permissions", { 'access_ids[]': access_ids, 'add_ids[]': add_ids, 'manage_ids[]': manage_ids, 'modify_ids[]': modify_ids, } ) .done(function(fetched_permissions){ //fetch dataset again self.showPermissions({fetched_permissions:fetched_permissions}) diff --git a/static/scripts/mvc/library/library-model.js b/static/scripts/mvc/library/library-model.js index aa3cfc9d378..e8c1b214feb 100644 --- a/static/scripts/mvc/library/library-model.js +++ b/static/scripts/mvc/library/library-model.js @@ -4,7 +4,7 @@ define([], function() { // LIBRARY RELATED MODELS var Library = Backbone.Model.extend({ - urlRoot: '/api/libraries/', + urlRoot: ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/libraries/', /** based on show_deleted would this lib show in the list of lib's? * @param {Boolean} show_deleted are we including deleted libraries? @@ -19,7 +19,7 @@ define([], function() { }); var Libraries = Backbone.Collection.extend({ - url: '/api/libraries', + url: ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/libraries', model: Library, @@ -84,15 +84,15 @@ define([], function() { // FOLDER RELATED MODELS var Item = Backbone.Model.extend({ - urlRoot : '/api/libraries/datasets/' + urlRoot : ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/libraries/datasets/' }); var Ldda = Backbone.Model.extend({ - urlRoot : '/api/libraries/datasets/' + urlRoot : ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/libraries/datasets/' }); var FolderAsModel = Backbone.Model.extend({ - urlRoot: '/api/folders' + urlRoot: ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/folders' }); var Folder = Backbone.Collection.extend({ @@ -152,7 +152,7 @@ define([], function() { var FolderContainer = Backbone.Model.extend({ defaults : { folder : new Folder(), - urlRoot : "/api/folders/", + urlRoot : ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/folders/', id : "unknown" }, parse : function(obj) { @@ -169,11 +169,11 @@ define([], function() { // TODO UNITE var HistoryItem = Backbone.Model.extend({ - urlRoot : '/api/histories/' + urlRoot : ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/histories/' }); var HistoryContents = Backbone.Collection.extend({ - urlRoot : '/api/histories/', + urlRoot : ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/histories/', initialize: function(options){ this.id = options.id; }, @@ -184,11 +184,11 @@ define([], function() { }); var GalaxyHistory = Backbone.Model.extend({ - urlRoot : '/api/histories/' + urlRoot : ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/histories/' }); var GalaxyHistories = Backbone.Collection.extend({ - url : '/api/histories', + url : ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/histories', model : GalaxyHistory }); @@ -199,7 +199,7 @@ define([], function() { */ var Jstree = Backbone.Model.extend({ - urlRoot: '/api/remote_files' + urlRoot: ( window.galaxy_config ? galaxy_config.root : '/' ) + 'api/remote_files' }); return { diff --git a/static/scripts/packed/mvc/library/library-dataset-view.js b/static/scripts/packed/mvc/library/library-dataset-view.js index 8eefce8c818..aec51fe8244 100644 --- a/static/scripts/packed/mvc/library/library-dataset-view.js +++ b/static/scripts/packed/mvc/library/library-dataset-view.js @@ -1 +1 @@ -define(["libs/toastr","mvc/library/library-model","mvc/ui/ui-select"],function(d,c,b){var a=Backbone.View.extend({el:"#center",model:null,options:{},events:{"click .toolbtn_modify_dataset":"enableModification","click .toolbtn_cancel_modifications":"render","click .toolbtn-download-dataset":"downloadDataset","click .toolbtn-import-dataset":"importIntoHistory","click .toolbtn-share-dataset":"shareDataset","click .btn-copy-link-to-clipboard":"copyToClipboard","click .btn-make-private":"makeDatasetPrivate","click .btn-remove-restrictions":"removeDatasetRestrictions","click .toolbtn_save_permissions":"savePermissions","click .toolbtn_save_modifications":"comingSoon",},initialize:function(e){this.options=_.extend(this.options,e);if(this.options.id){this.fetchDataset()}},fetchDataset:function(e){this.options=_.extend(this.options,e);this.model=new c.Item({id:this.options.id});var f=this;this.model.fetch({success:function(){if(f.options.show_permissions){f.showPermissions()}else{if(f.options.show_version){f.fetchVersion()}else{f.render()}}},error:function(h,g){if(typeof g.responseJSON!=="undefined"){d.error(g.responseJSON.err_msg+" Click this to go back.","",{onclick:function(){Galaxy.libraries.library_router.back()}})}else{d.error("An error ocurred. Click this to go back.","",{onclick:function(){Galaxy.libraries.library_router.back()}})}}})},render:function(e){this.options=_.extend(this.options,e);$(".tooltip").remove();var f=this.templateDataset();this.$el.html(f({item:this.model}));$(".peek").html(this.model.get("peek"));$("#center [data-toggle]").tooltip()},fetchVersion:function(e){this.options=_.extend(this.options,e);that=this;if(!this.options.ldda_id){this.render();d.error("Library dataset version requested but no id provided.")}else{this.ldda=new c.Ldda({id:this.options.ldda_id});this.ldda.url=this.ldda.urlRoot+this.model.id+"/versions/"+this.ldda.id;this.ldda.fetch({success:function(){that.renderVersion()},error:function(g,f){if(typeof f.responseJSON!=="undefined"){d.error(f.responseJSON.err_msg)}else{d.error("An error ocurred.")}}})}},renderVersion:function(){$(".tooltip").remove();var e=this.templateVersion();this.$el.html(e({item:this.model,ldda:this.ldda}));$(".peek").html(this.ldda.get("peek"))},enableModification:function(){$(".tooltip").remove();var e=this.templateModifyDataset();this.$el.html(e({item:this.model}));$(".peek").html(this.model.get("peek"));$("#center [data-toggle]").tooltip()},downloadDataset:function(){var e="/api/libraries/datasets/download/uncompressed";var f={ld_ids:this.id};this.processDownload(e,f)},processDownload:function(f,g,h){if(f&&g){g=typeof g=="string"?g:$.param(g);var e="";$.each(g.split("&"),function(){var i=this.split("=");e+=''});$('
'+e+"
").appendTo("body").submit().remove();d.info("Your download will begin soon.")}},importIntoHistory:function(){this.refreshUserHistoriesList(function(e){var f=e.templateBulkImportInModal();e.modal=Galaxy.modal;e.modal.show({closing_events:true,title:"Import into History",body:f({histories:e.histories.models}),buttons:{Import:function(){e.importCurrentIntoHistory()},Close:function(){Galaxy.modal.hide()}}})})},refreshUserHistoriesList:function(f){var e=this;this.histories=new c.GalaxyHistories();this.histories.fetch({success:function(g){if(g.length===0){d.warning("You have to create history first. Click this to do so.","",{onclick:function(){window.location="/"}})}else{f(e)}},error:function(h,g){if(typeof g.responseJSON!=="undefined"){d.error(g.responseJSON.err_msg)}else{d.error("An error ocurred.")}}})},importCurrentIntoHistory:function(){var e=$(this.modal.elMain).find("select[name=dataset_import_single] option:selected").val();var f=new c.HistoryItem();f.url=f.urlRoot+e+"/contents";jQuery.getJSON(galaxy_config.root+"history/set_as_current?id="+e);f.save({content:this.id,source:"library"},{success:function(){Galaxy.modal.hide();d.success("Dataset imported. Click this to start analysing it.","",{onclick:function(){window.location="/"}})},error:function(h,g){if(typeof g.responseJSON!=="undefined"){d.error("Dataset not imported. "+g.responseJSON.err_msg)}else{d.error("An error occured. Dataset not imported. Please try again.")}}})},shareDataset:function(){d.info("Feature coming soon.")},goBack:function(){Galaxy.libraries.library_router.back()},showPermissions:function(f){this.options=_.extend(this.options,f);$(".tooltip").remove();if(this.options.fetched_permissions!==undefined){if(this.options.fetched_permissions.access_dataset_roles.length===0){this.model.set({is_unrestricted:true})}else{this.model.set({is_unrestricted:false})}}var h=false;if(Galaxy.currUser){h=Galaxy.currUser.isAdmin()}var g=this.templateDatasetPermissions();this.$el.html(g({item:this.model,is_admin:h}));var e=this;if(this.options.fetched_permissions===undefined){$.get("/api/libraries/datasets/"+e.id+"/permissions?scope=current").done(function(i){e.prepareSelectBoxes({fetched_permissions:i,is_admin:h})}).fail(function(){d.error("An error occurred while attempting to fetch dataset permissions.")})}else{this.prepareSelectBoxes({is_admin:h})}$("#center [data-toggle]").tooltip();$("#center").css("overflow","auto")},prepareSelectBoxes:function(r){this.options=_.extend(this.options,r);var s=this.options.fetched_permissions;var k=this.options.is_admin;var q=this;var m=[];for(var h=0;h=0;h--){g.push(k[h].id)}for(var h=f.length-1;h>=0;h--){j.push(f[h].id)}for(var h=m.length-1;h>=0;h--){l.push(m[h].id)}$.post("/api/libraries/datasets/"+n.id+"/permissions?action=set_permissions",{"access_ids[]":g,"manage_ids[]":j,"modify_ids[]":l,}).done(function(i){n.showPermissions({fetched_permissions:i});d.success("Permissions saved.")}).fail(function(){d.error("An error occurred while attempting to set dataset permissions.")})},templateDataset:function(){var e=[];e.push('
');e.push('
');e.push(' ');e.push(' ');e.push(' <% if (item.get("can_user_modify")) { %>');e.push(' ');e.push(" <% } %>");e.push(' <% if (item.get("can_user_manage")) { %>');e.push(' /datasets/<%- item.id %>/permissions">');e.push(" <% } %>");e.push("
");e.push('");e.push('<% if (item.get("is_unrestricted")) { %>');e.push('
');e.push(" This dataset is unrestricted so everybody can access it. Just share the URL of this page. ");e.push(' ');e.push("
");e.push("<% } %>");e.push('
');e.push(' ');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(' <% if (item.get("file_ext")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (item.get("genome_build")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (item.get("file_size")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (item.get("date_uploaded")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (item.get("uploaded_by")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (item.get("metadata_data_lines")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (item.get("metadata_comment_lines")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (item.get("metadata_columns")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (item.get("metadata_column_types")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (item.get("message")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (item.get("misc_blurb")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (item.get("misc_info")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push("
">Name<%= _.escape(item.get("name")) %>
Data type<%= _.escape(item.get("file_ext")) %>
Genome build<%= _.escape(item.get("genome_build")) %>
Size<%= _.escape(item.get("file_size")) %>
Date uploaded (UTC)<%= _.escape(item.get("date_uploaded")) %>
Uploaded by<%= _.escape(item.get("uploaded_by")) %>
Data Lines<%= _.escape(item.get("metadata_data_lines")) %>
Comment Lines<%= _.escape(item.get("metadata_comment_lines")) %>
Number of Columns<%= _.escape(item.get("metadata_columns")) %>
Column Types<%= _.escape(item.get("metadata_column_types")) %>
Message<%= _.escape(item.get("message")) %>
Miscellaneous blurb<%= _.escape(item.get("misc_blurb")) %>
Miscellaneous information<%= _.escape(item.get("misc_info")) %>
");e.push("
");e.push('
');e.push("        
");e.push("
");e.push(' <% if (item.get("has_versions")) { %>');e.push("
");e.push("

Expired versions:

");e.push("
");e.push(" <% } %>");e.push("
");e.push("
");return _.template(e.join(""))},templateVersion:function(){var e=[];e.push('
');e.push(' ");e.push('");e.push('
This is an expired version of the library dataset: <%= _.escape(item.get("name")) %>
');e.push('
');e.push(' ');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(' <% if (ldda.get("file_ext")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (ldda.get("genome_build")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (ldda.get("file_size")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (ldda.get("date_uploaded")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (ldda.get("uploaded_by")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (ldda.get("metadata_data_lines")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (ldda.get("metadata_comment_lines")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (ldda.get("metadata_columns")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (ldda.get("metadata_column_types")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (ldda.get("message")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (ldda.get("misc_blurb")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (ldda.get("misc_info")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push("
Name<%= _.escape(ldda.get("name")) %>
Data type<%= _.escape(ldda.get("file_ext")) %>
Genome build<%= _.escape(ldda.get("genome_build")) %>
Size<%= _.escape(ldda.get("file_size")) %>
Date uploaded (UTC)<%= _.escape(ldda.get("date_uploaded")) %>
Uploaded by<%= _.escape(ldda.get("uploaded_by")) %>
Data Lines<%= _.escape(ldda.get("metadata_data_lines")) %>
Comment Lines<%= _.escape(ldda.get("metadata_comment_lines")) %>
Number of Columns<%= _.escape(ldda.get("metadata_columns")) %>
Column Types<%= _.escape(ldda.get("metadata_column_types")) %>
Message<%= _.escape(ldda.get("message")) %>
Miscellaneous blurb<%= _.escape(ldda.get("misc_blurb")) %>
Miscellaneous information<%= _.escape(ldda.get("misc_info")) %>
");e.push("
");e.push('
');e.push("        
");e.push("
");e.push("
");e.push("
");return _.template(e.join(""))},templateModifyDataset:function(){var e=[];e.push('
');e.push('
');e.push(' ');e.push(' ');e.push("
");e.push('");e.push('
');e.push('

For more editing options please import the dataset to history and use "Edit attributes" on it.

');e.push(' ');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(' ');e.push(' ');e.push(' ');e.push(" ");e.push(' ');e.push(' <% if (item.get("metadata_comment_lines") === "") { %>');e.push(' ');e.push(" <% } else { %>");e.push(' ');e.push(" <% } %>");e.push(" ");e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push("
">Name">
Data type<%= _.escape(item.get("file_ext")) %>
Genome build<%= _.escape(item.get("genome_build")) %>
Size<%= _.escape(item.get("file_size")) %>
Date uploaded (UTC)<%= _.escape(item.get("date_uploaded")) %>
Uploaded by<%= _.escape(item.get("uploaded_by")) %>
Data Lines<%= _.escape(item.get("metadata_data_lines")) %>
Comment Lines<%= _.escape(item.get("metadata_comment_lines")) %>unknown
Number of Columns<%= _.escape(item.get("metadata_columns")) %>
Column Types<%= _.escape(item.get("metadata_column_types")) %>
Message<%= _.escape(item.get("message")) %>
Miscellaneous information<%= _.escape(item.get("misc_info")) %>
Miscellaneous blurb<%= _.escape(item.get("misc_blurb")) %>
");e.push("
");e.push('
');e.push("   
");e.push("
");e.push("
");e.push("
");return _.template(e.join(""))},templateDatasetPermissions:function(){var e=[];e.push('
');e.push(' ");e.push('");e.push('

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

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

Library-related permissions

");e.push("

Roles that can modify the library item

");e.push('
');e.push('
User with any of these roles can modify name, metadata, and other information about this library item.
');e.push("
");e.push("

Dataset-related permissions

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

You can remove all access restrictions on this dataset. ");e.push(' ");e.push("

");e.push("<% } else { %>");e.push(" This dataset is unrestricted so everybody can access it. Just share the URL of this page.");e.push(' ');e.push("

You can make this dataset private to you. ");e.push(' ');e.push("

");e.push("<% } %>");e.push("

Roles that can access the dataset

");e.push('
');e.push('
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.
');e.push("

Roles that can manage permissions on the dataset

");e.push('
');e.push('
User with any of these roles can manage permissions of this dataset. If you remove yourself you will loose the ability manage this dataset unless you are an admin.
');e.push('');e.push("
");e.push("
");return _.template(e.join(""))},templateBulkImportInModal:function(){var e=[];e.push('');e.push("Select history: ");e.push('");e.push("");return _.template(e.join(""))},templateAccessSelect:function(){var e=[];e.push('");return _.template(e.join(""))}});return{LibraryDatasetView:a}}); \ No newline at end of file +define(["libs/toastr","mvc/library/library-model","mvc/ui/ui-select"],function(d,c,b){var a=Backbone.View.extend({el:"#center",model:null,options:{},events:{"click .toolbtn_modify_dataset":"enableModification","click .toolbtn_cancel_modifications":"render","click .toolbtn-download-dataset":"downloadDataset","click .toolbtn-import-dataset":"importIntoHistory","click .toolbtn-share-dataset":"shareDataset","click .btn-copy-link-to-clipboard":"copyToClipboard","click .btn-make-private":"makeDatasetPrivate","click .btn-remove-restrictions":"removeDatasetRestrictions","click .toolbtn_save_permissions":"savePermissions","click .toolbtn_save_modifications":"comingSoon",},initialize:function(e){this.options=_.extend(this.options,e);if(this.options.id){this.fetchDataset()}},fetchDataset:function(e){this.options=_.extend(this.options,e);this.model=new c.Item({id:this.options.id});var f=this;this.model.fetch({success:function(){if(f.options.show_permissions){f.showPermissions()}else{if(f.options.show_version){f.fetchVersion()}else{f.render()}}},error:function(h,g){if(typeof g.responseJSON!=="undefined"){d.error(g.responseJSON.err_msg+" Click this to go back.","",{onclick:function(){Galaxy.libraries.library_router.back()}})}else{d.error("An error ocurred. Click this to go back.","",{onclick:function(){Galaxy.libraries.library_router.back()}})}}})},render:function(e){this.options=_.extend(this.options,e);$(".tooltip").remove();var f=this.templateDataset();this.$el.html(f({item:this.model}));$(".peek").html(this.model.get("peek"));$("#center [data-toggle]").tooltip()},fetchVersion:function(e){this.options=_.extend(this.options,e);that=this;if(!this.options.ldda_id){this.render();d.error("Library dataset version requested but no id provided.")}else{this.ldda=new c.Ldda({id:this.options.ldda_id});this.ldda.url=this.ldda.urlRoot+this.model.id+"/versions/"+this.ldda.id;this.ldda.fetch({success:function(){that.renderVersion()},error:function(g,f){if(typeof f.responseJSON!=="undefined"){d.error(f.responseJSON.err_msg)}else{d.error("An error ocurred.")}}})}},renderVersion:function(){$(".tooltip").remove();var e=this.templateVersion();this.$el.html(e({item:this.model,ldda:this.ldda}));$(".peek").html(this.ldda.get("peek"))},enableModification:function(){$(".tooltip").remove();var e=this.templateModifyDataset();this.$el.html(e({item:this.model}));$(".peek").html(this.model.get("peek"));$("#center [data-toggle]").tooltip()},downloadDataset:function(){var e=(window.galaxy_config?galaxy_config.root:"/")+"api/libraries/datasets/download/uncompressed";var f={ld_ids:this.id};this.processDownload(e,f)},processDownload:function(f,g,h){if(f&&g){g=typeof g=="string"?g:$.param(g);var e="";$.each(g.split("&"),function(){var i=this.split("=");e+=''});$('
'+e+"
").appendTo("body").submit().remove();d.info("Your download will begin soon.")}},importIntoHistory:function(){this.refreshUserHistoriesList(function(e){var f=e.templateBulkImportInModal();e.modal=Galaxy.modal;e.modal.show({closing_events:true,title:"Import into History",body:f({histories:e.histories.models}),buttons:{Import:function(){e.importCurrentIntoHistory()},Close:function(){Galaxy.modal.hide()}}})})},refreshUserHistoriesList:function(f){var e=this;this.histories=new c.GalaxyHistories();this.histories.fetch({success:function(g){if(g.length===0){d.warning("You have to create history first. Click this to do so.","",{onclick:function(){window.location="/"}})}else{f(e)}},error:function(h,g){if(typeof g.responseJSON!=="undefined"){d.error(g.responseJSON.err_msg)}else{d.error("An error ocurred.")}}})},importCurrentIntoHistory:function(){var e=$(this.modal.elMain).find("select[name=dataset_import_single] option:selected").val();var f=new c.HistoryItem();f.url=f.urlRoot+e+"/contents";jQuery.getJSON(galaxy_config.root+"history/set_as_current?id="+e);f.save({content:this.id,source:"library"},{success:function(){Galaxy.modal.hide();d.success("Dataset imported. Click this to start analysing it.","",{onclick:function(){window.location="/"}})},error:function(h,g){if(typeof g.responseJSON!=="undefined"){d.error("Dataset not imported. "+g.responseJSON.err_msg)}else{d.error("An error occured. Dataset not imported. Please try again.")}}})},shareDataset:function(){d.info("Feature coming soon.")},goBack:function(){Galaxy.libraries.library_router.back()},showPermissions:function(f){this.options=_.extend(this.options,f);$(".tooltip").remove();if(this.options.fetched_permissions!==undefined){if(this.options.fetched_permissions.access_dataset_roles.length===0){this.model.set({is_unrestricted:true})}else{this.model.set({is_unrestricted:false})}}var h=false;if(Galaxy.currUser){h=Galaxy.currUser.isAdmin()}var g=this.templateDatasetPermissions();this.$el.html(g({item:this.model,is_admin:h}));var e=this;if(this.options.fetched_permissions===undefined){$.get((window.galaxy_config?galaxy_config.root:"/")+"api/libraries/datasets/"+e.id+"/permissions?scope=current").done(function(i){e.prepareSelectBoxes({fetched_permissions:i,is_admin:h})}).fail(function(){d.error("An error occurred while attempting to fetch dataset permissions.")})}else{this.prepareSelectBoxes({is_admin:h})}$("#center [data-toggle]").tooltip();$("#center").css("overflow","auto")},prepareSelectBoxes:function(r){this.options=_.extend(this.options,r);var s=this.options.fetched_permissions;var k=this.options.is_admin;var q=this;var m=[];for(var h=0;h=0;h--){g.push(k[h].id)}for(var h=f.length-1;h>=0;h--){j.push(f[h].id)}for(var h=m.length-1;h>=0;h--){l.push(m[h].id)}$.post((window.galaxy_config?galaxy_config.root:"/")+"api/libraries/datasets/"+n.id+"/permissions?action=set_permissions",{"access_ids[]":g,"manage_ids[]":j,"modify_ids[]":l,}).done(function(i){n.showPermissions({fetched_permissions:i});d.success("Permissions saved.")}).fail(function(){d.error("An error occurred while attempting to set dataset permissions.")})},templateDataset:function(){var e=[];e.push('
');e.push('
');e.push(' ');e.push(' ');e.push(' <% if (item.get("can_user_modify")) { %>');e.push(' ');e.push(" <% } %>");e.push(' <% if (item.get("can_user_manage")) { %>');e.push(' /datasets/<%- item.id %>/permissions">');e.push(" <% } %>");e.push("
");e.push('");e.push('<% if (item.get("is_unrestricted")) { %>');e.push('
');e.push(" This dataset is unrestricted so everybody can access it. Just share the URL of this page. ");e.push(' ');e.push("
");e.push("<% } %>");e.push('
');e.push(' ');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(' <% if (item.get("file_ext")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (item.get("genome_build")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (item.get("file_size")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (item.get("date_uploaded")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (item.get("uploaded_by")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (item.get("metadata_data_lines")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (item.get("metadata_comment_lines")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (item.get("metadata_columns")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (item.get("metadata_column_types")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (item.get("message")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (item.get("misc_blurb")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (item.get("misc_info")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push("
">Name<%= _.escape(item.get("name")) %>
Data type<%= _.escape(item.get("file_ext")) %>
Genome build<%= _.escape(item.get("genome_build")) %>
Size<%= _.escape(item.get("file_size")) %>
Date uploaded (UTC)<%= _.escape(item.get("date_uploaded")) %>
Uploaded by<%= _.escape(item.get("uploaded_by")) %>
Data Lines<%= _.escape(item.get("metadata_data_lines")) %>
Comment Lines<%= _.escape(item.get("metadata_comment_lines")) %>
Number of Columns<%= _.escape(item.get("metadata_columns")) %>
Column Types<%= _.escape(item.get("metadata_column_types")) %>
Message<%= _.escape(item.get("message")) %>
Miscellaneous blurb<%= _.escape(item.get("misc_blurb")) %>
Miscellaneous information<%= _.escape(item.get("misc_info")) %>
");e.push("
");e.push('
');e.push("        
");e.push("
");e.push(' <% if (item.get("has_versions")) { %>');e.push("
");e.push("

Expired versions:

");e.push("
");e.push(" <% } %>");e.push("
");e.push("
");return _.template(e.join(""))},templateVersion:function(){var e=[];e.push('
');e.push(' ");e.push('");e.push('
This is an expired version of the library dataset: <%= _.escape(item.get("name")) %>
');e.push('
');e.push(' ');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(' <% if (ldda.get("file_ext")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (ldda.get("genome_build")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (ldda.get("file_size")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (ldda.get("date_uploaded")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (ldda.get("uploaded_by")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (ldda.get("metadata_data_lines")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (ldda.get("metadata_comment_lines")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (ldda.get("metadata_columns")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (ldda.get("metadata_column_types")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (ldda.get("message")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (ldda.get("misc_blurb")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push(' <% if (ldda.get("misc_info")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push("
Name<%= _.escape(ldda.get("name")) %>
Data type<%= _.escape(ldda.get("file_ext")) %>
Genome build<%= _.escape(ldda.get("genome_build")) %>
Size<%= _.escape(ldda.get("file_size")) %>
Date uploaded (UTC)<%= _.escape(ldda.get("date_uploaded")) %>
Uploaded by<%= _.escape(ldda.get("uploaded_by")) %>
Data Lines<%= _.escape(ldda.get("metadata_data_lines")) %>
Comment Lines<%= _.escape(ldda.get("metadata_comment_lines")) %>
Number of Columns<%= _.escape(ldda.get("metadata_columns")) %>
Column Types<%= _.escape(ldda.get("metadata_column_types")) %>
Message<%= _.escape(ldda.get("message")) %>
Miscellaneous blurb<%= _.escape(ldda.get("misc_blurb")) %>
Miscellaneous information<%= _.escape(ldda.get("misc_info")) %>
");e.push("
");e.push('
');e.push("        
");e.push("
");e.push("
");e.push("
");return _.template(e.join(""))},templateModifyDataset:function(){var e=[];e.push('
');e.push('
');e.push(' ');e.push(' ');e.push("
");e.push('");e.push('
');e.push('

For more editing options please import the dataset to history and use "Edit attributes" on it.

');e.push(' ');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(' ');e.push(' ');e.push(' ');e.push(" ");e.push(' ');e.push(' <% if (item.get("metadata_comment_lines") === "") { %>');e.push(' ');e.push(" <% } else { %>");e.push(' ');e.push(" <% } %>");e.push(" ");e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push("
">Name">
Data type<%= _.escape(item.get("file_ext")) %>
Genome build<%= _.escape(item.get("genome_build")) %>
Size<%= _.escape(item.get("file_size")) %>
Date uploaded (UTC)<%= _.escape(item.get("date_uploaded")) %>
Uploaded by<%= _.escape(item.get("uploaded_by")) %>
Data Lines<%= _.escape(item.get("metadata_data_lines")) %>
Comment Lines<%= _.escape(item.get("metadata_comment_lines")) %>unknown
Number of Columns<%= _.escape(item.get("metadata_columns")) %>
Column Types<%= _.escape(item.get("metadata_column_types")) %>
Message<%= _.escape(item.get("message")) %>
Miscellaneous information<%= _.escape(item.get("misc_info")) %>
Miscellaneous blurb<%= _.escape(item.get("misc_blurb")) %>
");e.push("
");e.push('
');e.push("   
");e.push("
");e.push("
");e.push("
");return _.template(e.join(""))},templateDatasetPermissions:function(){var e=[];e.push('
');e.push(' ");e.push('");e.push('

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

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

Library-related permissions

");e.push("

Roles that can modify the library item

");e.push('
');e.push('
User with any of these roles can modify name, metadata, and other information about this library item.
');e.push("
");e.push("

Dataset-related permissions

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

You can remove all access restrictions on this dataset. ");e.push(' ");e.push("

");e.push("<% } else { %>");e.push(" This dataset is unrestricted so everybody can access it. Just share the URL of this page.");e.push(' ');e.push("

You can make this dataset private to you. ");e.push(' ');e.push("

");e.push("<% } %>");e.push("

Roles that can access the dataset

");e.push('
');e.push('
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.
');e.push("

Roles that can manage permissions on the dataset

");e.push('
');e.push('
User with any of these roles can manage permissions of this dataset. If you remove yourself you will loose the ability manage this dataset unless you are an admin.
');e.push('');e.push("
");e.push("
");return _.template(e.join(""))},templateBulkImportInModal:function(){var e=[];e.push('');e.push("Select history: ");e.push('");e.push("");return _.template(e.join(""))},templateAccessSelect:function(){var e=[];e.push('");return _.template(e.join(""))}});return{LibraryDatasetView:a}}); \ No newline at end of file diff --git a/static/scripts/packed/mvc/library/library-folder-view.js b/static/scripts/packed/mvc/library/library-folder-view.js index 98a95469209..7b5a848b3b5 100644 --- a/static/scripts/packed/mvc/library/library-folder-view.js +++ b/static/scripts/packed/mvc/library/library-folder-view.js @@ -1 +1 @@ -define(["libs/toastr","mvc/library/library-model","mvc/ui/ui-select"],function(d,c,a){var b=Backbone.View.extend({el:"#center",model:null,options:{},events:{"click .toolbtn_save_permissions":"savePermissions"},initialize:function(e){this.options=_.extend(this.options,e);if(this.options.id){this.fetchFolder()}},fetchFolder:function(e){this.options=_.extend(this.options,e);this.model=new c.FolderAsModel({id:this.options.id});var f=this;this.model.fetch({success:function(){if(f.options.show_permissions){f.showPermissions()}else{f.render()}},error:function(h,g){if(typeof g.responseJSON!=="undefined"){d.error(g.responseJSON.err_msg+" Click this to go back.","",{onclick:function(){Galaxy.libraries.library_router.back()}})}else{d.error("An error ocurred. Click this to go back.","",{onclick:function(){Galaxy.libraries.library_router.back()}})}}})},render:function(e){$(".tooltip").remove();this.options=_.extend(this.options,e);var f=this.templateFolder();this.$el.html(f({item:this.model}));$(".peek").html(this.model.get("peek"));$("#center [data-toggle]").tooltip()},shareFolder:function(){d.info("Feature coming soon.")},goBack:function(){Galaxy.libraries.library_router.back()},showPermissions:function(f){this.options=_.extend(this.options,f);$(".tooltip").remove();var h=false;if(Galaxy.currUser){h=Galaxy.currUser.isAdmin()}var g=this.templateFolderPermissions();this.$el.html(g({folder:this.model,is_admin:h}));var e=this;if(this.options.fetched_permissions===undefined){$.get("/api/folders/"+e.id+"/permissions?scope=current").done(function(i){e.prepareSelectBoxes({fetched_permissions:i})}).fail(function(){d.error("An error occurred while attempting to fetch folder permissions.")})}else{this.prepareSelectBoxes({})}$("#center [data-toggle]").tooltip();$("#center").css("overflow","auto")},_serializeRoles:function(g){var e=[];for(var f=0;f=0;f--){ids_list.push(e[f].id)}return ids_list},savePermissions:function(h){var g=this;var e=this._extractIds(this.addSelectObject.$el.select2("data"));var i=this._extractIds(this.manageSelectObject.$el.select2("data"));var f=this._extractIds(this.modifySelectObject.$el.select2("data"));$.post("/api/folders/"+g.id+"/permissions?action=set_permissions",{"add_ids[]":e,"manage_ids[]":i,"modify_ids[]":f,}).done(function(j){g.showPermissions({fetched_permissions:j});d.success("Permissions saved.")}).fail(function(){d.error("An error occurred while attempting to set folder permissions.")})},templateFolder:function(){var e=[];e.push('
');e.push('
');e.push(' ');e.push(' /datasets/<%- item.id %>/permissions">');e.push(' ');e.push("
");e.push("

");e.push(" This dataset is unrestricted so everybody can access it. Just share the URL of this page. ");e.push(' ');e.push("

");e.push('
');e.push(' ');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(' <% if (item.get("file_ext")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push("
">Name<%= _.escape(item.get("name")) %>
Data type<%= _.escape(item.get("file_ext")) %>
");e.push("
");e.push("
");return _.template(e.join(""))},templateFolderPermissions:function(){var e=[];e.push('
');e.push('
');e.push(' ">');e.push("
");e.push('

Folder: <%= _.escape(folder.get("name")) %>

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

Folder permissions

");e.push("

Roles that can manage permissions on this folder

");e.push('
');e.push('
User with any of these roles can manage permissions on this folder.
');e.push("

Roles that can add items to this folder

");e.push('
');e.push('
User with any of these roles can add items to this folder (folders and datasets).
');e.push("

Roles that can modify this folder

");e.push('
');e.push('
User with any of these roles can modify this folder (name, etc.).
');e.push('');e.push("
");e.push("
");return _.template(e.join(""))}});return{FolderView:b}}); \ No newline at end of file +define(["libs/toastr","mvc/library/library-model","mvc/ui/ui-select"],function(d,c,a){var b=Backbone.View.extend({el:"#center",model:null,options:{},events:{"click .toolbtn_save_permissions":"savePermissions"},initialize:function(e){this.options=_.extend(this.options,e);if(this.options.id){this.fetchFolder()}},fetchFolder:function(e){this.options=_.extend(this.options,e);this.model=new c.FolderAsModel({id:this.options.id});var f=this;this.model.fetch({success:function(){if(f.options.show_permissions){f.showPermissions()}else{f.render()}},error:function(h,g){if(typeof g.responseJSON!=="undefined"){d.error(g.responseJSON.err_msg+" Click this to go back.","",{onclick:function(){Galaxy.libraries.library_router.back()}})}else{d.error("An error ocurred. Click this to go back.","",{onclick:function(){Galaxy.libraries.library_router.back()}})}}})},render:function(e){$(".tooltip").remove();this.options=_.extend(this.options,e);var f=this.templateFolder();this.$el.html(f({item:this.model}));$(".peek").html(this.model.get("peek"));$("#center [data-toggle]").tooltip()},shareFolder:function(){d.info("Feature coming soon.")},goBack:function(){Galaxy.libraries.library_router.back()},showPermissions:function(f){this.options=_.extend(this.options,f);$(".tooltip").remove();var h=false;if(Galaxy.currUser){h=Galaxy.currUser.isAdmin()}var g=this.templateFolderPermissions();this.$el.html(g({folder:this.model,is_admin:h}));var e=this;if(this.options.fetched_permissions===undefined){$.get((window.galaxy_config?galaxy_config.root:"/")+"api/folders/"+e.id+"/permissions?scope=current").done(function(i){e.prepareSelectBoxes({fetched_permissions:i})}).fail(function(){d.error("An error occurred while attempting to fetch folder permissions.")})}else{this.prepareSelectBoxes({})}$("#center [data-toggle]").tooltip();$("#center").css("overflow","auto")},_serializeRoles:function(g){var e=[];for(var f=0;f=0;f--){ids_list.push(e[f].id)}return ids_list},savePermissions:function(h){var g=this;var e=this._extractIds(this.addSelectObject.$el.select2("data"));var i=this._extractIds(this.manageSelectObject.$el.select2("data"));var f=this._extractIds(this.modifySelectObject.$el.select2("data"));$.post((window.galaxy_config?galaxy_config.root:"/")+"api/folders/"+g.id+"/permissions?action=set_permissions",{"add_ids[]":e,"manage_ids[]":i,"modify_ids[]":f,}).done(function(j){g.showPermissions({fetched_permissions:j});d.success("Permissions saved.")}).fail(function(){d.error("An error occurred while attempting to set folder permissions.")})},templateFolder:function(){var e=[];e.push('
');e.push('
');e.push(' ');e.push(' /datasets/<%- item.id %>/permissions">');e.push(' ');e.push("
");e.push("

");e.push(" This dataset is unrestricted so everybody can access it. Just share the URL of this page. ");e.push(' ');e.push("

");e.push('
');e.push(' ');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(' <% if (item.get("file_ext")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push("
">Name<%= _.escape(item.get("name")) %>
Data type<%= _.escape(item.get("file_ext")) %>
");e.push("
");e.push("
");return _.template(e.join(""))},templateFolderPermissions:function(){var e=[];e.push('
');e.push('
');e.push(' ">');e.push("
");e.push('

Folder: <%= _.escape(folder.get("name")) %>

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

Folder permissions

");e.push("

Roles that can manage permissions on this folder

");e.push('
');e.push('
User with any of these roles can manage permissions on this folder.
');e.push("

Roles that can add items to this folder

");e.push('
');e.push('
User with any of these roles can add items to this folder (folders and datasets).
');e.push("

Roles that can modify this folder

");e.push('
');e.push('
User with any of these roles can modify this folder (name, etc.).
');e.push('');e.push("
");e.push("
");return _.template(e.join(""))}});return{FolderView:b}}); \ No newline at end of file diff --git a/static/scripts/packed/mvc/library/library-foldertoolbar-view.js b/static/scripts/packed/mvc/library/library-foldertoolbar-view.js index 29d42c238a0..35ecfd5398d 100644 --- a/static/scripts/packed/mvc/library/library-foldertoolbar-view.js +++ b/static/scripts/packed/mvc/library/library-foldertoolbar-view.js @@ -1 +1 @@ -define(["galaxy.masthead","utils/utils","libs/toastr","mvc/library/library-model","mvc/ui/ui-select"],function(c,e,f,d,a){var b=Backbone.View.extend({el:"#center",events:{"click #toolbtn_create_folder":"createFolderFromModal","click #toolbtn_bulk_import":"modalBulkImport","click #include_deleted_datasets_chk":"checkIncludeDeleted","click #toolbtn_show_libinfo":"showLibInfo","click #toolbtn_bulk_delete":"deleteSelectedDatasets","click #page_size_prompt":"showPageSizePrompt"},defaults:{can_add_library_item:false,contains_file:false,chain_call_control:{total_number:0,failed_number:0},disabled_jstree_element:"folders"},modal:null,jstree:null,histories:null,select_genome:null,select_extension:null,list_extensions:[],auto:{id:"auto",text:"Auto-detect",description:"This system will try to detect the file type automatically. If your file is not detected properly as one of the known formats, it most likely means that it has some format problems (e.g., different number of columns on different rows). You can still coerce the system to set your data to the format you think it should be. You can also upload compressed files, which will automatically be decompressed."},list_genomes:[],initialize:function(g){this.options=_.defaults(g||{},this.defaults);this.fetchExtAndGenomes();this.render()},render:function(g){this.options=_.extend(this.options,g);var i=this.templateToolBar();var h={id:this.options.id,is_admin:false,is_anonym:true,mutiple_add_dataset_options:false};if(Galaxy.currUser){h.is_admin=Galaxy.currUser.isAdmin();h.is_anonym=Galaxy.currUser.isAnonymous();if(Galaxy.config.user_library_import_dir!==null||Galaxy.config.allow_library_path_paste!==false||Galaxy.config.library_import_dir!==null){h.mutiple_add_dataset_options=true}}this.$el.html(i(h))},renderPaginator:function(h){this.options=_.extend(this.options,h);var g=this.templatePaginator();this.$el.find("#folder_paginator").html(g({id:this.options.id,show_page:parseInt(this.options.show_page),page_count:parseInt(this.options.page_count),total_items_count:this.options.total_items_count,items_shown:this.options.items_shown}))},configureElements:function(g){this.options=_.extend(this.options,g);if(this.options.can_add_library_item===true){$(".add-library-items").show()}else{$(".add-library-items").hide()}if(this.options.contains_file===true){if(Galaxy.currUser){if(!Galaxy.currUser.isAnonymous()){$(".logged-dataset-manipulation").show();$(".dataset-manipulation").show()}else{$(".dataset-manipulation").show();$(".logged-dataset-manipulation").hide()}}else{$(".logged-dataset-manipulation").hide();$(".dataset-manipulation").hide()}}else{$(".logged-dataset-manipulation").hide();$(".dataset-manipulation").hide()}this.$el.find("[data-toggle]").tooltip()},createFolderFromModal:function(i){i.preventDefault();i.stopPropagation();var g=this;var h=this.templateNewFolderInModal();this.modal=Galaxy.modal;this.modal.show({closing_events:true,title:"Create New Folder",body:h(),buttons:{Create:function(){g.create_new_folder_event()},Close:function(){Galaxy.modal.hide()}}})},create_new_folder_event:function(){var g=this.serialize_new_folder();if(this.validate_new_folder(g)){var h=new d.FolderAsModel();url_items=Backbone.history.fragment.split("/");current_folder_id=url_items[url_items.length-1];h.url=h.urlRoot+"/"+current_folder_id;h.save(g,{success:function(i){Galaxy.modal.hide();f.success("Folder created.");i.set({type:"folder"});Galaxy.libraries.folderListView.collection.add(i)},error:function(j,i){Galaxy.modal.hide();if(typeof i.responseJSON!=="undefined"){f.error(i.responseJSON.err_msg)}else{f.error("An error ocurred.")}}})}else{f.error("Folder's name is missing.")}return false},serialize_new_folder:function(){return{name:$("input[name='Name']").val(),description:$("input[name='Description']").val()}},validate_new_folder:function(g){return g.name!==""},modalBulkImport:function(){var g=$("#folder_table").find(":checked");if(g.length===0){f.info("You must select some datasets first.")}else{this.refreshUserHistoriesList(function(i){var h=i.templateBulkImportInModal();i.modal=Galaxy.modal;i.modal.show({closing_events:true,title:"Import into History",body:h({histories:i.histories.models}),buttons:{Import:function(){i.importAllIntoHistory()},Close:function(){Galaxy.modal.hide()}}})})}},refreshUserHistoriesList:function(h){var g=this;this.histories=new d.GalaxyHistories();this.histories.fetch({success:function(){h(g)},error:function(j,i){if(typeof i.responseJSON!=="undefined"){f.error(i.responseJSON.err_msg)}else{f.error("An error ocurred.")}}})},importAllIntoHistory:function(){this.modal.disableButton("Import");var k=$("select[name=dataset_import_bulk] option:selected").val();var n=$("select[name=dataset_import_bulk] option:selected").text();this.options.last_used_history_id=k;var h=[];$("#folder_table").find(":checked").each(function(){if(this.parentElement.parentElement.id!==""){h.push(this.parentElement.parentElement.id)}});var m=[];for(var j=h.length-1;j>=0;j--){var g=h[j];var l=new d.HistoryItem();l.url=l.urlRoot+k+"/contents";l.content=g;l.source="library";m.push(l)}this.initChainCallControl({length:m.length,action:"to_history",history_name:n});jQuery.getJSON(galaxy_config.root+"history/set_as_current?id="+k);this.chainCallImportingIntoHistory(m,n)},updateProgress:function(){this.progress+=this.progressStep;$(".progress-bar-import").width(Math.round(this.progress)+"%");txt_representation=Math.round(this.progress)+"% Complete";$(".completion_span").text(txt_representation)},download:function(g,k){var i=[];$("#folder_table").find(":checked").each(function(){if(this.parentElement.parentElement.id!==""){i.push(this.parentElement.parentElement.id)}});var h="/api/libraries/datasets/download/"+k;var j={ld_ids:i};this.processDownload(h,j,"get")},processDownload:function(h,i,j){if(h&&i){i=typeof i==="string"?i:$.param(i);var g="";$.each(i.split("&"),function(){var k=this.split("=");g+=''});$('
'+g+"
").appendTo("body").submit().remove();f.info("Your download will begin soon.")}else{f.error("An error occurred.")}},addFilesFromHistoryModal:function(){this.refreshUserHistoriesList(function(g){g.modal=Galaxy.modal;var h=g.templateAddFilesFromHistory();var i=g.options.full_path[g.options.full_path.length-1][1];g.modal.show({closing_events:true,title:"Adding datasets from your history to folder "+i,body:h({histories:g.histories.models}),buttons:{Add:function(){g.addAllDatasetsFromHistory()},Close:function(){Galaxy.modal.hide()}},closing_callback:function(){Galaxy.libraries.library_router.back()}});if(g.histories.models.length>0){g.fetchAndDisplayHistoryContents(g.histories.models[0].id);$("#dataset_add_bulk").change(function(j){g.fetchAndDisplayHistoryContents(j.target.value)})}else{f.error("An error ocurred.")}})},importFilesFromPathModal:function(){var h=this;this.modal=Galaxy.modal;var g=this.templateImportPathModal();this.modal.show({closing_events:true,title:"Please enter paths to import",body:g({}),buttons:{Import:function(){h.importFromPathsClicked(h)},Close:function(){Galaxy.modal.hide()}},closing_callback:function(){Galaxy.libraries.library_router.navigate("folders/"+h.id,{trigger:true})}});this.renderSelectBoxes()},fetchExtAndGenomes:function(){var g=this;e.get({url:galaxy_config.root+"api/datatypes?extension_only=False",success:function(h){for(key in h){g.list_extensions.push({id:h[key].extension,text:h[key].extension,description:h[key].description,description_url:h[key].description_url})}g.list_extensions.sort(function(j,i){return j.id>i.id?1:j.idi.id?1:j.id=0;k--){trimmed=m[k].trim();if(trimmed.length!==0){l.push(trimmed)}}this.initChainCallControl({length:l.length,action:"adding_datasets"});this.chainCallImportingFolders({paths:l,preserve_dirs:g,link_data:n,source:"admin_path",file_type:h,dbkey:j})}},initChainCallControl:function(g){var h;switch(g.action){case"adding_datasets":h=this.templateAddingDatasetsProgressBar();this.modal.$el.find(".modal-body").html(h({folder_name:this.options.folder_name}));break;case"deleting_datasets":h=this.templateDeletingDatasetsProgressBar();this.modal.$el.find(".modal-body").html(h());break;case"to_history":h=this.templateImportIntoHistoryProgressBar();this.modal.$el.find(".modal-body").html(h({history_name:g.history_name}));break;default:console.error("Wrong action specified.");break}this.progress=0;this.progressStep=100/g.length;this.options.chain_call_control.total_number=g.length;this.options.chain_call_control.failed_number=0},importFromJstreePath:function(n,r){var g=$("#jstree_browser").jstree().get_selected(true);var m=this.modal.$el.find(".preserve-checkbox").is(":checked");var o=this.modal.$el.find(".link-checkbox").is(":checked");var j=this.select_extension.value();var p=this.select_genome.value();var k=g[0].type;var q=[];if(g.length<1){f.info("Please select some items first.")}else{this.modal.disableButton("Import");for(var l=g.length-1;l>=0;l--){if(g[l].li_attr.full_path!==undefined){q.push(g[l].li_attr.full_path)}}this.initChainCallControl({length:q.length,action:"adding_datasets"});if(k==="folder"){var h=r.source+"_folder";this.chainCallImportingFolders({paths:q,preserve_dirs:m,link_data:o,source:h,file_type:j,dbkey:p})}else{if(k==="file"){var h=r.source+"_file";this.chainCallImportingUserdirFiles({paths:q,file_type:j,dbkey:p,source:h})}}}},fetchAndDisplayHistoryContents:function(i){var h=new d.HistoryContents({id:i});var g=this;h.fetch({success:function(k){var j=g.templateHistoryContents();g.histories.get(i).set({contents:k});g.modal.$el.find("#selected_history_content").html(j({history_contents:k.models.reverse()}))},error:function(k,j){if(typeof j.responseJSON!=="undefined"){f.error(j.responseJSON.err_msg)}else{f.error("An error ocurred.")}}})},addAllDatasetsFromHistory:function(){var l=this.modal.$el.find("#selected_history_content").find(":checked");var g=[];var k=[];if(l.length<1){f.info("You must select some datasets first.")}else{this.modal.disableButton("Add");l.each(function(){var i=$(this.parentElement).data("id");if(i){g.push(i)}});for(var j=g.length-1;j>=0;j--){history_dataset_id=g[j];var h=new d.Item();h.url="/api/folders/"+this.options.id+"/contents";h.set({from_hda_id:history_dataset_id});k.push(h)}this.initChainCallControl({length:k.length,action:"adding_datasets"});this.chainCallAddingHdas(k)}},chainCallImportingIntoHistory:function(h,k){var g=this;var i=h.pop();if(typeof i=="undefined"){if(this.options.chain_call_control.failed_number===0){f.success("Selected datasets imported into history. Click this to start analysing it.","",{onclick:function(){window.location="/"}})}else{if(this.options.chain_call_control.failed_number===this.options.chain_call_control.total_number){f.error("There was an error and no datasets were imported into history.")}else{if(this.options.chain_call_control.failed_number=0;j--){var l=new d.Item({id:h[j]});m.push(l)}this.options.chain_call_control.total_number=h.length;this.chainCallDeletingHdas(m)}},showLibInfo:function(){var h=Galaxy.libraries.folderListView.folderContainer.attributes.metadata.parent_library_id;var g=null;var i=this;if(Galaxy.libraries.libraryListView!==null){g=Galaxy.libraries.libraryListView.collection.get(h);this.showLibInfoModal(g)}else{g=new d.Library({id:h});g.fetch({success:function(){i.showLibInfoModal(g)},error:function(k,j){if(typeof j.responseJSON!=="undefined"){f.error(j.responseJSON.err_msg)}else{f.error("An error ocurred.")}}})}},showLibInfoModal:function(g){var h=this.templateLibInfoInModal();this.modal=Galaxy.modal;this.modal.show({closing_events:true,title:"Library Information",body:h({library:g}),buttons:{Close:function(){Galaxy.modal.hide()}}})},showImportModal:function(g){switch(g.source){case"history":this.addFilesFromHistoryModal();break;case"importdir":this.importFilesFromGalaxyFolderModal({source:"importdir"});break;case"path":this.importFilesFromPathModal();break;case"userdir":this.importFilesFromGalaxyFolderModal({source:"userdir"});break;default:Galaxy.libraries.library_router.back();f.error("Invalid import source.");break}},showPageSizePrompt:function(){var g=prompt("How many items per page do you want to see?",Galaxy.libraries.preferences.get("folder_page_size"));if((g!=null)&&(g==parseInt(g))){Galaxy.libraries.preferences.set({folder_page_size:parseInt(g)});Galaxy.libraries.folderListView.render({id:this.options.id,show_page:1})}},templateToolBar:function(){tmpl_array=[];tmpl_array.push('
');tmpl_array.push('
');tmpl_array.push(" DATA LIBRARIES");tmpl_array.push(' ');tmpl_array.push(' ');tmpl_array.push("<% if(mutiple_add_dataset_options) { %>");tmpl_array.push(' ");tmpl_array.push("<% } else { %>");tmpl_array.push(' ');tmpl_array.push("<% } %>");tmpl_array.push(' ');tmpl_array.push(' ");tmpl_array.push(' ');tmpl_array.push(' ');tmpl_array.push(' ');tmpl_array.push(' ');tmpl_array.push(" ");tmpl_array.push("
");tmpl_array.push('
');tmpl_array.push("
");tmpl_array.push("
");return _.template(tmpl_array.join(""))},templateLibInfoInModal:function(){tmpl_array=[];tmpl_array.push('
');tmpl_array.push("

Library name:

");tmpl_array.push('

<%- library.get("name") %>

');tmpl_array.push("

Library description:

");tmpl_array.push('

<%- library.get("description") %>

');tmpl_array.push("

Library synopsis:

");tmpl_array.push('

<%- library.get("synopsis") %>

');tmpl_array.push("
");return _.template(tmpl_array.join(""))},templateNewFolderInModal:function(){tmpl_array=[];tmpl_array.push('
');tmpl_array.push("
");tmpl_array.push('');tmpl_array.push('');tmpl_array.push("
");tmpl_array.push("
");return _.template(tmpl_array.join(""))},templateBulkImportInModal:function(){var g=[];g.push('');g.push("Select history: ");g.push('");g.push("");return _.template(g.join(""))},templateImportIntoHistoryProgressBar:function(){var g=[];g.push('
');g.push("Importing selected datasets to history <%= _.escape(history_name) %>");g.push("
");g.push('
');g.push('
');g.push(' 0% Complete');g.push("
");g.push("
");g.push("");return _.template(g.join(""))},templateAddingDatasetsProgressBar:function(){var g=[];g.push('
');g.push("Adding selected datasets to library folder <%= _.escape(folder_name) %>");g.push("
");g.push('
');g.push('
');g.push(' 0% Complete');g.push("
");g.push("
");g.push("");return _.template(g.join(""))},templateDeletingDatasetsProgressBar:function(){var g=[];g.push('
');g.push("
");g.push('
');g.push('
');g.push(' 0% Complete');g.push("
");g.push("
");g.push("");return _.template(g.join(""))},templateBrowserModal:function(){var g=[];g.push('
');g.push('
All files you select will be imported into the current folder.
');g.push('');g.push('
');g.push('");g.push('");g.push("
");g.push('
');g.push('");g.push('");g.push("
");g.push('
');g.push("
");g.push("
");g.push("

You can set extension type and genome for all imported datasets at once:

");g.push("
");g.push('Type: ');g.push(' Genome: ');g.push("
");g.push("
");return _.template(g.join(""))},templateImportPathModal:function(){var g=[];g.push('
');g.push('
All files within the given folders and their subfolders will be imported into the current folder.
');g.push('
');g.push('");g.push('");g.push("
");g.push('');g.push("
");g.push("

You can set extension type and genome for all imported datasets at once:

");g.push("
");g.push('Type: ');g.push(' Genome: ');g.push("
");g.push("
");return _.template(g.join(""))},templateAddFilesFromHistory:function(){var g=[];g.push('
');g.push('
');g.push("Select history: ");g.push('");g.push("
");g.push("
");g.push('
');g.push("
");g.push("
");return _.template(g.join(""))},templateHistoryContents:function(){var g=[];g.push("Choose the datasets to import:");g.push("
    ");g.push(" <% _.each(history_contents, function(history_item) { %>");g.push('
  • ">');g.push(' <%= _.escape(history_item.get("hid")) %>: <%= _.escape(history_item.get("name")) %>');g.push("
  • ");g.push(" <% }); %>");g.push("
");return _.template(g.join(""))},templatePaginator:function(){tmpl_array=[];tmpl_array.push('
    ');tmpl_array.push(" <% if ( ( show_page - 1 ) > 0 ) { %>");tmpl_array.push(" <% if ( ( show_page - 1 ) > page_count ) { %>");tmpl_array.push('
  • ');tmpl_array.push('
  • <% print( show_page - 1 ) %>
  • ');tmpl_array.push(" <% } else { %>");tmpl_array.push('
  • ');tmpl_array.push('
  • <% print( show_page - 1 ) %>
  • ');tmpl_array.push(" <% } %>");tmpl_array.push(" <% } else { %>");tmpl_array.push('
  • ');tmpl_array.push('
  • <% print( show_page - 1 ) %>
  • ');tmpl_array.push(" <% } %>");tmpl_array.push('
  • ');tmpl_array.push(' <% print( show_page ) %>');tmpl_array.push("
  • ");tmpl_array.push(" <% if ( ( show_page ) < page_count ) { %>");tmpl_array.push('
  • <% print( show_page + 1 ) %>
  • ');tmpl_array.push('
  • ');tmpl_array.push(" <% } else { %>");tmpl_array.push('
  • <% print( show_page + 1 ) %>
  • ');tmpl_array.push('
  • ');tmpl_array.push(" <% } %>");tmpl_array.push("
");tmpl_array.push(" ");tmpl_array.push(' showing <%- items_shown %> of <%- total_items_count %> items');tmpl_array.push(" ");return _.template(tmpl_array.join(""))},});return{FolderToolbarView:b}}); \ No newline at end of file +define(["galaxy.masthead","utils/utils","libs/toastr","mvc/library/library-model","mvc/ui/ui-select"],function(c,e,f,d,a){var b=Backbone.View.extend({el:"#center",events:{"click #toolbtn_create_folder":"createFolderFromModal","click #toolbtn_bulk_import":"modalBulkImport","click #include_deleted_datasets_chk":"checkIncludeDeleted","click #toolbtn_show_libinfo":"showLibInfo","click #toolbtn_bulk_delete":"deleteSelectedDatasets","click #page_size_prompt":"showPageSizePrompt"},defaults:{can_add_library_item:false,contains_file:false,chain_call_control:{total_number:0,failed_number:0},disabled_jstree_element:"folders"},modal:null,jstree:null,histories:null,select_genome:null,select_extension:null,list_extensions:[],auto:{id:"auto",text:"Auto-detect",description:"This system will try to detect the file type automatically. If your file is not detected properly as one of the known formats, it most likely means that it has some format problems (e.g., different number of columns on different rows). You can still coerce the system to set your data to the format you think it should be. You can also upload compressed files, which will automatically be decompressed."},list_genomes:[],initialize:function(g){this.options=_.defaults(g||{},this.defaults);this.fetchExtAndGenomes();this.render()},render:function(g){this.options=_.extend(this.options,g);var i=this.templateToolBar();var h={id:this.options.id,is_admin:false,is_anonym:true,mutiple_add_dataset_options:false};if(Galaxy.currUser){h.is_admin=Galaxy.currUser.isAdmin();h.is_anonym=Galaxy.currUser.isAnonymous();if(Galaxy.config.user_library_import_dir!==null||Galaxy.config.allow_library_path_paste!==false||Galaxy.config.library_import_dir!==null){h.mutiple_add_dataset_options=true}}this.$el.html(i(h))},renderPaginator:function(h){this.options=_.extend(this.options,h);var g=this.templatePaginator();this.$el.find("#folder_paginator").html(g({id:this.options.id,show_page:parseInt(this.options.show_page),page_count:parseInt(this.options.page_count),total_items_count:this.options.total_items_count,items_shown:this.options.items_shown}))},configureElements:function(g){this.options=_.extend(this.options,g);if(this.options.can_add_library_item===true){$(".add-library-items").show()}else{$(".add-library-items").hide()}if(this.options.contains_file===true){if(Galaxy.currUser){if(!Galaxy.currUser.isAnonymous()){$(".logged-dataset-manipulation").show();$(".dataset-manipulation").show()}else{$(".dataset-manipulation").show();$(".logged-dataset-manipulation").hide()}}else{$(".logged-dataset-manipulation").hide();$(".dataset-manipulation").hide()}}else{$(".logged-dataset-manipulation").hide();$(".dataset-manipulation").hide()}this.$el.find("[data-toggle]").tooltip()},createFolderFromModal:function(i){i.preventDefault();i.stopPropagation();var g=this;var h=this.templateNewFolderInModal();this.modal=Galaxy.modal;this.modal.show({closing_events:true,title:"Create New Folder",body:h(),buttons:{Create:function(){g.create_new_folder_event()},Close:function(){Galaxy.modal.hide()}}})},create_new_folder_event:function(){var g=this.serialize_new_folder();if(this.validate_new_folder(g)){var h=new d.FolderAsModel();url_items=Backbone.history.fragment.split("/");current_folder_id=url_items[url_items.length-1];h.url=h.urlRoot+"/"+current_folder_id;h.save(g,{success:function(i){Galaxy.modal.hide();f.success("Folder created.");i.set({type:"folder"});Galaxy.libraries.folderListView.collection.add(i)},error:function(j,i){Galaxy.modal.hide();if(typeof i.responseJSON!=="undefined"){f.error(i.responseJSON.err_msg)}else{f.error("An error ocurred.")}}})}else{f.error("Folder's name is missing.")}return false},serialize_new_folder:function(){return{name:$("input[name='Name']").val(),description:$("input[name='Description']").val()}},validate_new_folder:function(g){return g.name!==""},modalBulkImport:function(){var g=$("#folder_table").find(":checked");if(g.length===0){f.info("You must select some datasets first.")}else{this.refreshUserHistoriesList(function(i){var h=i.templateBulkImportInModal();i.modal=Galaxy.modal;i.modal.show({closing_events:true,title:"Import into History",body:h({histories:i.histories.models}),buttons:{Import:function(){i.importAllIntoHistory()},Close:function(){Galaxy.modal.hide()}}})})}},refreshUserHistoriesList:function(h){var g=this;this.histories=new d.GalaxyHistories();this.histories.fetch({success:function(){h(g)},error:function(j,i){if(typeof i.responseJSON!=="undefined"){f.error(i.responseJSON.err_msg)}else{f.error("An error ocurred.")}}})},importAllIntoHistory:function(){this.modal.disableButton("Import");var k=$("select[name=dataset_import_bulk] option:selected").val();var n=$("select[name=dataset_import_bulk] option:selected").text();this.options.last_used_history_id=k;var h=[];$("#folder_table").find(":checked").each(function(){if(this.parentElement.parentElement.id!==""){h.push(this.parentElement.parentElement.id)}});var m=[];for(var j=h.length-1;j>=0;j--){var g=h[j];var l=new d.HistoryItem();l.url=l.urlRoot+k+"/contents";l.content=g;l.source="library";m.push(l)}this.initChainCallControl({length:m.length,action:"to_history",history_name:n});jQuery.getJSON(galaxy_config.root+"history/set_as_current?id="+k);this.chainCallImportingIntoHistory(m,n)},updateProgress:function(){this.progress+=this.progressStep;$(".progress-bar-import").width(Math.round(this.progress)+"%");txt_representation=Math.round(this.progress)+"% Complete";$(".completion_span").text(txt_representation)},download:function(g,k){var i=[];$("#folder_table").find(":checked").each(function(){if(this.parentElement.parentElement.id!==""){i.push(this.parentElement.parentElement.id)}});var h=(window.galaxy_config?galaxy_config.root:"/")+"api/libraries/datasets/download/"+k;var j={ld_ids:i};this.processDownload(h,j,"get")},processDownload:function(h,i,j){if(h&&i){i=typeof i==="string"?i:$.param(i);var g="";$.each(i.split("&"),function(){var k=this.split("=");g+=''});$('
'+g+"
").appendTo("body").submit().remove();f.info("Your download will begin soon.")}else{f.error("An error occurred.")}},addFilesFromHistoryModal:function(){this.refreshUserHistoriesList(function(g){g.modal=Galaxy.modal;var h=g.templateAddFilesFromHistory();var i=g.options.full_path[g.options.full_path.length-1][1];g.modal.show({closing_events:true,title:"Adding datasets from your history to folder "+i,body:h({histories:g.histories.models}),buttons:{Add:function(){g.addAllDatasetsFromHistory()},Close:function(){Galaxy.modal.hide()}},closing_callback:function(){Galaxy.libraries.library_router.back()}});if(g.histories.models.length>0){g.fetchAndDisplayHistoryContents(g.histories.models[0].id);$("#dataset_add_bulk").change(function(j){g.fetchAndDisplayHistoryContents(j.target.value)})}else{f.error("An error ocurred.")}})},importFilesFromPathModal:function(){var h=this;this.modal=Galaxy.modal;var g=this.templateImportPathModal();this.modal.show({closing_events:true,title:"Please enter paths to import",body:g({}),buttons:{Import:function(){h.importFromPathsClicked(h)},Close:function(){Galaxy.modal.hide()}},closing_callback:function(){Galaxy.libraries.library_router.navigate("folders/"+h.id,{trigger:true})}});this.renderSelectBoxes()},fetchExtAndGenomes:function(){var g=this;e.get({url:(window.galaxy_config?galaxy_config.root:"/")+"api/datatypes?extension_only=False",success:function(h){for(key in h){g.list_extensions.push({id:h[key].extension,text:h[key].extension,description:h[key].description,description_url:h[key].description_url})}g.list_extensions.sort(function(j,i){return j.id>i.id?1:j.idi.id?1:j.id=0;k--){trimmed=m[k].trim();if(trimmed.length!==0){l.push(trimmed)}}this.initChainCallControl({length:l.length,action:"adding_datasets"});this.chainCallImportingFolders({paths:l,preserve_dirs:g,link_data:n,source:"admin_path",file_type:h,dbkey:j})}},initChainCallControl:function(g){var h;switch(g.action){case"adding_datasets":h=this.templateAddingDatasetsProgressBar();this.modal.$el.find(".modal-body").html(h({folder_name:this.options.folder_name}));break;case"deleting_datasets":h=this.templateDeletingDatasetsProgressBar();this.modal.$el.find(".modal-body").html(h());break;case"to_history":h=this.templateImportIntoHistoryProgressBar();this.modal.$el.find(".modal-body").html(h({history_name:g.history_name}));break;default:console.error("Wrong action specified.");break}this.progress=0;this.progressStep=100/g.length;this.options.chain_call_control.total_number=g.length;this.options.chain_call_control.failed_number=0},importFromJstreePath:function(n,r){var g=$("#jstree_browser").jstree().get_selected(true);var m=this.modal.$el.find(".preserve-checkbox").is(":checked");var o=this.modal.$el.find(".link-checkbox").is(":checked");var j=this.select_extension.value();var p=this.select_genome.value();var k=g[0].type;var q=[];if(g.length<1){f.info("Please select some items first.")}else{this.modal.disableButton("Import");for(var l=g.length-1;l>=0;l--){if(g[l].li_attr.full_path!==undefined){q.push(g[l].li_attr.full_path)}}this.initChainCallControl({length:q.length,action:"adding_datasets"});if(k==="folder"){var h=r.source+"_folder";this.chainCallImportingFolders({paths:q,preserve_dirs:m,link_data:o,source:h,file_type:j,dbkey:p})}else{if(k==="file"){var h=r.source+"_file";this.chainCallImportingUserdirFiles({paths:q,file_type:j,dbkey:p,source:h})}}}},fetchAndDisplayHistoryContents:function(i){var h=new d.HistoryContents({id:i});var g=this;h.fetch({success:function(k){var j=g.templateHistoryContents();g.histories.get(i).set({contents:k});g.modal.$el.find("#selected_history_content").html(j({history_contents:k.models.reverse()}))},error:function(k,j){if(typeof j.responseJSON!=="undefined"){f.error(j.responseJSON.err_msg)}else{f.error("An error ocurred.")}}})},addAllDatasetsFromHistory:function(){var l=this.modal.$el.find("#selected_history_content").find(":checked");var g=[];var k=[];if(l.length<1){f.info("You must select some datasets first.")}else{this.modal.disableButton("Add");l.each(function(){var i=$(this.parentElement).data("id");if(i){g.push(i)}});for(var j=g.length-1;j>=0;j--){history_dataset_id=g[j];var h=new d.Item();h.url=(window.galaxy_config?galaxy_config.root:"/")+"api/folders/"+this.options.id+"/contents";h.set({from_hda_id:history_dataset_id});k.push(h)}this.initChainCallControl({length:k.length,action:"adding_datasets"});this.chainCallAddingHdas(k)}},chainCallImportingIntoHistory:function(h,k){var g=this;var i=h.pop();if(typeof i=="undefined"){if(this.options.chain_call_control.failed_number===0){f.success("Selected datasets imported into history. Click this to start analysing it.","",{onclick:function(){window.location="/"}})}else{if(this.options.chain_call_control.failed_number===this.options.chain_call_control.total_number){f.error("There was an error and no datasets were imported into history.")}else{if(this.options.chain_call_control.failed_number=0;j--){var l=new d.Item({id:h[j]});m.push(l)}this.options.chain_call_control.total_number=h.length;this.chainCallDeletingHdas(m)}},showLibInfo:function(){var h=Galaxy.libraries.folderListView.folderContainer.attributes.metadata.parent_library_id;var g=null;var i=this;if(Galaxy.libraries.libraryListView!==null){g=Galaxy.libraries.libraryListView.collection.get(h);this.showLibInfoModal(g)}else{g=new d.Library({id:h});g.fetch({success:function(){i.showLibInfoModal(g)},error:function(k,j){if(typeof j.responseJSON!=="undefined"){f.error(j.responseJSON.err_msg)}else{f.error("An error ocurred.")}}})}},showLibInfoModal:function(g){var h=this.templateLibInfoInModal();this.modal=Galaxy.modal;this.modal.show({closing_events:true,title:"Library Information",body:h({library:g}),buttons:{Close:function(){Galaxy.modal.hide()}}})},showImportModal:function(g){switch(g.source){case"history":this.addFilesFromHistoryModal();break;case"importdir":this.importFilesFromGalaxyFolderModal({source:"importdir"});break;case"path":this.importFilesFromPathModal();break;case"userdir":this.importFilesFromGalaxyFolderModal({source:"userdir"});break;default:Galaxy.libraries.library_router.back();f.error("Invalid import source.");break}},showPageSizePrompt:function(){var g=prompt("How many items per page do you want to see?",Galaxy.libraries.preferences.get("folder_page_size"));if((g!=null)&&(g==parseInt(g))){Galaxy.libraries.preferences.set({folder_page_size:parseInt(g)});Galaxy.libraries.folderListView.render({id:this.options.id,show_page:1})}},templateToolBar:function(){tmpl_array=[];tmpl_array.push('
');tmpl_array.push('
');tmpl_array.push(" DATA LIBRARIES");tmpl_array.push(' ');tmpl_array.push(' ');tmpl_array.push("<% if(mutiple_add_dataset_options) { %>");tmpl_array.push(' ");tmpl_array.push("<% } else { %>");tmpl_array.push(' ');tmpl_array.push("<% } %>");tmpl_array.push(' ');tmpl_array.push(' ");tmpl_array.push(' ');tmpl_array.push(' ');tmpl_array.push(' ');tmpl_array.push(' ');tmpl_array.push(" ");tmpl_array.push("
");tmpl_array.push('
');tmpl_array.push("
");tmpl_array.push("
");return _.template(tmpl_array.join(""))},templateLibInfoInModal:function(){tmpl_array=[];tmpl_array.push('
');tmpl_array.push("

Library name:

");tmpl_array.push('

<%- library.get("name") %>

');tmpl_array.push("

Library description:

");tmpl_array.push('

<%- library.get("description") %>

');tmpl_array.push("

Library synopsis:

");tmpl_array.push('

<%- library.get("synopsis") %>

');tmpl_array.push("
");return _.template(tmpl_array.join(""))},templateNewFolderInModal:function(){tmpl_array=[];tmpl_array.push('
');tmpl_array.push("
");tmpl_array.push('');tmpl_array.push('');tmpl_array.push("
");tmpl_array.push("
");return _.template(tmpl_array.join(""))},templateBulkImportInModal:function(){var g=[];g.push('');g.push("Select history: ");g.push('");g.push("");return _.template(g.join(""))},templateImportIntoHistoryProgressBar:function(){var g=[];g.push('
');g.push("Importing selected datasets to history <%= _.escape(history_name) %>");g.push("
");g.push('
');g.push('
');g.push(' 0% Complete');g.push("
");g.push("
");g.push("");return _.template(g.join(""))},templateAddingDatasetsProgressBar:function(){var g=[];g.push('
');g.push("Adding selected datasets to library folder <%= _.escape(folder_name) %>");g.push("
");g.push('
');g.push('
');g.push(' 0% Complete');g.push("
");g.push("
");g.push("");return _.template(g.join(""))},templateDeletingDatasetsProgressBar:function(){var g=[];g.push('
');g.push("
");g.push('
');g.push('
');g.push(' 0% Complete');g.push("
");g.push("
");g.push("");return _.template(g.join(""))},templateBrowserModal:function(){var g=[];g.push('
');g.push('
All files you select will be imported into the current folder.
');g.push('');g.push('
');g.push('");g.push('");g.push("
");g.push('
');g.push('");g.push('");g.push("
");g.push('
');g.push("
");g.push("
");g.push("

You can set extension type and genome for all imported datasets at once:

");g.push("
");g.push('Type: ');g.push(' Genome: ');g.push("
");g.push("
");return _.template(g.join(""))},templateImportPathModal:function(){var g=[];g.push('
');g.push('
All files within the given folders and their subfolders will be imported into the current folder.
');g.push('
');g.push('");g.push('");g.push("
");g.push('');g.push("
");g.push("

You can set extension type and genome for all imported datasets at once:

");g.push("
");g.push('Type: ');g.push(' Genome: ');g.push("
");g.push("
");return _.template(g.join(""))},templateAddFilesFromHistory:function(){var g=[];g.push('
');g.push('
');g.push("Select history: ");g.push('");g.push("
");g.push("
");g.push('
');g.push("
");g.push("
");return _.template(g.join(""))},templateHistoryContents:function(){var g=[];g.push("Choose the datasets to import:");g.push("
    ");g.push(" <% _.each(history_contents, function(history_item) { %>");g.push('
  • ">');g.push(' <%= _.escape(history_item.get("hid")) %>: <%= _.escape(history_item.get("name")) %>');g.push("
  • ");g.push(" <% }); %>");g.push("
");return _.template(g.join(""))},templatePaginator:function(){tmpl_array=[];tmpl_array.push('
    ');tmpl_array.push(" <% if ( ( show_page - 1 ) > 0 ) { %>");tmpl_array.push(" <% if ( ( show_page - 1 ) > page_count ) { %>");tmpl_array.push('
  • ');tmpl_array.push('
  • <% print( show_page - 1 ) %>
  • ');tmpl_array.push(" <% } else { %>");tmpl_array.push('
  • ');tmpl_array.push('
  • <% print( show_page - 1 ) %>
  • ');tmpl_array.push(" <% } %>");tmpl_array.push(" <% } else { %>");tmpl_array.push('
  • ');tmpl_array.push('
  • <% print( show_page - 1 ) %>
  • ');tmpl_array.push(" <% } %>");tmpl_array.push('
  • ');tmpl_array.push(' <% print( show_page ) %>');tmpl_array.push("
  • ");tmpl_array.push(" <% if ( ( show_page ) < page_count ) { %>");tmpl_array.push('
  • <% print( show_page + 1 ) %>
  • ');tmpl_array.push('
  • ');tmpl_array.push(" <% } else { %>");tmpl_array.push('
  • <% print( show_page + 1 ) %>
  • ');tmpl_array.push('
  • ');tmpl_array.push(" <% } %>");tmpl_array.push("
");tmpl_array.push(" ");tmpl_array.push(' showing <%- items_shown %> of <%- total_items_count %> items');tmpl_array.push(" ");return _.template(tmpl_array.join(""))},});return{FolderToolbarView:b}}); \ No newline at end of file diff --git a/static/scripts/packed/mvc/library/library-library-view.js b/static/scripts/packed/mvc/library/library-library-view.js index 23b5ad0b391..1cf92b9a788 100644 --- a/static/scripts/packed/mvc/library/library-library-view.js +++ b/static/scripts/packed/mvc/library/library-library-view.js @@ -1 +1 @@ -define(["libs/toastr","mvc/library/library-model","mvc/ui/ui-select"],function(d,c,a){var b=Backbone.View.extend({el:"#center",model:null,options:{},events:{"click .toolbtn_save_permissions":"savePermissions"},initialize:function(e){this.options=_.extend(this.options,e);if(this.options.id){this.fetchLibrary()}},fetchLibrary:function(e){this.options=_.extend(this.options,e);this.model=new c.Library({id:this.options.id});var f=this;this.model.fetch({success:function(){if(f.options.show_permissions){f.showPermissions()}else{f.render()}},error:function(h,g){if(typeof g.responseJSON!=="undefined"){d.error(g.responseJSON.err_msg+" Click this to go back.","",{onclick:function(){Galaxy.libraries.library_router.back()}})}else{d.error("An error ocurred. Click this to go back.","",{onclick:function(){Galaxy.libraries.library_router.back()}})}}})},render:function(e){$(".tooltip").remove();this.options=_.extend(this.options,e);var f=this.templateLibrary();this.$el.html(f({item:this.model}));$("#center [data-toggle]").tooltip()},shareDataset:function(){d.info("Feature coming soon.")},goBack:function(){Galaxy.libraries.library_router.back()},showPermissions:function(f){this.options=_.extend(this.options,f);$(".tooltip").remove();if(this.options.fetched_permissions!==undefined){if(this.options.fetched_permissions.access_library_role_list.length===0){this.model.set({is_unrestricted:true})}else{this.model.set({is_unrestricted:false})}}var h=false;if(Galaxy.currUser){h=Galaxy.currUser.isAdmin()}var g=this.templateLibraryPermissions();this.$el.html(g({library:this.model,is_admin:h}));var e=this;if(this.options.fetched_permissions===undefined){$.get("/api/libraries/"+e.id+"/permissions?scope=current").done(function(i){e.prepareSelectBoxes({fetched_permissions:i})}).fail(function(){d.error("An error occurred while attempting to fetch library permissions.")})}else{this.prepareSelectBoxes({})}$("#center [data-toggle]").tooltip();$("#center").css("overflow","auto")},_serializeRoles:function(g){var e=[];for(var f=0;f=0;f--){ids_list.push(e[f].id)}return ids_list},savePermissions:function(h){var g=this;var i=this._extractIds(this.accessSelectObject.$el.select2("data"));var e=this._extractIds(this.addSelectObject.$el.select2("data"));var j=this._extractIds(this.manageSelectObject.$el.select2("data"));var f=this._extractIds(this.modifySelectObject.$el.select2("data"));$.post("/api/libraries/"+g.id+"/permissions?action=set_permissions",{"access_ids[]":i,"add_ids[]":e,"manage_ids[]":j,"modify_ids[]":f,}).done(function(k){g.showPermissions({fetched_permissions:k});d.success("Permissions saved.")}).fail(function(){d.error("An error occurred while attempting to set library permissions.")})},templateLibrary:function(){var e=[];e.push('
');e.push('
');e.push(' ');e.push(' /datasets/<%- item.id %>/permissions">');e.push(' ');e.push("
");e.push("

");e.push(" This dataset is unrestricted so everybody can access it. Just share the URL of this page. ");e.push(' ');e.push("

");e.push('
');e.push(' ');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(' <% if (item.get("file_ext")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push("
">Name<%= _.escape(item.get("name")) %>
Data type<%= _.escape(item.get("file_ext")) %>
");e.push("
");e.push("
");return _.template(e.join(""))},templateLibraryPermissions:function(){var e=[];e.push('
');e.push('
');e.push(' ');e.push("
");e.push('

Library: <%= _.escape(library.get("name")) %>

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

Library permissions

");e.push("

Roles that can access the library

");e.push('
');e.push('
User with any of these roles can access this library. If there are no access roles set on the library it is considered unrestricted.
');e.push("

Roles that can manage permissions on this library

");e.push('
');e.push('
User with any of these roles can manage permissions on this library (includes giving access).
');e.push("

Roles that can add items to this library

");e.push('
');e.push('
User with any of these roles can add items to this library (folders and datasets).
');e.push("

Roles that can modify this library

");e.push('
');e.push('
User with any of these roles can modify this library (name, synopsis, etc.).
');e.push('');e.push("
");e.push("
");return _.template(e.join(""))}});return{LibraryView:b}}); \ No newline at end of file +define(["libs/toastr","mvc/library/library-model","mvc/ui/ui-select"],function(d,c,a){var b=Backbone.View.extend({el:"#center",model:null,options:{},events:{"click .toolbtn_save_permissions":"savePermissions"},initialize:function(e){this.options=_.extend(this.options,e);if(this.options.id){this.fetchLibrary()}},fetchLibrary:function(e){this.options=_.extend(this.options,e);this.model=new c.Library({id:this.options.id});var f=this;this.model.fetch({success:function(){if(f.options.show_permissions){f.showPermissions()}else{f.render()}},error:function(h,g){if(typeof g.responseJSON!=="undefined"){d.error(g.responseJSON.err_msg+" Click this to go back.","",{onclick:function(){Galaxy.libraries.library_router.back()}})}else{d.error("An error ocurred. Click this to go back.","",{onclick:function(){Galaxy.libraries.library_router.back()}})}}})},render:function(e){$(".tooltip").remove();this.options=_.extend(this.options,e);var f=this.templateLibrary();this.$el.html(f({item:this.model}));$("#center [data-toggle]").tooltip()},shareDataset:function(){d.info("Feature coming soon.")},goBack:function(){Galaxy.libraries.library_router.back()},showPermissions:function(f){this.options=_.extend(this.options,f);$(".tooltip").remove();if(this.options.fetched_permissions!==undefined){if(this.options.fetched_permissions.access_library_role_list.length===0){this.model.set({is_unrestricted:true})}else{this.model.set({is_unrestricted:false})}}var h=false;if(Galaxy.currUser){h=Galaxy.currUser.isAdmin()}var g=this.templateLibraryPermissions();this.$el.html(g({library:this.model,is_admin:h}));var e=this;if(this.options.fetched_permissions===undefined){$.get((window.galaxy_config?galaxy_config.root:"/")+"api/libraries/"+e.id+"/permissions?scope=current").done(function(i){e.prepareSelectBoxes({fetched_permissions:i})}).fail(function(){d.error("An error occurred while attempting to fetch library permissions.")})}else{this.prepareSelectBoxes({})}$("#center [data-toggle]").tooltip();$("#center").css("overflow","auto")},_serializeRoles:function(g){var e=[];for(var f=0;f=0;f--){ids_list.push(e[f].id)}return ids_list},savePermissions:function(h){var g=this;var i=this._extractIds(this.accessSelectObject.$el.select2("data"));var e=this._extractIds(this.addSelectObject.$el.select2("data"));var j=this._extractIds(this.manageSelectObject.$el.select2("data"));var f=this._extractIds(this.modifySelectObject.$el.select2("data"));$.post((window.galaxy_config?galaxy_config.root:"/")+"api/libraries/"+g.id+"/permissions?action=set_permissions",{"access_ids[]":i,"add_ids[]":e,"manage_ids[]":j,"modify_ids[]":f,}).done(function(k){g.showPermissions({fetched_permissions:k});d.success("Permissions saved.")}).fail(function(){d.error("An error occurred while attempting to set library permissions.")})},templateLibrary:function(){var e=[];e.push('
');e.push('
');e.push(' ');e.push(' /datasets/<%- item.id %>/permissions">');e.push(' ');e.push("
");e.push("

");e.push(" This dataset is unrestricted so everybody can access it. Just share the URL of this page. ");e.push(' ');e.push("

");e.push('
');e.push(' ');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(' <% if (item.get("file_ext")) { %>');e.push(" ");e.push(' ');e.push(' ');e.push(" ");e.push(" <% } %>");e.push("
">Name<%= _.escape(item.get("name")) %>
Data type<%= _.escape(item.get("file_ext")) %>
");e.push("
");e.push("
");return _.template(e.join(""))},templateLibraryPermissions:function(){var e=[];e.push('
');e.push('
');e.push(' ');e.push("
");e.push('

Library: <%= _.escape(library.get("name")) %>

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

Library permissions

");e.push("

Roles that can access the library

");e.push('
');e.push('
User with any of these roles can access this library. If there are no access roles set on the library it is considered unrestricted.
');e.push("

Roles that can manage permissions on this library

");e.push('
');e.push('
User with any of these roles can manage permissions on this library (includes giving access).
');e.push("

Roles that can add items to this library

");e.push('
');e.push('
User with any of these roles can add items to this library (folders and datasets).
');e.push("

Roles that can modify this library

");e.push('
');e.push('
User with any of these roles can modify this library (name, synopsis, etc.).
');e.push('');e.push("
");e.push("
");return _.template(e.join(""))}});return{LibraryView:b}}); \ No newline at end of file diff --git a/static/scripts/packed/mvc/library/library-model.js b/static/scripts/packed/mvc/library/library-model.js index 92f54886f53..63cfbdf071f 100644 --- a/static/scripts/packed/mvc/library/library-model.js +++ b/static/scripts/packed/mvc/library/library-model.js @@ -1 +1 @@ -define([],function(){var f=Backbone.Model.extend({urlRoot:"/api/libraries/",isVisible:function(n){var m=true;if((!n)&&(this.get("deleted"))){m=false}return m}});var i=Backbone.Collection.extend({url:"/api/libraries",model:f,sort_key:"name",sort_order:null,initialize:function(m){m=m||{}},getVisible:function(n,o){o=o||[];var m=new i(this.filter(function(p){return p.isVisible(n)}));return m},sortByNameAsc:function(){this.comparator=function(n,m){if(n.get("name").toLowerCase()>m.get("name").toLowerCase()){return 1}if(m.get("name").toLowerCase()>n.get("name").toLowerCase()){return -1}return 0};this.sort();return this},sortByNameDesc:function(){this.comparator=function(n,m){if(n.get("name").toLowerCase()>m.get("name").toLowerCase()){return -1}if(m.get("name").toLowerCase()>n.get("name").toLowerCase()){return 1}return 0};this.sort();return this}});var g=Backbone.Model.extend({urlRoot:"/api/libraries/datasets/"});var l=Backbone.Model.extend({urlRoot:"/api/libraries/datasets/"});var a=Backbone.Model.extend({urlRoot:"/api/folders"});var c=Backbone.Collection.extend({model:g,sortByNameAsc:function(){this.comparator=function(n,m){if(n.get("type")===m.get("type")){if(n.get("name").toLowerCase()>m.get("name").toLowerCase()){return 1}if(m.get("name").toLowerCase()>n.get("name").toLowerCase()){return -1}return 0}else{if(n.get("type")==="folder"){return -1}else{return 1}}};this.sort();return this},sortByNameDesc:function(){this.comparator=function(n,m){if(n.get("type")===m.get("type")){if(n.get("name").toLowerCase()>m.get("name").toLowerCase()){return -1}if(m.get("name").toLowerCase()>n.get("name").toLowerCase()){return 1}return 0}else{if(n.get("type")==="folder"){return -1}else{return 1}}};this.sort();return this}});var e=Backbone.Model.extend({defaults:{folder:new c(),urlRoot:"/api/folders/",id:"unknown"},parse:function(m){this.get("folder").reset(m.folder_contents);return m}});var b=Backbone.Model.extend({urlRoot:"/api/histories/"});var d=Backbone.Collection.extend({urlRoot:"/api/histories/",initialize:function(m){this.id=m.id},url:function(){return this.urlRoot+this.id+"/contents"},model:b});var h=Backbone.Model.extend({urlRoot:"/api/histories/"});var k=Backbone.Collection.extend({url:"/api/histories",model:h});var j=Backbone.Model.extend({urlRoot:"/api/remote_files"});return{Library:f,FolderAsModel:a,Libraries:i,Item:g,Ldda:l,Folder:c,FolderContainer:e,HistoryItem:b,HistoryContents:d,GalaxyHistory:h,GalaxyHistories:k,Jstree:j}}); \ No newline at end of file +define([],function(){var f=Backbone.Model.extend({urlRoot:(window.galaxy_config?galaxy_config.root:"/")+"api/libraries/",isVisible:function(n){var m=true;if((!n)&&(this.get("deleted"))){m=false}return m}});var i=Backbone.Collection.extend({url:(window.galaxy_config?galaxy_config.root:"/")+"api/libraries",model:f,sort_key:"name",sort_order:null,initialize:function(m){m=m||{}},getVisible:function(n,o){o=o||[];var m=new i(this.filter(function(p){return p.isVisible(n)}));return m},sortByNameAsc:function(){this.comparator=function(n,m){if(n.get("name").toLowerCase()>m.get("name").toLowerCase()){return 1}if(m.get("name").toLowerCase()>n.get("name").toLowerCase()){return -1}return 0};this.sort();return this},sortByNameDesc:function(){this.comparator=function(n,m){if(n.get("name").toLowerCase()>m.get("name").toLowerCase()){return -1}if(m.get("name").toLowerCase()>n.get("name").toLowerCase()){return 1}return 0};this.sort();return this}});var g=Backbone.Model.extend({urlRoot:(window.galaxy_config?galaxy_config.root:"/")+"api/libraries/datasets/"});var l=Backbone.Model.extend({urlRoot:(window.galaxy_config?galaxy_config.root:"/")+"api/libraries/datasets/"});var a=Backbone.Model.extend({urlRoot:(window.galaxy_config?galaxy_config.root:"/")+"api/folders"});var c=Backbone.Collection.extend({model:g,sortByNameAsc:function(){this.comparator=function(n,m){if(n.get("type")===m.get("type")){if(n.get("name").toLowerCase()>m.get("name").toLowerCase()){return 1}if(m.get("name").toLowerCase()>n.get("name").toLowerCase()){return -1}return 0}else{if(n.get("type")==="folder"){return -1}else{return 1}}};this.sort();return this},sortByNameDesc:function(){this.comparator=function(n,m){if(n.get("type")===m.get("type")){if(n.get("name").toLowerCase()>m.get("name").toLowerCase()){return -1}if(m.get("name").toLowerCase()>n.get("name").toLowerCase()){return 1}return 0}else{if(n.get("type")==="folder"){return -1}else{return 1}}};this.sort();return this}});var e=Backbone.Model.extend({defaults:{folder:new c(),urlRoot:(window.galaxy_config?galaxy_config.root:"/")+"api/folders/",id:"unknown"},parse:function(m){this.get("folder").reset(m.folder_contents);return m}});var b=Backbone.Model.extend({urlRoot:(window.galaxy_config?galaxy_config.root:"/")+"api/histories/"});var d=Backbone.Collection.extend({urlRoot:(window.galaxy_config?galaxy_config.root:"/")+"api/histories/",initialize:function(m){this.id=m.id},url:function(){return this.urlRoot+this.id+"/contents"},model:b});var h=Backbone.Model.extend({urlRoot:(window.galaxy_config?galaxy_config.root:"/")+"api/histories/"});var k=Backbone.Collection.extend({url:(window.galaxy_config?galaxy_config.root:"/")+"api/histories",model:h});var j=Backbone.Model.extend({urlRoot:(window.galaxy_config?galaxy_config.root:"/")+"api/remote_files"});return{Library:f,FolderAsModel:a,Libraries:i,Item:g,Ldda:l,Folder:c,FolderContainer:e,HistoryItem:b,HistoryContents:d,GalaxyHistory:h,GalaxyHistories:k,Jstree:j}}); \ No newline at end of file