Merge branch 'dev' into custom_builds_tests

This commit is contained in:
Evgeny Anatskiy
2017-09-18 21:02:39 +02:00
55 changed files with 226 additions and 369 deletions
-7
View File
@@ -15,13 +15,6 @@ env:
- TOX_ENV=py27-lint-docstring-include-list
matrix:
include:
- os: osx
env: TOX_ENV=first_startup
language: generic
- os: osx
env: TOX_ENV=py27-unit
language: generic
allow_failures:
- env: TOX_ENV=py27-lint-imports
@@ -30,7 +30,7 @@ var ControlledFetchCollection = Backbone.Collection.extend({
*/
fetch : function( options ){
options = this._buildFetchOptions( options );
// console.log( 'fetch options:', options );
Galaxy.debug( 'fetch options:', options );
return Backbone.Collection.prototype.fetch.call( this, options );
},
@@ -52,15 +52,15 @@ var ControlledFetchCollection = Backbone.Collection.extend({
// (i.e. this.on( 'sync', function( options ){ if( options.limit ){ ... } }))
// however, when we send to xhr/jquery we copy them to data also so that they become API query params
options.data = options.data || self._buildFetchData( options );
// console.log( 'data:', options.data );
Galaxy.debug( 'data:', options.data );
// options.data.filters --> options.data.q, options.data.qv
var filters = this._buildFetchFilters( options );
// console.log( 'filters:', filters );
Galaxy.debug( 'filters:', filters );
if( !_.isEmpty( filters ) ){
_.extend( options.data, this._fetchFiltersToAjaxData( filters ) );
}
// console.log( 'data:', options.data );
Galaxy.debug( 'data:', options.data );
return options;
},
@@ -140,7 +140,6 @@ var ControlledFetchCollection = Backbone.Collection.extend({
// if( _.isUndefined( comparator ) ){ return; }
if( comparator === collection.comparator ){ return; }
var oldOrder = collection.order;
collection.order = order;
collection.comparator = comparator;
@@ -256,7 +255,7 @@ var InfinitelyScrollingCollection = ControlledFetchCollection.extend({
/** fetch the first 'page' of data */
fetchFirst : function( options ){
// console.log( 'ControlledFetchCollection.fetchFirst:', options );
Galaxy.debug( 'ControlledFetchCollection.fetchFirst:', options );
options = options? _.clone( options ) : {};
this.allFetched = false;
this.lastFetched = 0;
@@ -268,20 +267,24 @@ var InfinitelyScrollingCollection = ControlledFetchCollection.extend({
/** fetch the next page of data */
fetchMore : function( options ){
// console.log( 'ControlledFetchCollection.fetchMore:', options );
Galaxy.debug( 'ControlledFetchCollection.fetchMore:', options );
options = _.clone( options || {} );
var collection = this;
// console.log( 'fetchMore, options.reset:', options.reset );
Galaxy.debug( 'fetchMore, options.reset:', options.reset );
if( ( !options.reset && collection.allFetched ) ){
return jQuery.when();
}
// TODO: this fails in the edge case where
// the first fetch offset === limit (limit 4, offset 4, collection.length 4)
options.offset = options.reset? 0 : ( options.offset || collection.lastFetched );
if (options.reset){
options.offset = 0;
} else if (options.offset === undefined){
options.offset = collection.lastFetched;
}
var limit = options.limit = options.limit || collection.limitPerFetch || null;
// console.log( 'fetchMore, limit:', limit, 'offset:', options.offset );
Galaxy.debug( 'fetchMore, limit:', limit, 'offset:', options.offset );
collection.trigger( 'fetching-more' );
return collection.fetch( options )
@@ -292,7 +295,7 @@ var InfinitelyScrollingCollection = ControlledFetchCollection.extend({
.done( function _postFetchMore( fetchedData ){
var numFetched = _.isArray( fetchedData )? fetchedData.length : 0;
collection.lastFetched += numFetched;
// console.log( 'fetchMore, lastFetched:', collection.lastFetched );
Galaxy.debug( 'fetchMore, lastFetched:', collection.lastFetched );
// anything less than a full page means we got all there is to get
if( !limit || numFetched < limit ){
collection.allFetched = true;
@@ -310,7 +313,7 @@ var InfinitelyScrollingCollection = ControlledFetchCollection.extend({
var self = this;
options = _.pick( options, 'silent' );
options.filters = {};
return self.fetch( options ).done( function( fetchData ){
return self.fetch( options ).done( function( ){
self.allFetched = true;
self.trigger( 'all-fetched', self );
});
@@ -1,4 +1,3 @@
define([
"mvc/history/history-contents",
"mvc/history/history-preferences",
@@ -27,9 +27,9 @@ var LibraryDatasetView = Backbone.View.extend({
"click .toolbtn_cancel_modifications" : "render",
"click .toolbtn-download-dataset" : "downloadDataset",
"click .toolbtn-import-dataset" : "importIntoHistory",
"click .btn-copy-link-to-clipboard" : "copyToClipboard",
"click .btn-make-private" : "makeDatasetPrivate",
"click .btn-remove-restrictions" : "removeDatasetRestrictions",
"click .copy-link-to-clipboard" : "copyToClipboard",
"click .make-private" : "makeDatasetPrivate",
"click .remove-restrictions" : "removeDatasetRestrictions",
"click .toolbtn_save_permissions" : "savePermissions",
"click .toolbtn_save_modifications" : "saveModifications"
},
@@ -84,7 +84,7 @@ var LibraryDatasetView = Backbone.View.extend({
if (typeof response.responseJSON !== "undefined"){
mod_toastr.error(response.responseJSON.err_msg + ' Click this to go back.', '', {onclick: function() {Galaxy.libraries.library_router.back();}});
} else {
mod_toastr.error('An error ocurred. Click this to go back.', '', {onclick: function() {Galaxy.libraries.library_router.back();}});
mod_toastr.error('An error occurred. Click this to go back.', '', {onclick: function() {Galaxy.libraries.library_router.back();}});
}
}
});
@@ -116,7 +116,7 @@ var LibraryDatasetView = Backbone.View.extend({
if (typeof response.responseJSON !== "undefined"){
mod_toastr.error(response.responseJSON.err_msg);
} else {
mod_toastr.error('An error ocurred.');
mod_toastr.error('An error occurred.');
}
}
});
@@ -198,7 +198,7 @@ var LibraryDatasetView = Backbone.View.extend({
if (typeof response.responseJSON !== "undefined"){
mod_toastr.error(response.responseJSON.err_msg);
} else {
mod_toastr.error('An error ocurred.');
mod_toastr.error('An error occurred.');
}
}
});
@@ -214,7 +214,7 @@ var LibraryDatasetView = Backbone.View.extend({
that.processImportToHistory(new_history.id);
})
.fail(function( xhr, status, error ) {
mod_toastr.error('An error ocurred.');
mod_toastr.error('An error occurred.');
})
.always(function() {
that.modal.enableButton('Import');
@@ -249,6 +249,8 @@ var LibraryDatasetView = Backbone.View.extend({
},
showPermissions: function(options){
var template = this.templateDatasetPermissions();
var self = this;
this.options = _.extend(this.options, options);
$(".tooltip").remove();
if (this.options.fetched_permissions !== undefined){
@@ -258,21 +260,14 @@ var LibraryDatasetView = Backbone.View.extend({
this.model.set({is_unrestricted:false});
}
}
// Select works different for admins, details in this.prepareSelectBoxes
var is_admin = false;
if (Galaxy.user){
is_admin = Galaxy.user.isAdmin();
}
var template = this.templateDatasetPermissions();
this.$el.html(template({item: this.model, is_admin: is_admin}));
var self = this;
this.$el.html(template({item: this.model, is_admin: Galaxy.config.is_admin_user}));
$.get(Galaxy.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.');
});
.done(function(fetched_permissions){
self.prepareSelectBoxes({fetched_permissions: fetched_permissions, is_admin: Galaxy.config.is_admin_user});
})
.fail(function(){
mod_toastr.error('An error occurred while attempting to fetch dataset permissions.');
});
$("#center [data-toggle]").tooltip();
$("#center").css('overflow','auto');
},
@@ -280,178 +275,82 @@ var LibraryDatasetView = Backbone.View.extend({
_serializeRoles : function(role_list){
var selected_roles = [];
for (var i = 0; i < role_list.length; i++) {
selected_roles.push(role_list[i][1] + ':' + role_list[i][0]);
// Replace the : and , in role's name since these are select2 separators for initialData
selected_roles.push(role_list[i][1] + ':' + role_list[i][0].replace(':', ' ').replace(',', ' &'));
}
return selected_roles;
},
prepareSelectBoxes: function(options){
this.options = _.extend(this.options, options);
var fetched_permissions = this.options.fetched_permissions;
var is_admin = this.options.is_admin
var self = this;
var selected_access_dataset_roles = [];
var selected_modify_item_roles = [];
var selected_manage_dataset_roles = [];
selected_access_dataset_roles = this._serializeRoles(fetched_permissions.access_dataset_roles);
selected_modify_item_roles = this._serializeRoles(fetched_permissions.modify_item_roles);
selected_manage_dataset_roles = this._serializeRoles(fetched_permissions.manage_dataset_roles);
this.accessSelectObject = new mod_select.View(
this._generate_select_options({
selector: 'access_perm',
initialData: this._serializeRoles(this.options.fetched_permissions.access_dataset_roles)
})
);
this.modifySelectObject = new mod_select.View(
this._generate_select_options({
selector: 'modify_perm',
initialData: this._serializeRoles(this.options.fetched_permissions.modify_item_roles)
})
);
this.manageSelectObject = new mod_select.View(
this._generate_select_options({
selector: 'manage_perm',
initialData: this._serializeRoles(this.options.fetched_permissions.manage_dataset_roles)
})
);
},
if (is_admin){ // Admin has a special select that allows AJAX searching
var access_select_options = {
minimumInputLength: 0,
css: 'access_perm',
multiple:true,
placeholder: 'Click to select a role',
container: self.$el.find('#access_perm'),
ajax: {
url: Galaxy.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
return {
q: term, //search term
page_limit: 10, // page size
page: page // page number
};
},
results: function (data, page) {
var more = (page * 10) < data.total; // whether or not there are more results available
// notice we return the value of more so Select2 knows if more results can be loaded
return {results: data.roles, more: more};
}
},
formatResult : function roleFormatResult(role) {
return role.name + ' type: ' + role.type;
},
formatSelection: function roleFormatSelection(role) {
return role.name;
},
initSelection: function(element, callback) {
// the input tag has a value attribute preloaded that points to a preselected role's id
// this function resolves that id attribute to an object that select2 can render
// using its formatResult renderer - that way the role name is shown preselected
var data = [];
$(element.val().split(",")).each(function() {
var item = this.split(':');
data.push({
id: item[0],
name: item[1]
});
_generate_select_options: function(options){
var select_options = {
minimumInputLength: 0,
multiple: true,
placeholder: 'Click to select a role',
formatResult : function roleFormatResult(role) {
return role.name + ' type: ' + role.type;
},
formatSelection: function roleFormatSelection(role) {
return role.name;
},
initSelection: function(element, callback) {
// the input tag has a value attribute preloaded that points to a preselected role's id
// this function resolves that id attribute to an object that select2 can render
// using its formatResult renderer - that way the role name is shown preselected
var data = [];
$(element.val().split(",")).each(function() {
var item = this.split(':');
data.push({
id: item[0],
name: item[1]
});
callback(data);
},
initialData: selected_access_dataset_roles.join(','),
dropdownCssClass: "bigdrop" // apply css that makes the dropdown taller
};
var modify_select_options = {
minimumInputLength: 0,
css: 'modify_perm',
multiple:true,
placeholder: 'Click to select a role',
container: self.$el.find('#modify_perm'),
ajax: {
url: Galaxy.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
return {
q: term, //search term
page_limit: 10, // page size
page: page // page number
};
},
results: function (data, page) {
var more = (page * 10) < data.total; // whether or not there are more results available
// notice we return the value of more so Select2 knows if more results can be loaded
return {results: data.roles, more: more};
}
},
formatResult : function roleFormatResult(role) {
return role.name + ' type: ' + role.type;
},
formatSelection: function roleFormatSelection(role) {
return role.name;
},
initSelection: function(element, callback) {
// the input tag has a value attribute preloaded that points to a preselected role's id
// this function resolves that id attribute to an object that select2 can render
// using its formatResult renderer - that way the role name is shown preselected
var data = [];
$(element.val().split(",")).each(function() {
var item = this.split(':');
data.push({
id: item[0],
name: item[1]
});
});
callback(data);
},
initialData: selected_modify_item_roles.join(','),
dropdownCssClass: "bigdrop" // apply css that makes the dropdown taller
};
var manage_select_options = {
minimumInputLength: 0,
css: 'manage_perm',
multiple:true,
placeholder: 'Click to select a role',
container: self.$el.find('#manage_perm'),
ajax: {
url: Galaxy.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
return {
q: term, //search term
page_limit: 10, // page size
page: page // page number
};
},
results: function (data, page) {
var more = (page * 10) < data.total; // whether or not there are more results available
// notice we return the value of more so Select2 knows if more results can be loaded
return {results: data.roles, more: more};
}
},
formatResult : function roleFormatResult(role) {
return role.name + ' type: ' + role.type;
},
formatSelection: function roleFormatSelection(role) {
return role.name;
},
initSelection: function(element, callback) {
// the input tag has a value attribute preloaded that points to a preselected role's id
// this function resolves that id attribute to an object that select2 can render
// using its formatResult renderer - that way the role name is shown preselected
var data = [];
$(element.val().split(",")).each(function() {
var item = this.split(':');
data.push({
id: item[0],
name: item[1]
});
});
callback(data);
},
initialData: selected_manage_dataset_roles.join(','),
dropdownCssClass: "bigdrop" // apply css that makes the dropdown taller
};
self.accessSelectObject = new mod_select.View(access_select_options);
self.modifySelectObject = new mod_select.View(modify_select_options);
self.manageSelectObject = new mod_select.View(manage_select_options);
} else { // Non-admins have select with pre-loaded options
var template = self.templateAccessSelect();
$.get( Galaxy.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() {
mod_toastr.error('An error occurred while attempting to fetch dataset permissions.');
});
});
callback(data);
},
dropdownCssClass: "bigdrop" // apply css that makes the dropdown taller
}
select_options.container = this.$el.find('#' + options.selector);
select_options.css = options.selector;
select_options.initialData = options.initialData.join(',');
select_options.ajax = {
url: Galaxy.root + "api/libraries/datasets/" + this.id + "/permissions?scope=available",
dataType: 'json',
quietMillis: 100,
data: function (term, page) { // page is the one-based page number tracked by Select2
return {
q: term, //search term
page_limit: 10, // page size, should be same as used in 'more' variable below
page: page // page number
};
},
results: function (data, page) {
var more = (page * 10) < data.total; // whether or not there are more results available
// notice we return the value of more so Select2 knows if more results can be loaded
return {results: data.roles, more: more};
}
}
return select_options;
},
/**
@@ -683,12 +582,8 @@ var LibraryDatasetView = Backbone.View.extend({
'</ol>',
'<% if (item.get("is_unrestricted")) { %>',
'<div class="alert alert-info">',
'This dataset is unrestricted so everybody can access it. Just share the URL of this page. ',
'<button data-toggle="tooltip" data-placement="top" title="Copy to clipboard" class="btn btn-default btn-copy-link-to-clipboard primary-button" type="button">',
'<span class="fa fa-clipboard"></span>',
'&nbsp;To Clipboard',
'</button> ',
'<div>',
'This dataset is unrestricted so everybody with the link can access it. Just share <span class="copy-link-to-clipboard"><a>this page</a></span>.',
'</div>',
'<% } %>',
@@ -1035,12 +930,6 @@ var LibraryDatasetView = Backbone.View.extend({
// CONTAINER START
'<div class="library_style_container">',
'<div id="library_toolbar">',
'<a href="#folders/<%- item.get("folder_id") %>">',
'<button data-toggle="tooltip" data-placement="top" title="Go back to containing folder" class="btn btn-default primary-button toolbar-item" type="button">',
'<span class="fa fa-folder-open-o"></span>',
'&nbsp;Containing Folder',
'</button>',
'</a>',
'<a href="#folders/<%- item.get("folder_id") %>/datasets/<%- item.id %>">',
'<button data-toggle="tooltip" data-placement="top" title="Go back to dataset" class="btn btn-default primary-button toolbar-item" type="button">',
'<span class="fa fa-file-o"></span>',
@@ -1078,24 +967,9 @@ var LibraryDatasetView = Backbone.View.extend({
'<h2>Dataset-related permissions</h2>',
'<div class="alert alert-warning">Changes made below will affect <strong>every</strong> library item that was created from this dataset and also every history this dataset is part of.</div>',
'<% if (!item.get("is_unrestricted")) { %>',
'<p>You can remove all access restrictions on this dataset. ',
'<button data-toggle="tooltip" data-placement="top" title="Everybody will be able to access the dataset." class="btn btn-default btn-remove-restrictions primary-button" type="button">',
'<span class="fa fa-globe"></span>',
'&nbsp;Remove restrictions',
'</button>',
'</p>',
'<p>You can <span class="remove-restrictions"><a>remove all access restrictions</a></span> on this dataset.</p>',
'<% } else { %>',
'This dataset is unrestricted so everybody can access it. Just share the URL of this page.',
'<button data-toggle="tooltip" data-placement="top" title="Copy to clipboard" class="btn btn-default btn-copy-link-to-clipboard primary-button" type="button">',
'<span class="fa fa-clipboard"></span>',
'&nbsp;To Clipboard',
'</button>',
'<p>You can make this dataset private to you. ',
'<button data-toggle="tooltip" data-placement="top" title="Only you will be able to access the dataset." class="btn btn-default btn-make-private primary-button" type="button">',
'<span class="fa fa-key"></span>',
'&nbsp;Make Private',
'</button>',
'</p>',
'<p>You can <span class="make-private"><a>make this dataset private</a></span> to you.</p>',
'<% } %>',
'<h4>Roles that can access the dataset</h4>',
'<div id="access_perm" class="access_perm roles-selection"></div>',
@@ -1107,7 +981,7 @@ var LibraryDatasetView = Backbone.View.extend({
'<h4>Roles that can manage permissions on the dataset</h4>',
'<div id="manage_perm" class="manage_perm roles-selection"></div>',
'<div class="alert alert-info roles-selection">',
'User with <strong>any</strong> 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.',
'User with <strong>any</strong> of these roles can manage permissions of this dataset. If you remove yourself you will lose the ability manage this dataset unless you are an admin.',
'</div>',
'<button data-toggle="tooltip" data-placement="top" title="Save modifications made on this page" class="btn btn-default toolbtn_save_permissions primary-button" type="button">',
'<span class="fa fa-floppy-o"></span>',
@@ -1137,19 +1011,7 @@ var LibraryDatasetView = Backbone.View.extend({
'</div>',
'</div>'
].join(''));
},
templateAccessSelect: function(){
return _.template([
'<select id="access_select" multiple>',
'<% _.each(options, function(option) { %>',
'<option value="<%- option.name %>"><%- option.name %></option>',
'<% }); %>',
'</select>'
].join(''));
}
});
return {
@@ -43,7 +43,7 @@ var FolderView = Backbone.View.extend({
if (typeof response.responseJSON !== "undefined"){
mod_toastr.error(response.responseJSON.err_msg + ' Click this to go back.', '', {onclick: function() {Galaxy.libraries.library_router.back();}});
} else {
mod_toastr.error('An error ocurred. Click this to go back.', '', {onclick: function() {Galaxy.libraries.library_router.back();}});
mod_toastr.error('An error occurred. Click this to go back.', '', {onclick: function() {Galaxy.libraries.library_router.back();}});
}
}
});
@@ -82,7 +82,7 @@ var FolderListView = Backbone.View.extend({
if ( typeof response.responseJSON !== "undefined" ){
mod_toastr.error( response.responseJSON.err_msg + ' Click this to go back.', '', { onclick: function() { Galaxy.libraries.library_router.back(); } } );
} else {
mod_toastr.error( 'An error ocurred. Click this to go back.', '', { onclick: function() { Galaxy.libraries.library_router.back(); } } );
mod_toastr.error( 'An error occurred. Click this to go back.', '', { onclick: function() { Galaxy.libraries.library_router.back(); } } );
}
}
});
@@ -182,7 +182,7 @@ var FolderToolbarView = Backbone.View.extend({
if (typeof response.responseJSON !== "undefined"){
mod_toastr.error(response.responseJSON.err_msg);
} else {
mod_toastr.error('An error ocurred.');
mod_toastr.error('An error occurred.');
}
}
});
@@ -231,7 +231,7 @@ var FolderToolbarView = Backbone.View.extend({
if (typeof response.responseJSON !== "undefined"){
mod_toastr.error(response.responseJSON.err_msg);
} else {
mod_toastr.error('An error ocurred.');
mod_toastr.error('An error occurred.');
}
});
}
@@ -251,7 +251,7 @@ var FolderToolbarView = Backbone.View.extend({
that.processImportToHistory(new_history.id, new_history.name);
})
.fail(function( xhr, status, error ) {
mod_toastr.error('An error ocurred.');
mod_toastr.error('An error occurred.');
})
.always(function() {
that.modal.enableButton('Import');
@@ -390,7 +390,7 @@ var FolderToolbarView = Backbone.View.extend({
if (typeof response.responseJSON !== "undefined"){
mod_toastr.error(response.responseJSON.err_msg);
} else {
mod_toastr.error('An error ocurred.');
mod_toastr.error('An error occurred.');
}
});
},
@@ -587,7 +587,7 @@ var FolderToolbarView = Backbone.View.extend({
mod_toastr.error(response.responseJSON.err_msg);
}
} else {
mod_toastr.error('An error ocurred.');
mod_toastr.error('An error occurred.');
}
}
})
@@ -740,7 +740,7 @@ var FolderToolbarView = Backbone.View.extend({
if (typeof response.responseJSON !== "undefined"){
mod_toastr.error(response.responseJSON.err_msg);
} else {
mod_toastr.error('An error ocurred.');
mod_toastr.error('An error occurred.');
}
}
});
@@ -1063,7 +1063,7 @@ var FolderToolbarView = Backbone.View.extend({
if (typeof response.responseJSON !== "undefined"){
mod_toastr.error(response.responseJSON.err_msg);
} else {
mod_toastr.error('An error ocurred.');
mod_toastr.error('An error occurred.');
}
}
})
@@ -43,7 +43,7 @@ var LibraryView = Backbone.View.extend({
if (typeof response.responseJSON !== "undefined"){
mod_toastr.error(response.responseJSON.err_msg + ' Click this to go back.', '', {onclick: function() {Galaxy.libraries.library_router.back();}});
} else {
mod_toastr.error('An error ocurred. Click this to go back.', '', {onclick: function() {Galaxy.libraries.library_router.back();}});
mod_toastr.error('An error occurred. Click this to go back.', '', {onclick: function() {Galaxy.libraries.library_router.back();}});
}
}
});
@@ -43,7 +43,7 @@ var LibraryListView = Backbone.View.extend({
if ( typeof response.responseJSON !== "undefined" ){
mod_toastr.error( response.responseJSON.err_msg );
} else {
mod_toastr.error( 'An error ocurred.' );
mod_toastr.error( 'An error occurred.' );
}
}
});
@@ -138,7 +138,7 @@ var LibraryListView = Backbone.View.extend({
if ( typeof response.responseJSON !== "undefined" ){
mod_toastr.error( response.responseJSON.err_msg );
} else {
mod_toastr.error( 'An error ocurred.' );
mod_toastr.error( 'An error occurred.' );
}
}
});
@@ -55,8 +55,8 @@ define( [ 'utils/utils', 'mvc/ui/ui-misc', 'mvc/form/form-view', 'mvc/ui/ui-tabl
this.table.delAll();
this.collection.sort();
this.collection.each( function( model ) {
self.table.add( model.id );
self.table.add( model.get( 'name' ) );
self.table.add( model.id );
self.table.add( model.get( 'count' ) !== undefined ? model.get( 'count' ) : 'Processing...' );
self.table.add( ( new Ui.ButtonIcon({
icon : 'fa-trash-o',
@@ -219,4 +219,4 @@ define( [ 'utils/utils', 'mvc/ui/ui-misc', 'mvc/form/form-view', 'mvc/ui/ui-tabl
return {
View: View
}
});
});
@@ -40,7 +40,7 @@ var GroupDetailView = Backbone.View.extend({
if ( typeof response.responseJSON !== "undefined" ){
mod_toastr.error( response.responseJSON.err_msg );
} else {
mod_toastr.error( 'An error ocurred.' );
mod_toastr.error( 'An error occurred.' );
}
}
});
@@ -32,7 +32,7 @@ var GroupListView = Backbone.View.extend({
if ( typeof response.responseJSON !== "undefined" ){
mod_toastr.error( response.responseJSON.err_msg );
} else {
mod_toastr.error( 'An error ocurred.' );
mod_toastr.error( 'An error occurred.' );
}
}
});
+1 -1
View File
@@ -1,5 +1,6 @@
#!/bin/sh
cd `dirname $0`
: ${GALAXY_VIRTUAL_ENV:=.venv}
if [ -d "$GALAXY_VIRTUAL_ENV" ];
@@ -8,5 +9,4 @@ then
. "$GALAXY_VIRTUAL_ENV/bin/activate"
fi
cd `dirname $0`
python ./scripts/create_db.py $@
+8
View File
@@ -1,6 +1,14 @@
#!/bin/sh
cd `dirname $0`
: ${GALAXY_VIRTUAL_ENV:=.venv}
if [ -d "$GALAXY_VIRTUAL_ENV" ];
then
printf "Activating virtualenv at $GALAXY_VIRTUAL_ENV\n"
. "$GALAXY_VIRTUAL_ENV/bin/activate"
fi
for file in $1/split_info*.json
do
# echo processing $file
+4 -4
View File
@@ -1450,7 +1450,7 @@ class JobWrapper(object, HasResourceParameters):
def cleanup(self, delete_files=True):
# At least one of these tool cleanup actions (job import), is needed
# for thetool to work properly, that is why one might want to run
# for the tool to work properly, that is why one might want to run
# cleanup but not delete files.
try:
if delete_files:
@@ -1676,7 +1676,7 @@ class JobWrapper(object, HasResourceParameters):
config_root=config_root,
config_file=config_file,
datatypes_config=datatypes_config,
job_metadata=os.path.join(self.tool_working_directory, TOOL_PROVIDED_JOB_METADATA_FILE),
job_metadata=os.path.join(self.tool_working_directory, self.tool.provided_metadata_file),
max_metadata_value_size=self.app.config.max_metadata_value_size,
**kwds)
if resolve_metadata_dependencies:
@@ -1704,14 +1704,14 @@ class JobWrapper(object, HasResourceParameters):
else:
return 'anonymous@unknown'
def __update_output(self, job, dataset, clean_only=False):
def __update_output(self, job, hda, clean_only=False):
"""Handle writing outputs to the object store.
This should be called regardless of whether the job was failed or not so
that writing of partial results happens and so that the object store is
cleaned up if the dataset has been purged.
"""
dataset = dataset.dataset
dataset = hda.dataset
if dataset not in job.output_library_datasets:
purged = dataset.purged
if not purged and not clean_only:
+2 -2
View File
@@ -1831,7 +1831,7 @@ class Dataset(StorableObject):
return self._calculate_size()
def set_size(self):
"""Returns the size of the data on disk"""
"""Sets the size of the data on disk"""
if not self.file_size:
self.file_size = self._calculate_size()
@@ -2035,7 +2035,7 @@ class DatasetInstance(object):
return self.dataset.get_size()
def set_size(self):
"""Returns the size of the data on disk"""
"""Sets and gets the size of the data on disk"""
return self.dataset.set_size()
def get_total_size(self):
+2 -2
View File
@@ -671,7 +671,7 @@ class HierarchicalObjectStore(NestedObjectStore):
ObjectStore that defers to a list of backends.
When getting objects the first store where the object exists is used.
When creating obects only the first store is used.
When creating objects only the first store is used.
"""
def __init__(self, config, config_xml=None, fsmon=False):
@@ -700,7 +700,7 @@ def build_object_store_from_config(config, fsmon=False, config_xml=None):
Will use the `object_store_config_file` attribute of the `config` object to
configure a new object store from the specified XML file.
Or you can specify the obect store type in the `object_store` attribute of
Or you can specify the object store type in the `object_store` attribute of
the `config` object. Currently 'disk', 's3', 'swift', 'distributed',
'hierarchical', 'irods', and 'pulsar' are supported values.
+18 -19
View File
@@ -238,20 +238,17 @@ class GalaxyRBACAgent(RBACAgent):
sharing roles and any public role (not private and not sharing).
"""
roles = []
if query is not None:
query = query.replace('_', '/_').replace('%', '/%').replace('/', '//')
if query not in [None, '']:
query = query.strip().replace('_', '/_').replace('%', '/%').replace('/', '//')
search_query = query + '%'
log.debug('search_query: ' + str(search_query))
else:
search_query = None
# Limit the query only to get the page needed
if page is not None and page_limit is not None:
paginated = True
limit = page * page_limit
else:
paginated = False
limit = None
total_count = None
if isinstance(item, self.model.Library) and self.library_is_public(item):
is_public_item = True
elif isinstance(item, self.model.Dataset) and self.dataset_is_public(item):
@@ -260,27 +257,30 @@ class GalaxyRBACAgent(RBACAgent):
is_public_item = True
else:
is_public_item = False
# For public items and for library access admins can choose from all roles
if trans.user_is_admin() and (is_public_item or is_library_access):
# Add all non-deleted roles that fit the query
db_query = trans.sa_session.query(trans.app.model.Role).filter(self.model.Role.table.c.deleted == false())
if query is not None:
# Admins can always choose from all non-deleted roles
if trans.user_is_admin() or trans.app.config.expose_user_email:
if trans.user_is_admin():
db_query = trans.sa_session.query(trans.app.model.Role).filter(self.model.Role.table.c.deleted == false())
else:
# User is not an admin but the configuration exposes all private roles to all users.
db_query = trans.sa_session.query(trans.app.model.Role) \
.filter(and_(self.model.Role.table.c.deleted == false(),
self.model.Role.table.c.type == self.model.Role.types.PRIVATE))
if search_query:
db_query = db_query.filter(self.model.Role.table.c.name.like(search_query, escape='/'))
total_count = db_query.count()
if paginated:
if limit is not None:
# Takes the least number of results from beginning that includes the requested page
roles = db_query.order_by(self.model.Role.table.c.name).limit(limit).all()
page_start = (page * page_limit) - page_limit
page_end = page_start + page_limit
if total_count < page_start:
if total_count < page_start + 1:
# Return empty list if there are less results than the requested position
roles = []
else:
roles = roles[page_start:page_end]
else:
roles = db_query.order_by(self.model.Role.table.c.name)
# Non-admin and public item
elif is_public_item:
# Add the current user's private role
@@ -291,8 +291,7 @@ class GalaxyRBACAgent(RBACAgent):
# Add all remaining non-private, non-sharing roles
for role in self._get_npns_roles(trans):
roles.append(role)
# User is not admin and item is not public
# User will see all the roles derived from the access roles on the item
# User will see all the roles derived from the access roles on the item
else:
# If item has roles associated with the access permission, we need to start with them.
access_roles = item.get_access_roles(trans)
+1 -1
View File
@@ -558,7 +558,7 @@ class DefaultToolAction(object):
reductions[name] = []
reductions[name].append(dataset_collection)
# TODO: verify can have multiple with same name, don't want to loose tracability
# TODO: verify can have multiple with same name, don't want to lose traceability
job.add_input_dataset_collection(name, dataset_collection)
# If this an input collection is a reduction, we expanded it for dataset security, type
+1 -1
View File
@@ -88,7 +88,7 @@ class SetMetadataToolAction(ToolAction):
job_metadata=None,
include_command=False,
max_metadata_value_size=app.config.max_metadata_value_size,
kwds={'overwrite' : overwrite})
kwds={'overwrite': overwrite})
incoming['__SET_EXTERNAL_METADATA_COMMAND_LINE__'] = cmd_line
for name, value in tool.params_to_strings(incoming, app).items():
job.add_parameter(name, value)
+3
View File
@@ -22,6 +22,7 @@ TOOL_REGEX = re.compile(r"<tool\s")
YAML_EXTENSIONS = [".yaml", ".yml", ".json"]
CWL_EXTENSIONS = YAML_EXTENSIONS + [".cwl"]
EXCLUDE_WALK_DIRS = ['.hg', '.git', '.venv']
def load_exception_handler(path, exc_info):
@@ -264,6 +265,8 @@ def _find_files(directory, pattern='*'):
matches = []
for root, dirnames, filenames in os.walk(directory):
# exclude some directories (like .hg) from traversing
dirnames[:] = [dir for dir in dirnames if dir not in EXCLUDE_WALK_DIRS]
for filename in filenames:
full_path = os.path.join(root, filename)
if fnmatch.filter([full_path], pattern):
+1 -1
View File
@@ -322,7 +322,7 @@ class YamlInputSource(InputSource):
else:
value = str(value)
# str here to loose type information like XML, needed?
# str here to lose type information like XML, needed?
if not isinstance(block, list):
block = [block]
case_page_source = YamlPageSource(block)
+1 -1
View File
@@ -442,7 +442,7 @@ def iter_blocks_split_by_src(block, src):
new_block.text_size = block.text_size
for c in block.components:
if c == src_c or c.src != src:
new_block.add_component(deepcopy(c)) # components have reference to alignment, dont want to loose reference to original alignment block in original components
new_block.add_component(deepcopy(c)) # components have reference to alignment, don't want to lose reference to original alignment block in original components
yield new_block
@@ -105,34 +105,26 @@ class LibraryDatasetsController(BaseAPIController, UsesVisualizationMixin):
current_user_roles = trans.get_current_user_roles()
library_dataset = self.ld_manager.get(trans, managers_base.decode_id(self.app, encoded_dataset_id))
dataset = library_dataset.library_dataset_dataset_association.dataset
# User has to have manage permissions permission in order to see the roles.
can_manage = trans.app.security_agent.can_manage_dataset(current_user_roles, dataset) or trans.user_is_admin()
if not can_manage:
raise exceptions.InsufficientPermissionsException('You do not have proper permission to access permissions.')
scope = kwd.get('scope', None)
if scope == 'current' or scope is None:
if scope in ['current', None]:
return self._get_current_roles(trans, library_dataset)
# Return roles that are available to select.
elif scope == 'available':
elif scope in ['available']:
page = kwd.get('page', None)
if page is not None:
page = int(page)
else:
page = 1
page_limit = kwd.get('page_limit', None)
if page_limit is not None:
page_limit = int(page_limit)
else:
page_limit = 10
query = kwd.get('q', None)
roles, total_roles = trans.app.security_agent.get_valid_roles(trans, dataset, query, page, page_limit)
return_roles = []
for role in roles:
role_id = trans.security.encode_id(role.id)
@@ -973,8 +973,8 @@ class AdminGalaxy(controller.JSAppLauncher, AdminActions, UsesQuotaMixin, QuotaP
},
build_select_input('in_groups', 'Groups', all_groups, []),
build_select_input('in_users', 'Users', all_users, []), {
'name' : 'create_group_for_role',
'label' : 'Create a new role of the same name for this group:',
'name' : 'auto_create',
'label' : 'Create a new group of the same name for this role:',
'type' : 'boolean'
}]}
else:
+6 -8
View File
@@ -54,14 +54,12 @@ class WebhooksRegistry(object):
log.warning('directory not found: %s', config_dir)
continue
config_file = os.listdir(config_dir)[0]
config_file = config_file \
if config_file.endswith('.yml') \
or config_file.endswith('.yaml') \
else ''
if config_file:
self.load_webhook_from_config(config_dir, config_file)
config_dir_contents = os.listdir(config_dir)
# We are assuming that all yml/yaml files in a webhooks'
# config directory are webhook config files.
for config_file in config_dir_contents:
if config_file.endswith('.yml') or config_file.endswith('.yaml'):
self.load_webhook_from_config(config_dir, config_file)
def load_webhook_from_config(self, config_dir, config_file):
try:
+1 -1
View File
@@ -5,6 +5,7 @@
# sh manage_db.sh downgrade --version=3 <tool_shed if using that webapp - galaxy is the default>
#######
cd `dirname $0`
: ${GALAXY_VIRTUAL_ENV:=.venv}
if [ -d "$GALAXY_VIRTUAL_ENV" ];
@@ -13,5 +14,4 @@ then
. "$GALAXY_VIRTUAL_ENV/bin/activate"
fi
cd `dirname $0`
python ./scripts/manage_db.py $@
+1 -1
View File
@@ -1,5 +1,6 @@
#!/bin/sh
cd `dirname $0`
: ${GALAXY_VIRTUAL_ENV:=.venv}
if [ -d "$GALAXY_VIRTUAL_ENV" ];
@@ -8,5 +9,4 @@ then
. "$GALAXY_VIRTUAL_ENV/bin/activate"
fi
cd `dirname $0`
python ./scripts/manage_tools.py $@
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
{"version":3,"file":"library-folder-view.js","sources":["../../../src/mvc/library/library-folder-view.js"],"names":["define","mod_toastr","mod_library_model","mod_select","FolderView","Backbone","View","extend","el","model","options","events","click .toolbtn_save_permissions","initialize","this","_","id","fetchFolder","FolderAsModel","that","fetch","success","show_permissions","showPermissions","error","response","responseJSON","err_msg","onclick","Galaxy","libraries","library_router","back","$","remove","is_admin","user","isAdmin","template","templateFolderPermissions","$el","html","folder","self","get","root","done","fetched_permissions","prepareSelectBoxes","fail","tooltip","css","_serializeRoles","role_list","selected_roles","i","length","push","selected_add_item_roles","add_library_item_role_list","selected_manage_folder_roles","manage_folder_role_list","selected_modify_folder_roles","modify_folder_role_list","addSelectObject","_createSelectOptions","manageSelectObject","modifySelectObject","init_data","select_options","minimumInputLength","multiple","placeholder","container","find","ajax","url","dataType","quietMillis","data","term","page","q","page_limit","results","more","total","roles","formatResult","role","name","type","formatSelection","initSelection","element","callback","val","split","each","item","initialData","join","dropdownCssClass","_extractIds","roles_list","ids_list","savePermissions","add_ids","select2","manage_ids","modify_ids","post","add_ids[]","manage_ids[]","modify_ids[]"],"mappings":"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"}
{"version":3,"file":"library-folder-view.js","sources":["../../../src/mvc/library/library-folder-view.js"],"names":["define","mod_toastr","mod_library_model","mod_select","FolderView","Backbone","View","extend","el","model","options","events","click .toolbtn_save_permissions","initialize","this","_","id","fetchFolder","FolderAsModel","that","fetch","success","show_permissions","showPermissions","error","response","responseJSON","err_msg","onclick","Galaxy","libraries","library_router","back","$","remove","is_admin","user","isAdmin","template","templateFolderPermissions","$el","html","folder","self","get","root","done","fetched_permissions","prepareSelectBoxes","fail","tooltip","css","_serializeRoles","role_list","selected_roles","i","length","push","selected_add_item_roles","add_library_item_role_list","selected_manage_folder_roles","manage_folder_role_list","selected_modify_folder_roles","modify_folder_role_list","addSelectObject","_createSelectOptions","manageSelectObject","modifySelectObject","init_data","select_options","minimumInputLength","multiple","placeholder","container","find","ajax","url","dataType","quietMillis","data","term","page","q","page_limit","results","more","total","roles","formatResult","role","name","type","formatSelection","initSelection","element","callback","val","split","each","item","initialData","join","dropdownCssClass","_extractIds","roles_list","ids_list","savePermissions","add_ids","select2","manage_ids","modify_ids","post","add_ids[]","manage_ids[]","modify_ids[]"],"mappings":"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"}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
{"version":3,"file":"library-librarylist-view.js","sources":["../../../src/mvc/library/library-librarylist-view.js"],"names":["define","mod_toastr","mod_library_model","mod_library_libraryrow_view","_","LibraryListView","Backbone","View","extend","el","events","click .sort-libraries-link","defaults","page_count","show_page","all_fetched","initialize","options","this","that","modal","collection","Libraries","url","urlRoot","fetch","success","render","error","model","response","responseJSON","err_msg","setElement","template","templateLibraryList","libraries_to_render","models","is_public","get","$","hide","sortLibraries","Galaxy","libraries","preferences","where","deleted","filter","is_deleted","total_libraries_count","length","page_start","Math","ceil","slice","libraries_shown","$el","html","order","search_term","libraryToolbarView","renderPaginator","renderRows","tooltip","css","fetchDeleted","remove","i","library","renderOne","rowView","LibraryRowView","find","append","sort_clicked","set","sort_order","sortByNameAsc","sortByNameDesc","searchLibraries","trimmed_term","trim","results","search","searching","join"],"mappings":"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"}
{"version":3,"file":"library-librarylist-view.js","sources":["../../../src/mvc/library/library-librarylist-view.js"],"names":["define","mod_toastr","mod_library_model","mod_library_libraryrow_view","_","LibraryListView","Backbone","View","extend","el","events","click .sort-libraries-link","defaults","page_count","show_page","all_fetched","initialize","options","this","that","modal","collection","Libraries","url","urlRoot","fetch","success","render","error","model","response","responseJSON","err_msg","setElement","template","templateLibraryList","libraries_to_render","models","is_public","get","$","hide","sortLibraries","Galaxy","libraries","preferences","where","deleted","filter","is_deleted","total_libraries_count","length","page_start","Math","ceil","slice","libraries_shown","$el","html","order","search_term","libraryToolbarView","renderPaginator","renderRows","tooltip","css","fetchDeleted","remove","i","library","renderOne","rowView","LibraryRowView","find","append","sort_clicked","set","sort_order","sortByNameAsc","sortByNameDesc","searchLibraries","trimmed_term","trim","results","search","searching","join"],"mappings":"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"}
@@ -1 +1 @@
{"version":3,"file":"user-custom-builds.js","sources":["../../../src/mvc/user/user-custom-builds.js"],"names":["define","Utils","Ui","Form","Table","Collection","Backbone","extend","comparator","a","b","get","View","initialize","self","this","history_id","Galaxy","currHistoryPanel","model","id","Model","url","root","collection","user","message","Message","installed_builds","Select","optional","onchange","value","empty_text","error_text","table","cls","selectable","addHeader","appendHeader","setElement","$","append","text","$el","$installed","addClass","$form","$help","listenTo","_renderTable","_renderForm","fetch","render","delAll","sort","each","add","undefined","ButtonIcon","icon","tooltip","onclick","destroy","initial_type","form","inputs","type","name","label","help","test_param","data","cases","area","buttons","save","Button","title","create","wait","success","response","update","status","error","err","responseJSON","err_msg","input_id","match","input_field","field_list","_renderHelp","empty","length","show","hide","len_type","html","_templateFasta","_templateLen"],"mappings":"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"}
{"version":3,"file":"user-custom-builds.js","sources":["../../../src/mvc/user/user-custom-builds.js"],"names":["define","Utils","Ui","Form","Table","Collection","Backbone","extend","comparator","a","b","get","View","initialize","self","this","history_id","Galaxy","currHistoryPanel","model","id","Model","url","root","collection","user","message","Message","installed_builds","Select","optional","onchange","value","empty_text","error_text","table","cls","selectable","addHeader","appendHeader","setElement","$","append","text","$el","$installed","addClass","$form","$help","listenTo","_renderTable","_renderForm","fetch","render","delAll","sort","each","add","undefined","ButtonIcon","icon","tooltip","onclick","destroy","initial_type","form","inputs","type","name","label","help","test_param","data","cases","area","buttons","save","Button","title","create","wait","success","response","update","status","error","err","responseJSON","err_msg","input_id","match","input_field","field_list","_renderHelp","empty","length","show","hide","len_type","html","_templateFasta","_templateLen"],"mappings":"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"}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1 +1 @@
{"version":3,"sources":["webpack:///login.bundled.js","webpack:///./galaxy/scripts/apps/login.js"],"names":["webpackJsonp","module","exports","__webpack_require__","Backbone","_","jQuery","$","GalaxyApp","_l","Page","window","app","options","bootstrapped","Galaxy","debug","redirect","encodeURI","show_welcome_with_login","params","param","use_panels","location","href","root","LoginPage","View","extend","initialize","page","this","model","Model","title","setElement","_template","render","prop","welcome_url","login_url","Right","call"],"mappings":"AAAAA,cAAc,IAER,SAASC,EAAQC,EAASC,ICFhC,SAAAC,EAAAC,GAAA,GAAIC,GAASH,EAAS,GAClBI,EAAID,EACJE,EAAYL,EAAS,IAAWK,UAChCC,EAAKN,EAAS,GACdO,EAAOP,EAAS,GAEpBQ,QAAOC,IAAM,SAAcC,EAASC,GAChCH,OAAOI,OAAS,GAAIP,GAAWK,EAASC,GACxCC,OAAOC,MAAO,YACd,IAAIC,GAAWC,UAAWL,EAAQI,SAIlC,KAAKJ,EAAQM,wBAAyB,CAClC,GAAIC,GAASd,EAAOe,OAAQC,WAAa,OAAQL,SAAWA,GAE5D,aADAN,OAAOY,SAASC,KAAOT,OAAOU,KAAO,cAAgBL,GAIzD,GAAIM,GAAYtB,EAASuB,KAAKC,QAC1BC,WAAY,SAAUC,GAClBC,KAAKD,KAAOA,EACZC,KAAKC,MAAQ,GAAI5B,GAAS6B,OAAQC,MAAQzB,EAAI,oBAC9CsB,KAAKI,WAAYJ,KAAKK,cAE1BC,OAAQ,WACJN,KAAKD,KAAKvB,EAAG,gBAAiB+B,KAAM,MAAOzB,EAAQ0B,cAEvDH,UAAY,WACR,GAAII,GAAY3B,EAAQY,KAAO,cAAgBlB,EAAEc,OAASJ,SAAWA,GACrE,OAAO,gBAAkBuB,EAAY,2DAI7CjC,GAAE,WACEQ,OAAOe,KAAO,GAAIpB,GAAKiB,KAAMtB,EAAEuB,OAAQf,GACnC4B,MAAQf,UDQUgB,KAAKxC,EAASC,EAAoB,GAAIA,EAAoB","file":"login.bundled.js","sourcesContent":["webpackJsonp([5],[\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Backbone, _) {var jQuery = __webpack_require__(1),\n\t $ = jQuery,\n\t GalaxyApp = __webpack_require__(52).GalaxyApp,\n\t _l = __webpack_require__(6),\n\t Page = __webpack_require__(53);\n\t\n\twindow.app = function app(options, bootstrapped) {\n\t window.Galaxy = new GalaxyApp(options, bootstrapped);\n\t Galaxy.debug('login app');\n\t var redirect = encodeURI(options.redirect);\n\t\n\t // TODO: remove iframe for user login (at least) and render login page from here\n\t // then remove this redirect\n\t if (!options.show_welcome_with_login) {\n\t var params = jQuery.param({ use_panels: 'True', redirect: redirect });\n\t window.location.href = Galaxy.root + 'user/login?' + params;\n\t return;\n\t }\n\t\n\t var LoginPage = Backbone.View.extend({\n\t initialize: function (page) {\n\t this.page = page;\n\t this.model = new Backbone.Model({ title: _l('Login required') });\n\t this.setElement(this._template());\n\t },\n\t render: function () {\n\t this.page.$('#galaxy_main').prop('src', options.welcome_url);\n\t },\n\t _template: function () {\n\t var login_url = options.root + 'user/login?' + $.param({ redirect: redirect });\n\t return '<iframe src=\"' + login_url + '\" frameborder=\"0\" style=\"width: 100%; height: 100%;\"/>';\n\t }\n\t });\n\t\n\t $(function () {\n\t Galaxy.page = new Page.View(_.extend(options, {\n\t Right: LoginPage\n\t }));\n\t });\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2), __webpack_require__(3)))\n\n/***/ }\n]);\n\n\n// WEBPACK FOOTER //\n// login.bundled.js","var jQuery = require( 'jquery' ),\n $ = jQuery,\n GalaxyApp = require( 'galaxy' ).GalaxyApp,\n _l = require( 'utils/localization' ),\n Page = require( 'layout/page' );\n\nwindow.app = function app( options, bootstrapped ){\n window.Galaxy = new GalaxyApp( options, bootstrapped );\n Galaxy.debug( 'login app' );\n var redirect = encodeURI( options.redirect );\n\n // TODO: remove iframe for user login (at least) and render login page from here\n // then remove this redirect\n if( !options.show_welcome_with_login ){\n var params = jQuery.param({ use_panels : 'True', redirect : redirect });\n window.location.href = Galaxy.root + 'user/login?' + params;\n return;\n }\n\n var LoginPage = Backbone.View.extend({\n initialize: function( page ) {\n this.page = page;\n this.model = new Backbone.Model({ title : _l( 'Login required' ) } );\n this.setElement( this._template() );\n },\n render: function() {\n this.page.$( '#galaxy_main' ).prop( 'src', options.welcome_url );\n },\n _template : function() {\n var login_url = options.root + 'user/login?' + $.param( { redirect : redirect } );\n return '<iframe src=\"' + login_url + '\" frameborder=\"0\" style=\"width: 100%; height: 100%;\"/>';\n }\n });\n\n $(function(){\n Galaxy.page = new Page.View( _.extend( options, {\n Right : LoginPage\n } ) );\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./galaxy/scripts/apps/login.js"],"sourceRoot":""}
{"version":3,"sources":["webpack:///login.bundled.js","webpack:///./galaxy/scripts/apps/login.js"],"names":["webpackJsonp","module","exports","__webpack_require__","Backbone","_","jQuery","$","GalaxyApp","_l","Page","window","app","options","bootstrapped","Galaxy","debug","redirect","encodeURI","show_welcome_with_login","params","param","use_panels","location","href","root","LoginPage","View","extend","initialize","page","this","model","Model","title","setElement","_template","render","prop","welcome_url","login_url","Right","call"],"mappings":"AAAAA,cAAc,IAER,SAASC,EAAQC,EAASC,ICFhC,SAAAC,EAAAC,GAAA,GAAIC,GAASH,EAAS,GAClBI,EAAID,EACJE,EAAYL,EAAS,IAAWK,UAChCC,EAAKN,EAAS,GACdO,EAAOP,EAAS,GAEpBQ,QAAOC,IAAM,SAAcC,EAASC,GAChCH,OAAOI,OAAS,GAAIP,GAAWK,EAASC,GACxCC,OAAOC,MAAO,YACd,IAAIC,GAAWC,UAAWL,EAAQI,SAIlC,KAAKJ,EAAQM,wBAAyB,CAClC,GAAIC,GAASd,EAAOe,OAAQC,WAAa,OAAQL,SAAWA,GAE5D,aADAN,OAAOY,SAASC,KAAOT,OAAOU,KAAO,cAAgBL,GAIzD,GAAIM,GAAYtB,EAASuB,KAAKC,QAC1BC,WAAY,SAAUC,GAClBC,KAAKD,KAAOA,EACZC,KAAKC,MAAQ,GAAI5B,GAAS6B,OAAQC,MAAQzB,EAAI,oBAC9CsB,KAAKI,WAAYJ,KAAKK,cAE1BC,OAAQ,WACJN,KAAKD,KAAKvB,EAAG,gBAAiB+B,KAAM,MAAOzB,EAAQ0B,cAEvDH,UAAY,WACR,GAAII,GAAY3B,EAAQY,KAAO,cAAgBlB,EAAEc,OAASJ,SAAWA,GACrE,OAAO,gBAAkBuB,EAAY,2DAI7CjC,GAAE,WACEQ,OAAOe,KAAO,GAAIpB,GAAKiB,KAAMtB,EAAEuB,OAAQf,GACnC4B,MAAQf,UDQUgB,KAAKxC,EAASC,EAAoB,GAAIA,EAAoB","file":"login.bundled.js","sourcesContent":["webpackJsonp([5],[\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Backbone, _) {var jQuery = __webpack_require__(1),\n\t $ = jQuery,\n\t GalaxyApp = __webpack_require__(52).GalaxyApp,\n\t _l = __webpack_require__(6),\n\t Page = __webpack_require__(53);\n\t\n\twindow.app = function app(options, bootstrapped) {\n\t window.Galaxy = new GalaxyApp(options, bootstrapped);\n\t Galaxy.debug('login app');\n\t var redirect = encodeURI(options.redirect);\n\t\n\t // TODO: remove iframe for user login (at least) and render login page from here\n\t // then remove this redirect\n\t if (!options.show_welcome_with_login) {\n\t var params = jQuery.param({ use_panels: 'True', redirect: redirect });\n\t window.location.href = Galaxy.root + 'user/login?' + params;\n\t return;\n\t }\n\t\n\t var LoginPage = Backbone.View.extend({\n\t initialize: function (page) {\n\t this.page = page;\n\t this.model = new Backbone.Model({ title: _l('Login required') });\n\t this.setElement(this._template());\n\t },\n\t render: function () {\n\t this.page.$('#galaxy_main').prop('src', options.welcome_url);\n\t },\n\t _template: function () {\n\t var login_url = options.root + 'user/login?' + $.param({ redirect: redirect });\n\t return '<iframe src=\"' + login_url + '\" frameborder=\"0\" style=\"width: 100%; height: 100%;\"/>';\n\t }\n\t });\n\t\n\t $(function () {\n\t Galaxy.page = new Page.View(_.extend(options, {\n\t Right: LoginPage\n\t }));\n\t });\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2), __webpack_require__(3)))\n\n/***/ }\n]);\n\n\n/** WEBPACK FOOTER **\n ** login.bundled.js\n **/","var jQuery = require( 'jquery' ),\n $ = jQuery,\n GalaxyApp = require( 'galaxy' ).GalaxyApp,\n _l = require( 'utils/localization' ),\n Page = require( 'layout/page' );\n\nwindow.app = function app( options, bootstrapped ){\n window.Galaxy = new GalaxyApp( options, bootstrapped );\n Galaxy.debug( 'login app' );\n var redirect = encodeURI( options.redirect );\n\n // TODO: remove iframe for user login (at least) and render login page from here\n // then remove this redirect\n if( !options.show_welcome_with_login ){\n var params = jQuery.param({ use_panels : 'True', redirect : redirect });\n window.location.href = Galaxy.root + 'user/login?' + params;\n return;\n }\n\n var LoginPage = Backbone.View.extend({\n initialize: function( page ) {\n this.page = page;\n this.model = new Backbone.Model({ title : _l( 'Login required' ) } );\n this.setElement( this._template() );\n },\n render: function() {\n this.page.$( '#galaxy_main' ).prop( 'src', options.welcome_url );\n },\n _template : function() {\n var login_url = options.root + 'user/login?' + $.param( { redirect : redirect } );\n return '<iframe src=\"' + login_url + '\" frameborder=\"0\" style=\"width: 100%; height: 100%;\"/>';\n }\n });\n\n $(function(){\n Galaxy.page = new Page.View( _.extend( options, {\n Right : LoginPage\n } ) );\n });\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./galaxy/scripts/apps/login.js\n **/"],"sourceRoot":""}
@@ -1,2 +1,2 @@
define(["libs/underscore","libs/backbone","mvc/base-mvc"],function(a,b,c){"use strict";var d=b.Collection.extend({initialize:function(a,c){b.Collection.prototype.initialize.call(this,a,c),this.setOrder(c.order||this.order,{silent:!0})},_setUpListeners:function(){return this.on({"changed-order":this.sort})},fetch:function(a){return a=this._buildFetchOptions(a),b.Collection.prototype.fetch.call(this,a)},_buildFetchOptions:function(b){b=a.clone(b)||{};var c=this;b.traditional=!0,b.data=b.data||c._buildFetchData(b);var d=this._buildFetchFilters(b);return a.isEmpty(d)||a.extend(b.data,this._fetchFiltersToAjaxData(d)),b},_buildFetchData:function(b){var c={};return this.order&&(c.order=this.order),a.defaults(a.pick(b,this._fetchParams),c)},_fetchParams:["order","limit","offset","view","keys"],_buildFetchFilters:function(b){return a.clone(b.filters||{})},_fetchFiltersToAjaxData:function(b){var c={q:[],qv:[]};return a.each(b,function(a,b){void 0!==a&&""!==a&&(a===!0&&(a="True"),a===!1&&(a="False"),null===a&&(a="None"),c.q.push(b),c.qv.push(a))}),c},reset:function(a,c){return this.allFetched=!1,b.Collection.prototype.reset.call(this,a,c)},order:null,comparators:{update_time:c.buildComparator("update_time",{ascending:!1}),"update_time-asc":c.buildComparator("update_time",{ascending:!0}),create_time:c.buildComparator("create_time",{ascending:!1}),"create_time-asc":c.buildComparator("create_time",{ascending:!0})},setOrder:function(b,c){c=c||{};var d=this,e=d.comparators[b];if(a.isUndefined(e))throw new Error("unknown order: "+b);if(e!==d.comparator){{d.order}return d.order=b,d.comparator=e,c.silent||d.trigger("changed-order",c),d}}}),e=d.extend({limitPerPage:500,initialize:function(a,b){d.prototype.initialize.call(this,a,b),this.currentPage=b.currentPage||0},getTotalItemCount:function(){return this.length},shouldPaginate:function(){return this.getTotalItemCount()>=this.limitPerPage},getLastPage:function(){return Math.floor(this.getTotalItemCount()/this.limitPerPage)},getPageCount:function(){return this.getLastPage()+1},getPageLimitOffset:function(a){return a=this.constrainPageNum(a),{limit:this.limitPerPage,offset:a*this.limitPerPage}},constrainPageNum:function(a){return Math.max(0,Math.min(a,this.getLastPage()))},fetchPage:function(b,c){var d=this;return b=d.constrainPageNum(b),d.currentPage=b,c=a.defaults(c||{},d.getPageLimitOffset(b)),d.trigger("fetching-more"),d.fetch(c).always(function(){d.trigger("fetching-more-done")})},fetchCurrentPage:function(a){return this.fetchPage(this.currentPage,a)},fetchPrevPage:function(a){return this.fetchPage(this.currentPage-1,a)},fetchNextPage:function(a){return this.fetchPage(this.currentPage+1,a)}}),f=d.extend({limitOnFirstFetch:null,limitPerFetch:100,initialize:function(a,b){d.prototype.initialize.call(this,a,b),this.limitOnFirstFetch=b.limitOnFirstFetch||this.limitOnFirstFetch,this.limitPerFetch=b.limitPerFetch||this.limitPerFetch,this.allFetched=!1,this.lastFetched=b.lastFetched||0},_buildFetchOptions:function(a){return a.remove=a.remove||!1,d.prototype._buildFetchOptions.call(this,a)},fetchFirst:function(b){return b=b?a.clone(b):{},this.allFetched=!1,this.lastFetched=0,this.fetchMore(a.defaults(b,{reset:!0,limit:this.limitOnFirstFetch}))},fetchMore:function(b){b=a.clone(b||{});var c=this;if(!b.reset&&c.allFetched)return jQuery.when();b.offset=b.reset?0:b.offset||c.lastFetched;var d=b.limit=b.limit||c.limitPerFetch||null;return c.trigger("fetching-more"),c.fetch(b).always(function(){c.trigger("fetching-more-done")}).done(function(b){var e=a.isArray(b)?b.length:0;c.lastFetched+=e,(!d||d>e)&&(c.allFetched=!0,c.trigger("all-fetched",this))})},fetchAll:function(b){b=b||{};var c=this;return b=a.pick(b,"silent"),b.filters={},c.fetch(b).done(function(){c.allFetched=!0,c.trigger("all-fetched",c)})}});return{ControlledFetchCollection:d,PaginatedCollection:e,InfinitelyScrollingCollection:f}});
define(["libs/underscore","libs/backbone","mvc/base-mvc"],function(a,b,c){"use strict";var d=b.Collection.extend({initialize:function(a,c){b.Collection.prototype.initialize.call(this,a,c),this.setOrder(c.order||this.order,{silent:!0})},_setUpListeners:function(){return this.on({"changed-order":this.sort})},fetch:function(a){return a=this._buildFetchOptions(a),Galaxy.debug("fetch options:",a),b.Collection.prototype.fetch.call(this,a)},_buildFetchOptions:function(b){b=a.clone(b)||{};var c=this;b.traditional=!0,b.data=b.data||c._buildFetchData(b),Galaxy.debug("data:",b.data);var d=this._buildFetchFilters(b);return Galaxy.debug("filters:",d),a.isEmpty(d)||a.extend(b.data,this._fetchFiltersToAjaxData(d)),Galaxy.debug("data:",b.data),b},_buildFetchData:function(b){var c={};return this.order&&(c.order=this.order),a.defaults(a.pick(b,this._fetchParams),c)},_fetchParams:["order","limit","offset","view","keys"],_buildFetchFilters:function(b){return a.clone(b.filters||{})},_fetchFiltersToAjaxData:function(b){var c={q:[],qv:[]};return a.each(b,function(a,b){void 0!==a&&""!==a&&(a===!0&&(a="True"),a===!1&&(a="False"),null===a&&(a="None"),c.q.push(b),c.qv.push(a))}),c},reset:function(a,c){return this.allFetched=!1,b.Collection.prototype.reset.call(this,a,c)},order:null,comparators:{update_time:c.buildComparator("update_time",{ascending:!1}),"update_time-asc":c.buildComparator("update_time",{ascending:!0}),create_time:c.buildComparator("create_time",{ascending:!1}),"create_time-asc":c.buildComparator("create_time",{ascending:!0})},setOrder:function(b,c){c=c||{};var d=this,e=d.comparators[b];if(a.isUndefined(e))throw new Error("unknown order: "+b);return e!==d.comparator?(d.order=b,d.comparator=e,c.silent||d.trigger("changed-order",c),d):void 0}}),e=d.extend({limitPerPage:500,initialize:function(a,b){d.prototype.initialize.call(this,a,b),this.currentPage=b.currentPage||0},getTotalItemCount:function(){return this.length},shouldPaginate:function(){return this.getTotalItemCount()>=this.limitPerPage},getLastPage:function(){return Math.floor(this.getTotalItemCount()/this.limitPerPage)},getPageCount:function(){return this.getLastPage()+1},getPageLimitOffset:function(a){return a=this.constrainPageNum(a),{limit:this.limitPerPage,offset:a*this.limitPerPage}},constrainPageNum:function(a){return Math.max(0,Math.min(a,this.getLastPage()))},fetchPage:function(b,c){var d=this;return b=d.constrainPageNum(b),d.currentPage=b,c=a.defaults(c||{},d.getPageLimitOffset(b)),d.trigger("fetching-more"),d.fetch(c).always(function(){d.trigger("fetching-more-done")})},fetchCurrentPage:function(a){return this.fetchPage(this.currentPage,a)},fetchPrevPage:function(a){return this.fetchPage(this.currentPage-1,a)},fetchNextPage:function(a){return this.fetchPage(this.currentPage+1,a)}}),f=d.extend({limitOnFirstFetch:null,limitPerFetch:100,initialize:function(a,b){d.prototype.initialize.call(this,a,b),this.limitOnFirstFetch=b.limitOnFirstFetch||this.limitOnFirstFetch,this.limitPerFetch=b.limitPerFetch||this.limitPerFetch,this.allFetched=!1,this.lastFetched=b.lastFetched||0},_buildFetchOptions:function(a){return a.remove=a.remove||!1,d.prototype._buildFetchOptions.call(this,a)},fetchFirst:function(b){return Galaxy.debug("ControlledFetchCollection.fetchFirst:",b),b=b?a.clone(b):{},this.allFetched=!1,this.lastFetched=0,this.fetchMore(a.defaults(b,{reset:!0,limit:this.limitOnFirstFetch}))},fetchMore:function(b){Galaxy.debug("ControlledFetchCollection.fetchMore:",b),b=a.clone(b||{});var c=this;if(Galaxy.debug("fetchMore, options.reset:",b.reset),!b.reset&&c.allFetched)return jQuery.when();b.reset?b.offset=0:void 0===b.offset&&(b.offset=c.lastFetched);var d=b.limit=b.limit||c.limitPerFetch||null;return Galaxy.debug("fetchMore, limit:",d,"offset:",b.offset),c.trigger("fetching-more"),c.fetch(b).always(function(){c.trigger("fetching-more-done")}).done(function(b){var e=a.isArray(b)?b.length:0;c.lastFetched+=e,Galaxy.debug("fetchMore, lastFetched:",c.lastFetched),(!d||d>e)&&(c.allFetched=!0,c.trigger("all-fetched",this))})},fetchAll:function(b){b=b||{};var c=this;return b=a.pick(b,"silent"),b.filters={},c.fetch(b).done(function(){c.allFetched=!0,c.trigger("all-fetched",c)})}});return{ControlledFetchCollection:d,PaginatedCollection:e,InfinitelyScrollingCollection:f}});
//# sourceMappingURL=../../../maps/mvc/base/controlled-fetch-collection.js.map
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,2 +1,2 @@
define(["libs/toastr","mvc/library/library-model","mvc/library/library-libraryrow-view","libs/underscore"],function(a,b,c,d){var e=Backbone.View.extend({el:"#libraries_element",events:{"click .sort-libraries-link":"sort_clicked"},defaults:{page_count:null,show_page:null,all_fetched:!1},initialize:function(c){this.options=d.defaults(this.options||{},c,this.defaults);var e=this;this.modal=null,this.collection=new b.Libraries,this.collection.url=this.collection.urlRoot+"?deleted=false",this.collection.fetch({success:function(){e.render()},error:function(b,c){a.error("undefined"!=typeof c.responseJSON?c.responseJSON.err_msg:"An error ocurred.")}})},render:function(a){this.options=d.extend(this.options,a),this.setElement("#libraries_element");var b=this.templateLibraryList(),c=null,e=null,f=function(a){return a.get("public")===!0};if($(".tooltip").hide(),"undefined"!=typeof a&&(e="undefined"!=typeof a.models?a.models:null),null!==this.collection&&null===e)this.sortLibraries(),c=Galaxy.libraries.preferences.get("with_deleted")?this.collection.models:this.collection.where({deleted:!1}),Galaxy.libraries.preferences.get("without_restricted")&&(c=d.filter(c,f));else if(null!==e){if(Galaxy.libraries.preferences.get("with_deleted"))c=e;else{var g=function(a){return a.get("deleted")===!1};c=d.filter(e,g)}Galaxy.libraries.preferences.get("without_restricted")&&(c=d.filter(c,f))}else c=[];(null===this.options.show_page||this.options.show_page<1)&&(this.options.show_page=1),this.options.total_libraries_count=c.length;var h=Galaxy.libraries.preferences.get("library_page_size")*(this.options.show_page-1);this.options.page_count=Math.ceil(this.options.total_libraries_count/Galaxy.libraries.preferences.get("library_page_size")),this.options.total_libraries_count>0&&h<this.options.total_libraries_count?(c=c.slice(h,h+Galaxy.libraries.preferences.get("library_page_size")),this.options.libraries_shown=c.length,Galaxy.libraries.preferences.get("library_page_size")*this.options.show_page>this.options.total_libraries_count+Galaxy.libraries.preferences.get("library_page_size")&&(c=[]),this.$el.html(b({length:1,order:Galaxy.libraries.preferences.get("sort_order"),search_term:Galaxy.libraries.libraryToolbarView.options.search_term})),Galaxy.libraries.libraryToolbarView.renderPaginator(this.options),this.renderRows(c)):(this.$el.html(b({length:0,order:Galaxy.libraries.preferences.get("sort_order"),search_term:Galaxy.libraries.libraryToolbarView.options.search_term})),Galaxy.libraries.libraryToolbarView.renderPaginator(this.options)),$("#center [data-toggle]").tooltip(),$("#center").css("overflow","auto")},fetchDeleted:function(){if(this.options.all_fetched)this.render();else{var b=this;this.collection.url=this.collection.urlRoot+"?deleted=true",this.collection.fetch({remove:!1,success:function(){b.options.all_fetched=!0,b.render()},error:function(b,c){a.error("undefined"!=typeof c.responseJSON?c.responseJSON.err_msg:"An error ocurred.")}})}},renderRows:function(a){for(var b=0;b<a.length;b++){var c=a[b];this.renderOne({library:c})}},renderOne:function(a){var b=a.library,d=new c.LibraryRowView(b);this.$el.find("#library_list_body").append(d.el)},sort_clicked:function(){Galaxy.libraries.preferences.set("asc"===Galaxy.libraries.preferences.get("sort_order")?{sort_order:"desc"}:{sort_order:"asc"}),this.render()},sortLibraries:function(){"name"===Galaxy.libraries.preferences.get("sort_by")&&("asc"===Galaxy.libraries.preferences.get("sort_order")?this.collection.sortByNameAsc():"desc"===Galaxy.libraries.preferences.get("sort_order")&&this.collection.sortByNameDesc())},searchLibraries:function(a){var b=$.trim(a);if(""!==b){var c=null;c=this.collection.search(a),this.options.searching=!0,this.render({models:c,show_page:1})}else this.options.searching=!1,this.render()},templateLibraryList:function(){return d.template(['<div class="library_container table-responsive">',"<% if(length === 0) { %>","<% if(search_term.length > 0) { %>","<div>","There are no libraries matching your search. Try different keyword.","</div>","<% } else{ %>","<div>","There are no libraries visible to you here. If you expected some to show up please consult the",' <a href="https://galaxyproject.org/data-libraries/#permissions" target="_blank">library security wikipage</a>',' or visit the <a href="https://biostar.usegalaxy.org/" target="_blank">Galaxy support site</a>.',"</div>","<% }%>","<% } else{ %>",'<table class="grid table table-condensed">',"<thead>",'<th style="width:30%;">','<a class="sort-libraries-link" title="Click to reverse order" href="#">',"name","</a>",'<span title="Sorted alphabetically" class="fa fa-sort-alpha-<%- order %>"/>',"</th>",'<th style="width:22%;">description</th>','<th style="width:22%;">synopsis</th> ','<th style="width:26%;"></th>',"</thead>",'<tbody id="library_list_body">',"</tbody>","</table>","<% }%>","</div>"].join(""))}});return{LibraryListView:e}});
define(["libs/toastr","mvc/library/library-model","mvc/library/library-libraryrow-view","libs/underscore"],function(a,b,c,d){var e=Backbone.View.extend({el:"#libraries_element",events:{"click .sort-libraries-link":"sort_clicked"},defaults:{page_count:null,show_page:null,all_fetched:!1},initialize:function(c){this.options=d.defaults(this.options||{},c,this.defaults);var e=this;this.modal=null,this.collection=new b.Libraries,this.collection.url=this.collection.urlRoot+"?deleted=false",this.collection.fetch({success:function(){e.render()},error:function(b,c){a.error("undefined"!=typeof c.responseJSON?c.responseJSON.err_msg:"An error occurred.")}})},render:function(a){this.options=d.extend(this.options,a),this.setElement("#libraries_element");var b=this.templateLibraryList(),c=null,e=null,f=function(a){return a.get("public")===!0};if($(".tooltip").hide(),"undefined"!=typeof a&&(e="undefined"!=typeof a.models?a.models:null),null!==this.collection&&null===e)this.sortLibraries(),c=Galaxy.libraries.preferences.get("with_deleted")?this.collection.models:this.collection.where({deleted:!1}),Galaxy.libraries.preferences.get("without_restricted")&&(c=d.filter(c,f));else if(null!==e){if(Galaxy.libraries.preferences.get("with_deleted"))c=e;else{var g=function(a){return a.get("deleted")===!1};c=d.filter(e,g)}Galaxy.libraries.preferences.get("without_restricted")&&(c=d.filter(c,f))}else c=[];(null===this.options.show_page||this.options.show_page<1)&&(this.options.show_page=1),this.options.total_libraries_count=c.length;var h=Galaxy.libraries.preferences.get("library_page_size")*(this.options.show_page-1);this.options.page_count=Math.ceil(this.options.total_libraries_count/Galaxy.libraries.preferences.get("library_page_size")),this.options.total_libraries_count>0&&h<this.options.total_libraries_count?(c=c.slice(h,h+Galaxy.libraries.preferences.get("library_page_size")),this.options.libraries_shown=c.length,Galaxy.libraries.preferences.get("library_page_size")*this.options.show_page>this.options.total_libraries_count+Galaxy.libraries.preferences.get("library_page_size")&&(c=[]),this.$el.html(b({length:1,order:Galaxy.libraries.preferences.get("sort_order"),search_term:Galaxy.libraries.libraryToolbarView.options.search_term})),Galaxy.libraries.libraryToolbarView.renderPaginator(this.options),this.renderRows(c)):(this.$el.html(b({length:0,order:Galaxy.libraries.preferences.get("sort_order"),search_term:Galaxy.libraries.libraryToolbarView.options.search_term})),Galaxy.libraries.libraryToolbarView.renderPaginator(this.options)),$("#center [data-toggle]").tooltip(),$("#center").css("overflow","auto")},fetchDeleted:function(){if(this.options.all_fetched)this.render();else{var b=this;this.collection.url=this.collection.urlRoot+"?deleted=true",this.collection.fetch({remove:!1,success:function(){b.options.all_fetched=!0,b.render()},error:function(b,c){a.error("undefined"!=typeof c.responseJSON?c.responseJSON.err_msg:"An error occurred.")}})}},renderRows:function(a){for(var b=0;b<a.length;b++){var c=a[b];this.renderOne({library:c})}},renderOne:function(a){var b=a.library,d=new c.LibraryRowView(b);this.$el.find("#library_list_body").append(d.el)},sort_clicked:function(){Galaxy.libraries.preferences.set("asc"===Galaxy.libraries.preferences.get("sort_order")?{sort_order:"desc"}:{sort_order:"asc"}),this.render()},sortLibraries:function(){"name"===Galaxy.libraries.preferences.get("sort_by")&&("asc"===Galaxy.libraries.preferences.get("sort_order")?this.collection.sortByNameAsc():"desc"===Galaxy.libraries.preferences.get("sort_order")&&this.collection.sortByNameDesc())},searchLibraries:function(a){var b=$.trim(a);if(""!==b){var c=null;c=this.collection.search(a),this.options.searching=!0,this.render({models:c,show_page:1})}else this.options.searching=!1,this.render()},templateLibraryList:function(){return d.template(['<div class="library_container table-responsive">',"<% if(length === 0) { %>","<% if(search_term.length > 0) { %>","<div>","There are no libraries matching your search. Try different keyword.","</div>","<% } else{ %>","<div>","There are no libraries visible to you here. If you expected some to show up please consult the",' <a href="https://galaxyproject.org/data-libraries/#permissions" target="_blank">library security wikipage</a>',' or visit the <a href="https://biostar.usegalaxy.org/" target="_blank">Galaxy support site</a>.',"</div>","<% }%>","<% } else{ %>",'<table class="grid table table-condensed">',"<thead>",'<th style="width:30%;">','<a class="sort-libraries-link" title="Click to reverse order" href="#">',"name","</a>",'<span title="Sorted alphabetically" class="fa fa-sort-alpha-<%- order %>"/>',"</th>",'<th style="width:22%;">description</th>','<th style="width:22%;">synopsis</th> ','<th style="width:26%;"></th>',"</thead>",'<tbody id="library_list_body">',"</tbody>","</table>","<% }%>","</div>"].join(""))}});return{LibraryListView:e}});
//# sourceMappingURL=../../../maps/mvc/library/library-librarylist-view.js.map
File diff suppressed because one or more lines are too long
@@ -1,2 +1,2 @@
define(["libs/toastr","toolshed/scripts/mvc/groups/group-model"],function(a,b){var c=Backbone.View.extend({el:"#groups_element",options:{},app:null,initialize:function(a){this.options=_.extend(this.options,a),this.app=window.globalTS.groups,null!==this.app.collection?(this.model=this.app.collection.get(this.options.group_id),this.render()):this.fetchGroup()},fetchGroup:function(c){var d=this;this.options=_.extend(this.options,c),this.model=new b.Group({id:this.options.group_id}),this.model.fetch({success:function(a){console.log("received data: "),console.log(a),d.render()},error:function(b,c){a.error("undefined"!=typeof c.responseJSON?c.responseJSON.err_msg:"An error ocurred.")}})},render:function(){var a=this.templateRow();this.$el.html(a({group:this.model})),$("#center [data-toggle]").tooltip(),$("#center").css("overflow","auto")},templateRow:function(){return _.template(["<div>",'<h3><%= group.get("name") %></h3>','<p class="" style="color:gray;">','A group of <%= group.get("members").length %> members with <%= group.get("repositories").length %> repositories and a total of <%= group.get("total_downloads") %> combined repository clones.</p>',"<h3>Members</h3>",'<table class="grid table table-condensed">',"<thead>","<th>Name</th>","<th>Repositories</th>","<th>Registered</th>","</thead>","<tbody>",'<% _.each(group.get("members"), function(member) { %>',"<tr>","<td>","<%= member.username %>","</td>","<td>",'<a data-toggle="tooltip" data-placement="top" title="Repositories of <%= member.username %>" href="/repository/browse_repositories_by_user?user_id=<%= member.id %>&use_panels=true" id="<%= member.id %>"><%= member.user_repos_count %></a>',"</td>","<td>","<%= member.time_created %>","</td>","</tr>","<% }); %>","</tbody>","</table>","<h3>Repositories</h3>",'<table class="grid table table-condensed">',"<thead>","<th>Name</th>","<th>Description</th>","<th>Clones</th>","<th>Owner</th>","<th>Categories</th>","<th>Created</th>","<th>Updated</th>","<th>Rating</th>","<th>Verified</th>","</thead>","<tbody>",'<% _.each(group.get("repositories"), function(repo) { %>',"<tr>","<td>",'<a data-toggle="tooltip" data-placement="top" title="Details of <%= repo.name %>" href="/view/<%= repo.owner %>/<%= repo.name %>" id="<%= repo.id %>"><%= repo.name %></a>',"</td>","<td>","<%= repo.description %>","</td>","<td>","<%= repo.times_downloaded %>","</td>","<td>","<%= repo.owner %>","</td>","<td>","<% _.each((repo.categories), function(cat) { %>",'<a data-toggle="tooltip" data-placement="top" title="Repositories in <%= cat.name %>" href="/repository/browse_repositories_in_category?id=<%= cat.id %>&use_panels=true"><%= cat.name %></a><br/>',"<% }); %>","</td>",'<td data-toggle="tooltip" data-placement="top" title="<%= repo.time_created_full %>">',"<%= repo.time_created %>","</td>",'<td data-toggle="tooltip" data-placement="top" title="<%= repo.time_updated_full %>">',"<%= repo.time_updated %>","</td>","<td>","<%= repo.ratings_mean %>","</td>","<td>","<%= repo.approved %>","</td>","</tr>","<% }); %>","</tbody>","</table>","</div>"].join(""))}});return{GroupDetailView:c}});
define(["libs/toastr","toolshed/scripts/mvc/groups/group-model"],function(a,b){var c=Backbone.View.extend({el:"#groups_element",options:{},app:null,initialize:function(a){this.options=_.extend(this.options,a),this.app=window.globalTS.groups,null!==this.app.collection?(this.model=this.app.collection.get(this.options.group_id),this.render()):this.fetchGroup()},fetchGroup:function(c){var d=this;this.options=_.extend(this.options,c),this.model=new b.Group({id:this.options.group_id}),this.model.fetch({success:function(a){console.log("received data: "),console.log(a),d.render()},error:function(b,c){a.error("undefined"!=typeof c.responseJSON?c.responseJSON.err_msg:"An error occurred.")}})},render:function(){var a=this.templateRow();this.$el.html(a({group:this.model})),$("#center [data-toggle]").tooltip(),$("#center").css("overflow","auto")},templateRow:function(){return _.template(["<div>",'<h3><%= group.get("name") %></h3>','<p class="" style="color:gray;">','A group of <%= group.get("members").length %> members with <%= group.get("repositories").length %> repositories and a total of <%= group.get("total_downloads") %> combined repository clones.</p>',"<h3>Members</h3>",'<table class="grid table table-condensed">',"<thead>","<th>Name</th>","<th>Repositories</th>","<th>Registered</th>","</thead>","<tbody>",'<% _.each(group.get("members"), function(member) { %>',"<tr>","<td>","<%= member.username %>","</td>","<td>",'<a data-toggle="tooltip" data-placement="top" title="Repositories of <%= member.username %>" href="/repository/browse_repositories_by_user?user_id=<%= member.id %>&use_panels=true" id="<%= member.id %>"><%= member.user_repos_count %></a>',"</td>","<td>","<%= member.time_created %>","</td>","</tr>","<% }); %>","</tbody>","</table>","<h3>Repositories</h3>",'<table class="grid table table-condensed">',"<thead>","<th>Name</th>","<th>Description</th>","<th>Clones</th>","<th>Owner</th>","<th>Categories</th>","<th>Created</th>","<th>Updated</th>","<th>Rating</th>","<th>Verified</th>","</thead>","<tbody>",'<% _.each(group.get("repositories"), function(repo) { %>',"<tr>","<td>",'<a data-toggle="tooltip" data-placement="top" title="Details of <%= repo.name %>" href="/view/<%= repo.owner %>/<%= repo.name %>" id="<%= repo.id %>"><%= repo.name %></a>',"</td>","<td>","<%= repo.description %>","</td>","<td>","<%= repo.times_downloaded %>","</td>","<td>","<%= repo.owner %>","</td>","<td>","<% _.each((repo.categories), function(cat) { %>",'<a data-toggle="tooltip" data-placement="top" title="Repositories in <%= cat.name %>" href="/repository/browse_repositories_in_category?id=<%= cat.id %>&use_panels=true"><%= cat.name %></a><br/>',"<% }); %>","</td>",'<td data-toggle="tooltip" data-placement="top" title="<%= repo.time_created_full %>">',"<%= repo.time_created %>","</td>",'<td data-toggle="tooltip" data-placement="top" title="<%= repo.time_updated_full %>">',"<%= repo.time_updated %>","</td>","<td>","<%= repo.ratings_mean %>","</td>","<td>","<%= repo.approved %>","</td>","</tr>","<% }); %>","</tbody>","</table>","</div>"].join(""))}});return{GroupDetailView:c}});
//# sourceMappingURL=../../../maps/mvc/groups/group-detail-view.js.map
@@ -1,2 +1,2 @@
define(["libs/toastr","toolshed/scripts/mvc/groups/group-model","toolshed/scripts/mvc/groups/group-listrow-view"],function(a,b,c){var d=Backbone.View.extend({el:"#groups_element",defaults:{},initialize:function(c){this.options=_.defaults(this.options||{},this.defaults,c);var d=this;window.globalTS.groups.collection=new b.Groups,window.globalTS.groups.collection.fetch({success:function(a){console.log("received data: "),console.log(a),d.render()},error:function(b,c){a.error("undefined"!=typeof c.responseJSON?c.responseJSON.err_msg:"An error ocurred.")}})},fetch:function(){},render:function(a){this.options=_.extend(this.options,a),$(".tooltip").hide();var b=this.templateGroupsList();this.$el.html(b({length:window.globalTS.groups.collection.models.length})),this.renderRows(window.globalTS.groups.collection.models),$("#center [data-toggle]").tooltip(),$("#center").css("overflow","auto")},renderRows:function(a){for(var b=0;b<a.length;b++){var c=a[b];this.renderOne({group:c})}},renderOne:function(a){var b=new c.GroupListRowView(a);this.$el.find("#group_list_body").append(b.el)},templateGroupsList:function(){return tmpl_array=[],tmpl_array.push('<div id="groups">'),tmpl_array.push("</div>"),tmpl_array.push('<div class="groups_container table-responsive">'),tmpl_array.push("<% if(length === 0) { %>"),tmpl_array.push("<div>There are no groups yet.</div>"),tmpl_array.push("<% } else{ %>"),tmpl_array.push('<table class="grid table table-condensed">'),tmpl_array.push(" <thead>"),tmpl_array.push(" <th>Name</th>"),tmpl_array.push(" <th>Members</th> "),tmpl_array.push(" <th>Repositories</th>"),tmpl_array.push(" </thead>"),tmpl_array.push(' <tbody id="group_list_body">'),tmpl_array.push(" </tbody>"),tmpl_array.push("</table>"),tmpl_array.push("<% }%>"),tmpl_array.push("</div>"),_.template(tmpl_array.join(""))}});return{GroupListView:d}});
define(["libs/toastr","toolshed/scripts/mvc/groups/group-model","toolshed/scripts/mvc/groups/group-listrow-view"],function(a,b,c){var d=Backbone.View.extend({el:"#groups_element",defaults:{},initialize:function(c){this.options=_.defaults(this.options||{},this.defaults,c);var d=this;window.globalTS.groups.collection=new b.Groups,window.globalTS.groups.collection.fetch({success:function(a){console.log("received data: "),console.log(a),d.render()},error:function(b,c){a.error("undefined"!=typeof c.responseJSON?c.responseJSON.err_msg:"An error occurred.")}})},fetch:function(){},render:function(a){this.options=_.extend(this.options,a),$(".tooltip").hide();var b=this.templateGroupsList();this.$el.html(b({length:window.globalTS.groups.collection.models.length})),this.renderRows(window.globalTS.groups.collection.models),$("#center [data-toggle]").tooltip(),$("#center").css("overflow","auto")},renderRows:function(a){for(var b=0;b<a.length;b++){var c=a[b];this.renderOne({group:c})}},renderOne:function(a){var b=new c.GroupListRowView(a);this.$el.find("#group_list_body").append(b.el)},templateGroupsList:function(){return tmpl_array=[],tmpl_array.push('<div id="groups">'),tmpl_array.push("</div>"),tmpl_array.push('<div class="groups_container table-responsive">'),tmpl_array.push("<% if(length === 0) { %>"),tmpl_array.push("<div>There are no groups yet.</div>"),tmpl_array.push("<% } else{ %>"),tmpl_array.push('<table class="grid table table-condensed">'),tmpl_array.push(" <thead>"),tmpl_array.push(" <th>Name</th>"),tmpl_array.push(" <th>Members</th> "),tmpl_array.push(" <th>Repositories</th>"),tmpl_array.push(" </thead>"),tmpl_array.push(' <tbody id="group_list_body">'),tmpl_array.push(" </tbody>"),tmpl_array.push("</table>"),tmpl_array.push("<% }%>"),tmpl_array.push("</div>"),_.template(tmpl_array.join(""))}});return{GroupListView:d}});
//# sourceMappingURL=../../../maps/mvc/groups/group-list-view.js.map
@@ -22,7 +22,7 @@
Note that datasets originating from an archive import are still sanitized
even when their creating tool is whitelisted since it isn't possible to
validate the information supplied in the archive.</p></div>
<form name="sanitize_whitelist" action="${h.url_for( controller='admin', action='sanitize_whitelist' )}">
<form name="sanitize_whitelist" method="post" action="${h.url_for( controller='admin', action='sanitize_whitelist' )}">
<div class="toolForm">
<div class="toolFormTitle">Tool Sanitization Whitelist</div>
<div class="toolFormBody">