mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Merge from release to dev.
This commit is contained in:
@@ -1008,7 +1008,7 @@ var collectionCreatorModal = function _collectionCreatorModal( elements, options
|
||||
title : options.title || _l( 'Create a collection' ),
|
||||
body : creator.$el,
|
||||
width : '80%',
|
||||
height : 'min-content',
|
||||
height : '100%',
|
||||
closing_events: true
|
||||
});
|
||||
creator.render();
|
||||
|
||||
@@ -497,16 +497,14 @@ var HistoryViewEdit = _super.extend(
|
||||
},
|
||||
/** */
|
||||
drop : function( ev ){
|
||||
//console.warn( 'dataTransfer:', ev.dataTransfer.getData( 'text' ) );
|
||||
//console.warn( 'dataTransfer:', ev.originalEvent.dataTransfer.getData( 'text' ) );
|
||||
ev.preventDefault();
|
||||
//ev.stopPropagation();
|
||||
ev.dataTransfer.dropEffect = 'move';
|
||||
|
||||
//console.debug( 'ev.dataTransfer:', ev.dataTransfer );
|
||||
var dataTransfer = ev.originalEvent.dataTransfer;
|
||||
dataTransfer.dropEffect = 'move';
|
||||
|
||||
var panel = this,
|
||||
data = ev.dataTransfer.getData( "text" );
|
||||
data = dataTransfer.getData( "text" );
|
||||
try {
|
||||
data = JSON.parse( data );
|
||||
|
||||
|
||||
@@ -550,7 +550,11 @@ var FolderToolbarView = Backbone.View.extend({
|
||||
},
|
||||
error: function(model, response){
|
||||
if (typeof response.responseJSON !== "undefined"){
|
||||
mod_toastr.error(response.responseJSON.err_msg);
|
||||
if (response.responseJSON.err_code === 404001){
|
||||
mod_toastr.warning(response.responseJSON.err_msg);
|
||||
} else{
|
||||
mod_toastr.error(response.responseJSON.err_msg);
|
||||
}
|
||||
} else {
|
||||
mod_toastr.error('An error ocurred.');
|
||||
}
|
||||
|
||||
@@ -1,96 +1,216 @@
|
||||
id: galaxy_ui
|
||||
name: Galaxy UI
|
||||
description: A gentle introduction to the Galaxy User Interface
|
||||
title_default: "Welcome to Galaxy"
|
||||
|
||||
# A tour is made of several steps, each of them beginning with a dash '-'
|
||||
steps:
|
||||
# 'title's will be displayed in the header of each step-container
|
||||
# If you don't specify any title, a default title is used, defined above.
|
||||
- title: "Welcome to Galaxy"
|
||||
content: "This short tour will walk you through Galaxy's user interface."
|
||||
# 'content' is the actual text that is shown to the user
|
||||
content: "This short tour will guide you through Galaxy's user interface.<br>
|
||||
You can navigate with your arrow keys and leave the tour at any time point with 'Escape' or the 'End tour' button."
|
||||
# backdrop is just one of many properties you can attach to one step-container,
|
||||
# a full reference can be found at http://bootstraptour.com/api/
|
||||
backdrop: true
|
||||
|
||||
- element: ".upload-button"
|
||||
intro: "Use this button to upload your data."
|
||||
# 'element' is the JQuery Selector (http://api.jquery.com/category/selectors/) of the element you want to describe
|
||||
# In this case we want to highlight the Upload button with the `.upload-button` selector
|
||||
- title: "Upload your data"
|
||||
element: ".upload-button"
|
||||
intro: "Galaxy supports many ways to get in your data.<br>
|
||||
Use this button to upload your data."
|
||||
# position of the text box relative to the selected element
|
||||
position: "right"
|
||||
# You can trigger click() events on arbitrary elements before (preclick) or after (postclick) the element is shown
|
||||
postclick:
|
||||
- ".upload-button"
|
||||
|
||||
- element: "button#btn-local"
|
||||
intro: "Upload data from your computer."
|
||||
- title: "Upload your data"
|
||||
element: "button#btn-local"
|
||||
intro: "You can upload data from your computer."
|
||||
position: "top"
|
||||
postclick:
|
||||
- "button#btn-new"
|
||||
- element: "button#btn-new"
|
||||
intro: "Copy and Paste data or include URLs."
|
||||
|
||||
- title: "Upload your data"
|
||||
element: "button#btn-new"
|
||||
intro: "Copy and paste data directly into Galaxy or include URLs that lead to your data"
|
||||
position: "top"
|
||||
preclick:
|
||||
- ".upload-button"
|
||||
|
||||
- element: "textarea#text-content"
|
||||
intro: "Insert data into Galaxy."
|
||||
- title: "Insert URLs"
|
||||
element: "textarea#text-content"
|
||||
intro: "URLs separated by a line break are automatically downloaded by Galaxy."
|
||||
position: "top"
|
||||
textinsert: |
|
||||
https://raw.githubusercontent.com/arq5x/bedtools/master/test/merge/a.full.bed
|
||||
https://raw.githubusercontent.com/arq5x/bedtools/master/test/merge/a.full.bed
|
||||
https://raw.githubusercontent.com/arq5x/bedtools/master/test/merge/a.full.bed
|
||||
https://raw.githubusercontent.com/bgruening/galaxytools/adf077b912ddebd97b07b947b855cdd2862ed8ef/tools/augustus/test-data/human_augustus.fa
|
||||
https://raw.githubusercontent.com/bgruening/galaxytools/adf077b912ddebd97b07b947b855cdd2862ed8ef/tools/sailfish/test-data/reads_2.fastq
|
||||
https://raw.githubusercontent.com/bgruening/galaxytools/adf077b912ddebd97b07b947b855cdd2862ed8ef/tools/statistics/test-data/anderson.tabular
|
||||
|
||||
- element: "button#btn-start"
|
||||
- title: "Start the upload"
|
||||
element: "button#btn-start"
|
||||
intro: "Upload the data into your Galaxy history."
|
||||
position: "bottom"
|
||||
position: "top"
|
||||
postclick:
|
||||
- "button#btn-start"
|
||||
|
||||
- element: "button#btn-close"
|
||||
intro: "Hit the close button in upload."
|
||||
position: "bottom"
|
||||
- title: "Close upload/download manager"
|
||||
element: "button#btn-close"
|
||||
intro: "Close the upload manager with this button or with a click outside of the manager window."
|
||||
position: "top"
|
||||
postclick:
|
||||
- "#btn-close"
|
||||
|
||||
- title: "Tools"
|
||||
element: "#left"
|
||||
intro: "This is your ToolBox. All tools available in your Galaxy instance you can find here."
|
||||
position: "right"
|
||||
|
||||
- element: 'a[href$="tool_runner?tool_id=Filter1"]'
|
||||
- title: "Tool search bar"
|
||||
element: '#tool-search-query'
|
||||
intro: "You can search for tools by keywords."
|
||||
position: "right"
|
||||
textinsert: 'filter'
|
||||
|
||||
- title: "Tool categories"
|
||||
element: '#title_filter > a'
|
||||
intro: "Tools are grouped into categories to make them easier to find."
|
||||
position: "right"
|
||||
preclick:
|
||||
- 'a[href$="tool_runner?tool_id=Filter1"]'
|
||||
postclick:
|
||||
- "#title_filter a"
|
||||
|
||||
- element: '#center-panel'
|
||||
intro: "This is your Filter tool."
|
||||
- title: "Select a tool"
|
||||
element: 'a[href$="tool_runner?tool_id=Filter1"]'
|
||||
intro: "Select and load a tool for your analysis by clicking the underlined link."
|
||||
position: "right"
|
||||
preclick:
|
||||
- '#center-panel'
|
||||
postclick:
|
||||
- 'a[href$="tool_runner?tool_id=Filter1"]'
|
||||
|
||||
- element: '#uid-0'
|
||||
intro: "Your tool parameters."
|
||||
- title: "Filter Tool"
|
||||
element: '#center-panel'
|
||||
intro: "Your tool is loaded into the main Galaxy page and ready for use."
|
||||
position: "right"
|
||||
#backdropContainer: 'background'
|
||||
#backdrop: true
|
||||
|
||||
- title: "Tool parameters"
|
||||
element: '#uid-0'
|
||||
intro: "Here you can choose your tool parameters. Select your input dataset from your history and specify parameters for your analysis."
|
||||
position: "right"
|
||||
|
||||
- element: 'div.toolHelp'
|
||||
intro: "Your tool parameters."
|
||||
- title: "Tool help"
|
||||
element: 'div.ui-form-help'
|
||||
intro: "Every Galaxy tool has a help section with detailed information about the tool and its parameters.
|
||||
Have a look and study your tool in depth by reading it."
|
||||
position: "top"
|
||||
|
||||
- title: "Run your tool"
|
||||
element: '#execute'
|
||||
intro: "Click on 'Execute' to run your tool and send it to the compute cluster.
|
||||
Don't be afraid to test different settings in parallel. Galaxy can handle multiple runs of the same tool."
|
||||
position: "right"
|
||||
- element: '#execute'
|
||||
intro: "Send your tool to the Compute Cluster."
|
||||
position: "right"
|
||||
preclick:
|
||||
postclick:
|
||||
- '#execute'
|
||||
- element: "#right"
|
||||
intro: "This is your history! All anylysis steps will be recorded and can be redone at any time."
|
||||
|
||||
- title: "History"
|
||||
element: "#right"
|
||||
intro: "This is your Galaxy history! All analysis steps with results of the tools and their parameters will be recorded here and can be redone at any time.<br>
|
||||
A running tool is shown in yellow and if your calculation is done, it turns green. If your dataset is
|
||||
grey this means you are queued and need to wait until your tool can be started. If your dataset turns into red, an error has occurred. Please report the bug to the Galaxy team with the bug report button."
|
||||
position: "left"
|
||||
- element: "#masthead"
|
||||
intro: "Your top panel will give you access to a lot of useful things."
|
||||
|
||||
- title: "Rename history"
|
||||
element: "#current-history-panel > div.controls > div.title > div"
|
||||
intro: "Name your history here and press enter."
|
||||
position: "left"
|
||||
preclick:
|
||||
- "#current-history-panel > div.controls > div.title > div"
|
||||
|
||||
- title: "View dataset"
|
||||
element: ".fa-eye:eq(0)"
|
||||
intro: "View your dataset by clicking the eye button."
|
||||
position: "left"
|
||||
#preclick:
|
||||
# - ".fa-eye:eq(0)"
|
||||
|
||||
- title: "Rename dataset"
|
||||
element: ".fa-pencil:eq(0)"
|
||||
intro: "Rename your dataset by clicking the pencil button."
|
||||
position: "left"
|
||||
#preclick:
|
||||
# - ".fa-pencil:eq(0)"
|
||||
|
||||
- title: "Remove dataset"
|
||||
element: ".fa-times:eq(0)"
|
||||
intro: "Delete your dataset by clicking the x-button."
|
||||
position: "left"
|
||||
#postclick:
|
||||
# - ".fa-times:eq(0)"
|
||||
|
||||
- title: "Dataset information"
|
||||
element: "div.title-bar.clear:eq(0)"
|
||||
intro: "Clicking on your dataset provides you with more information regarding your dataset (e.g. filetype or size)."
|
||||
position: "left"
|
||||
preclick:
|
||||
- "div.title-bar.clear:eq(0)"
|
||||
|
||||
- title: "Re-run tool"
|
||||
element: ".fa-refresh:eq(1)"
|
||||
intro: "By clicking the reload button, you can re-run your tool again (e.g. with different parameters or on another dataset)."
|
||||
position: "left"
|
||||
preclick:
|
||||
- ".fa-refresh:eq(1)"
|
||||
|
||||
|
||||
- title: "Panel collaps"
|
||||
element: "#left > div.unified-panel-footer > div.panel-collapse.left"
|
||||
intro: "To extend the view for your main Galaxy page in the middle, you can collapse the tool panel on the left hand side. Clicking the panel arrow on the right hand side, collapses the history."
|
||||
position: "top"
|
||||
postclick:
|
||||
- "#left > div.unified-panel-footer > div.panel-collapse.left"
|
||||
|
||||
- title: 'Top panel'
|
||||
element: "#masthead"
|
||||
intro: "The top panel will give you access to a lot of useful things."
|
||||
position: "bottom"
|
||||
- element: "#analysis"
|
||||
intro: "Start your <b>analysis</b> from here."
|
||||
|
||||
- title: 'Analyze data'
|
||||
element: "#analysis"
|
||||
intro: "This is the current view. Start your <b>analysis</b> from here."
|
||||
position: "bottom"
|
||||
- element: "#workflow"
|
||||
intro: "Manage, Import, Export and Share your <b>Workflows</b>."
|
||||
|
||||
- title: 'Workflow'
|
||||
element: "#workflow"
|
||||
intro: "Create, manage, import, export and share your <b>Workflows</b>."
|
||||
position: "bottom"
|
||||
- element: "#shared"
|
||||
intro: "Get access to all <b>Workflows, <b>Histories</b>, <b>Pages</b>, <b>Visualizations</b> and you <b>Data Library</b> that are shared with you."
|
||||
|
||||
- title: 'Shared data'
|
||||
element: "#shared"
|
||||
intro: "Get access to all <b>Workflows</b>, <b>Histories</b>, <b>Pages</b>, <b>Visualizations</b> and your <b>Data Library</b> that are shared with you."
|
||||
position: "bottom"
|
||||
- element: "#visualization"
|
||||
intro: "Want to start visualize your data in Trackster? Start here!"
|
||||
|
||||
- title: 'Visualization'
|
||||
element: "#visualization"
|
||||
intro: "Do you want to start to visualize your data in Trackster? Start here!<br>Galaxy offers a lot more visualizations!"
|
||||
position: "bottom"
|
||||
- element: "#help"
|
||||
intro: "Here you get more help from the Galaxy <b>Community</b> with Videos and a QA board."
|
||||
|
||||
- title: 'Help'
|
||||
element: "#help"
|
||||
intro: "Here you get more help from the Galaxy <b>Community</b> with Videos, a QA board and more tours."
|
||||
position: "bottom"
|
||||
- element: "#user"
|
||||
|
||||
- title: 'User Preferences'
|
||||
element: "#user"
|
||||
intro: "Login and start your analysis!"
|
||||
position: "bottom"
|
||||
|
||||
- title: 'Scratchbook'
|
||||
element: "#enable-scratchbook"
|
||||
intro: "Scratchbook offers you multiple visualizations next to each other. Have a look at our Scratchbook tour to learn more about it."
|
||||
position: "bottom"
|
||||
|
||||
- title: "Enjoy Galaxy"
|
||||
intro: "Thanks for taking this tour! Happy research with Galaxy!"
|
||||
|
||||
@@ -1,90 +1,95 @@
|
||||
name: History Introduction
|
||||
description: A detailed introduction to the <b>Galaxy History</b>
|
||||
description: A detailed introduction to the Galaxy History
|
||||
title_default: "Galaxy History Introduction"
|
||||
steps:
|
||||
- content: "This short tour will walk you through <b>Galaxy's History</b> and datasets."
|
||||
- content: "This short tour will guide you through <b>Galaxy's History</b> and datasets."
|
||||
|
||||
- element: ".upload-button"
|
||||
- title: "Upload data"
|
||||
element: ".upload-button"
|
||||
intro: |
|
||||
At first we get some data into your Galaxy and into your History.<br>
|
||||
Use this button to upload your data.
|
||||
"At first we upload some data into your Galaxy history.<br>
|
||||
Use this button to upload your data."
|
||||
position: "right"
|
||||
postclick:
|
||||
- ".upload-button"
|
||||
|
||||
- element: "button#btn-local"
|
||||
intro: "Upload data from your computer."
|
||||
- title: "Upload your data"
|
||||
element: "button#btn-local"
|
||||
intro: "You can upload data from your computer."
|
||||
position: "top"
|
||||
postclick:
|
||||
- "button#btn-new"
|
||||
|
||||
- element: "button#btn-new"
|
||||
intro: "Copy and Paste data or include URLs to data which will be fetched automatically by Galaxy."
|
||||
- title: "Upload your data"
|
||||
element: "button#btn-new"
|
||||
intro: "Copy and paste data directly into Galaxy or include URLs that lead to your data."
|
||||
position: "top"
|
||||
|
||||
- element: "textarea#text-content"
|
||||
intro: "We insert some URLs to get example data in Galaxy."
|
||||
- title: "Insert URLs"
|
||||
element: "textarea#text-content"
|
||||
intro: "URLs separated by a line break are automatically downloaded by Galaxy."
|
||||
position: "bottom"
|
||||
textinsert: |
|
||||
file://home/bag/Bilder/Python-Programming-in-Galaxy.png
|
||||
file://home/bag/Downloads/a.tab
|
||||
https://wiki.galaxyproject.org/Images/GalaxyLogo?action=AttachFile&do=get&target=galaxy_project_logo.jpg
|
||||
https://raw.githubusercontent.com/bgruening/galaxytools/adf077b912ddebd97b07b947b855cdd2862ed8ef/tools/statistics/test-data/anderson.tabular
|
||||
|
||||
- element: "button#btn-start"
|
||||
- title: "Upload your data"
|
||||
element: "button#btn-start"
|
||||
intro: "Upload the data into your Galaxy <b>History</b>."
|
||||
position: "bottom"
|
||||
position: "top"
|
||||
postclick:
|
||||
- "button#btn-start"
|
||||
- "button#btn-close"
|
||||
|
||||
- element: "#right"
|
||||
intro: "This is your history! All anylysis steps will be recorded and can be redone at any time."
|
||||
- title: "History"
|
||||
element: "#right"
|
||||
intro: "This is your history! All analysis steps will be recorded and can be redone at any time."
|
||||
position: "left"
|
||||
|
||||
- element: "#dataset-2d9035b3fc152403"
|
||||
- title: "Dataset information"
|
||||
element: "div.title-bar.clear:eq(0)"
|
||||
intro: "This is one of your uploaded datasets. You can get more informations and options like different visualizations by clicking on it."
|
||||
position: "left"
|
||||
postclick:
|
||||
- "#dataset-2d9035b3fc152403 > div.title-bar.clear > div > span.name"
|
||||
- "div.title-bar.clear:eq(0)"
|
||||
|
||||
- element: "#dataset-2d9035b3fc152403 > div.details > div.summary > div.datatype > label"
|
||||
title: "Metadata"
|
||||
intro: "Galaxy has assigned a datatype too your dataset during upload, which you can see here."
|
||||
- title: "Metadata"
|
||||
element: "#current-history-panel > div.list-items > div:nth-child(1) > div.details > div.summary > div.datatype > label"
|
||||
intro: "Galaxy has assigned a datatype to your dataset during upload, which you can see here."
|
||||
position: "left"
|
||||
|
||||
- element: "#dataset-2d9035b3fc152403 > div.details > div.actions.clear > div.left > a.download-btn.icon-btn"
|
||||
- element: "#current-history-panel > div.list-items > div:nth-child(1) > div.details > div.actions.clear > div.left > a.download-btn.icon-btn"
|
||||
title: "Download your dataset"
|
||||
intro: "You can download every dataset by using the floppy disc symbol."
|
||||
position: "left"
|
||||
|
||||
- element: "#dataset-2d9035b3fc152403 > div.details > div.actions.clear > div.left > a.icon-btn.params-btn"
|
||||
- element: "#current-history-panel > div.list-items > div:nth-child(1) > div.details > div.actions.clear > div.left > a.icon-btn.params-btn"
|
||||
title: "Even more information"
|
||||
intro: "Get an overview of all metadata associated with your dataset by using the Information symbol."
|
||||
position: "left"
|
||||
preclick:
|
||||
- "#dataset-2d9035b3fc152403 > div.details > div.actions.clear > div.left > a.icon-btn.params-btn"
|
||||
- "#current-history-panel > div.list-items > div:nth-child(1) > div.details > div.actions.clear > div.left > a.icon-btn.params-btn"
|
||||
|
||||
|
||||
|
||||
- element: "#dataset-2d9035b3fc152403 > div.primary-actions > a.icon-btn.display-btn"
|
||||
- element: "#current-history-panel > div.list-items > div:nth-child(1) > div.primary-actions > a.icon-btn.display-btn"
|
||||
title: "Inspect your data"
|
||||
intro: "The eye symbol can be used to look at your data."
|
||||
position: "left"
|
||||
preclick:
|
||||
- "#dataset-2d9035b3fc152403 > div.primary-actions > a.icon-btn.display-btn"
|
||||
- "#current-history-panel > div.list-items > div:nth-child(1) > div.primary-actions > a.icon-btn.display-btn"
|
||||
|
||||
- element: "#dataset-2d9035b3fc152403 > div.primary-actions > a.icon-btn.edit-btn"
|
||||
- element: "#current-history-panel > div.list-items > div:nth-child(1) > div.primary-actions > a.icon-btn.edit-btn"
|
||||
title: "Edit metadata"
|
||||
intro: "With the pencil button you can edit metadata attributes of your dataset, like the associated filetype or the dataset name."
|
||||
position: "left"
|
||||
preclick:
|
||||
- "#dataset-2d9035b3fc152403 > div.primary-actions > a.icon-btn.edit-btn"
|
||||
- "#current-history-panel > div.list-items > div:nth-child(1) > div.primary-actions > a.icon-btn.edit-btn"
|
||||
|
||||
- element: "#dataset-2d9035b3fc152403 > div.primary-actions > a.icon-btn.delete-btn"
|
||||
- element: "#current-history-panel > div.list-items > div:nth-child(1) > div.primary-actions > a.icon-btn.delete-btn"
|
||||
title: "Remove datasets"
|
||||
intro: "You can remove a dataset from the history with the cross symbol."
|
||||
position: "left"
|
||||
postclick:
|
||||
- "#dataset-2d9035b3fc152403 > div.primary-actions > a.icon-btn.delete-btn"
|
||||
- "#current-history-panel > div.list-items > div:nth-child(1) > div.primary-actions > a.icon-btn.delete-btn"
|
||||
|
||||
- element: "#current-history-panel > div.controls > div.subtitle > a"
|
||||
title: "Include all deleted datasets"
|
||||
@@ -93,14 +98,14 @@ steps:
|
||||
postclick:
|
||||
- "#current-history-panel > div.controls > div.subtitle > a"
|
||||
|
||||
- element: "#dataset-2d9035b3fc152403 > div.warnings > div > a"
|
||||
- element: "#current-history-panel > div.list-items > div:nth-child(1) > div.warnings > div > a"
|
||||
title: "Undeleting a dataset"
|
||||
intro: |
|
||||
"Galaxy datasets are only marked as deleled and can be recovered by exeecuting this link.
|
||||
Please note that datasets marked as deleted can be purged by your administrator at any time. :beer: "
|
||||
Galaxy datasets are only marked as deleled and can be recovered by clicking this link.
|
||||
Please note that datasets marked as deleted can be purged by your administrator at any time.
|
||||
position: "bottom"
|
||||
postclick:
|
||||
- "#dataset-2d9035b3fc152403 > div.warnings > div > a"
|
||||
- "#current-history-panel > div.list-items > div:nth-child(1) > div.warnings > div > a"
|
||||
|
||||
- element: "#current-history-panel > div.controls > div.subtitle > a"
|
||||
title: "Hiding all deleted datasets"
|
||||
@@ -111,7 +116,7 @@ steps:
|
||||
|
||||
- element: "#current-history-panel > div.controls > div.title > div"
|
||||
title: "Change your History name"
|
||||
intro: "You can change the history name clicking on the title"
|
||||
intro: "You can change the history name clicking on the title."
|
||||
position: "bottom"
|
||||
preclick:
|
||||
- "#current-history-panel > div.controls > div.title > div"
|
||||
@@ -122,11 +127,11 @@ steps:
|
||||
position: "left"
|
||||
textinsert: "WWFSMD"
|
||||
preclick:
|
||||
- "#current-history-panel > div.controls > div.search > div > input"
|
||||
- "#current-history-panel > div.controls > div.search > div > input"
|
||||
|
||||
- element: "#history-options-button"
|
||||
title: "History Options"
|
||||
intro: "In the History menue you will find a lot more usful History options."
|
||||
intro: "In the History menu you will find a lot more useful History options."
|
||||
position: "left"
|
||||
postclick:
|
||||
- "#history-options-button"
|
||||
|
||||
@@ -258,7 +258,9 @@ class Configuration( object ):
|
||||
self.log_events = string_as_bool( kwargs.get( 'log_events', 'False' ) )
|
||||
self.sanitize_all_html = string_as_bool( kwargs.get( 'sanitize_all_html', True ) )
|
||||
self.sanitize_whitelist_file = resolve_path( kwargs.get( 'sanitize_whitelist_file', "config/sanitize_whitelist.txt" ), self.root )
|
||||
self.reload_sanitize_whitelist()
|
||||
self.sanitize_whitelist = []
|
||||
if kwargs.get('sanitize_whitelist_file', None) is not None:
|
||||
self.reload_sanitize_whitelist()
|
||||
self.serve_xss_vulnerable_mimetypes = string_as_bool( kwargs.get( 'serve_xss_vulnerable_mimetypes', False ) )
|
||||
self.trust_ipython_notebook_conversion = string_as_bool( kwargs.get( 'trust_ipython_notebook_conversion', False ) )
|
||||
self.enable_old_display_applications = string_as_bool( kwargs.get( "enable_old_display_applications", "True" ) )
|
||||
@@ -480,7 +482,7 @@ class Configuration( object ):
|
||||
if not line.startswith("#"):
|
||||
self.sanitize_whitelist.append(line.strip())
|
||||
except IOError:
|
||||
log.warning("Sanitize log file %s does not exist, continuing with no tools whitelisted.")
|
||||
log.warning("Sanitize log file %s does not exist, continuing with no tools whitelisted.", self.sanitize_whitelist_file)
|
||||
|
||||
def __parse_config_file_options( self, kwargs ):
|
||||
"""
|
||||
|
||||
@@ -18,7 +18,6 @@ from cgi import FieldStorage
|
||||
from xml.etree import ElementTree
|
||||
from mako.template import Template
|
||||
from paste import httpexceptions
|
||||
from sqlalchemy import and_
|
||||
|
||||
from galaxy import model
|
||||
from galaxy.managers import histories
|
||||
@@ -194,14 +193,13 @@ class ToolBox( BaseGalaxyToolBox ):
|
||||
# Abstract toolbox doesn't have a dependency on the the database, so
|
||||
# override _get_tool_shed_repository here to provide this information.
|
||||
|
||||
# We store only the port, if one exists, in the database.
|
||||
tool_shed = common_util.remove_protocol_from_tool_shed_url( tool_shed )
|
||||
return self.app.install_model.context.query( self.app.install_model.ToolShedRepository ) \
|
||||
.filter( and_( self.app.install_model.ToolShedRepository.table.c.tool_shed == tool_shed,
|
||||
self.app.install_model.ToolShedRepository.table.c.name == name,
|
||||
self.app.install_model.ToolShedRepository.table.c.owner == owner,
|
||||
self.app.install_model.ToolShedRepository.table.c.installed_changeset_revision == installed_changeset_revision ) ) \
|
||||
.first()
|
||||
return suc.get_installed_repository(
|
||||
self.app,
|
||||
tool_shed=tool_shed,
|
||||
name=name,
|
||||
owner=owner,
|
||||
installed_changeset_revision=installed_changeset_revision
|
||||
)
|
||||
|
||||
def __build_tool_version_select_field( self, tools, tool_id, set_selected ):
|
||||
"""Build a SelectField whose options are the ids for the received list of tools."""
|
||||
@@ -1675,7 +1673,7 @@ class Tool( object, Dictifiable ):
|
||||
if isinstance( input, Conditional ):
|
||||
cond_messages = {}
|
||||
if not input.is_job_resource_conditional:
|
||||
cond_messages = { input.test_param.name: "No value found for '%s%s', using default" % ( prefix, input.label ) }
|
||||
cond_messages = { input.test_param.name: "No value found for '%s%s', using default" % ( prefix, input.test_param.label ) }
|
||||
messages[ input.name ] = cond_messages
|
||||
test_value = input.test_param.get_initial_value( trans, context )
|
||||
current_case = input.get_current_case( test_value, trans )
|
||||
@@ -1689,6 +1687,7 @@ class Tool( object, Dictifiable ):
|
||||
messages[ input.name ].append( rep_dict )
|
||||
self.check_and_update_param_values_helper( input.inputs, {}, trans, rep_dict, context, rep_prefix, allow_workflow_parameters=allow_workflow_parameters )
|
||||
elif isinstance( input, Section ):
|
||||
messages[ input.name ] = {}
|
||||
self.check_and_update_param_values_helper( input.inputs, {}, trans, messages[ input.name ], context, prefix, allow_workflow_parameters=allow_workflow_parameters )
|
||||
else:
|
||||
messages[ input.name ] = "No value found for '%s%s', using default" % ( prefix, input.label )
|
||||
@@ -1718,7 +1717,8 @@ class Tool( object, Dictifiable ):
|
||||
current = group_values["__current_case__"]
|
||||
self.check_and_update_param_values_helper( input.cases[current].inputs, group_values, trans, messages, context, prefix, allow_workflow_parameters=allow_workflow_parameters )
|
||||
elif isinstance( input, Section ):
|
||||
self.check_and_update_param_values_helper( input.inputs, values[ input.name ], trans, messages, context, prefix, allow_workflow_parameters=allow_workflow_parameters )
|
||||
messages[ input.name ] = {}
|
||||
self.check_and_update_param_values_helper( input.inputs, values[ input.name ], trans, messages[ input.name ], context, prefix, allow_workflow_parameters=allow_workflow_parameters )
|
||||
else:
|
||||
# Regular tool parameter, no recursion needed
|
||||
try:
|
||||
|
||||
@@ -273,7 +273,7 @@ class DefaultToolAction( object ):
|
||||
child_dataset_names = set()
|
||||
object_store_populator = ObjectStorePopulator( app )
|
||||
|
||||
def handle_output( name, output ):
|
||||
def handle_output( name, output, hidden=None ):
|
||||
if output.parent:
|
||||
parent_to_child_pairs.append( ( output.parent, name ) )
|
||||
child_dataset_names.add( name )
|
||||
@@ -295,7 +295,9 @@ class DefaultToolAction( object ):
|
||||
input_ext
|
||||
)
|
||||
data = app.model.HistoryDatasetAssociation( extension=ext, create_dataset=True, flush=False )
|
||||
if output.hidden:
|
||||
if hidden is None:
|
||||
hidden = output.hidden
|
||||
if hidden:
|
||||
data.visible = False
|
||||
trans.sa_session.add( data )
|
||||
trans.app.security_agent.set_all_dataset_permissions( data.dataset, output_permissions, new=True )
|
||||
@@ -371,7 +373,10 @@ class DefaultToolAction( object ):
|
||||
current_element_identifiers = current_element_identifiers[ index ][ "element_identifiers" ]
|
||||
|
||||
effective_output_name = output_part_def.effective_output_name
|
||||
element = handle_output( effective_output_name, output_part_def.output_def )
|
||||
element = handle_output( effective_output_name, output_part_def.output_def, hidden=True )
|
||||
# TODO: this shouldn't exist in the top-level of the history at all
|
||||
# but for now we are still working around that by hiding the contents
|
||||
# there.
|
||||
# Following hack causes dataset to no be added to history...
|
||||
child_dataset_names.add( effective_output_name )
|
||||
|
||||
|
||||
@@ -2212,14 +2212,15 @@ class DataToolParameter( BaseDataToolParameter ):
|
||||
return d
|
||||
|
||||
# add datasets
|
||||
visible_hda = other_values.get( self.name )
|
||||
for hda in history.active_datasets_children_and_roles:
|
||||
match = dataset_matcher.hda_match( hda )
|
||||
match = dataset_matcher.hda_match( hda, ensure_visible=visible_hda != hda )
|
||||
if match:
|
||||
m = match.hda
|
||||
d['options']['hda'].append({
|
||||
'id' : trans.security.encode_id( m.id ),
|
||||
'hid' : m.hid,
|
||||
'name' : m.name,
|
||||
'name' : m.name if m.visible else '(hidden) %s' % m.name,
|
||||
'src' : 'hda'
|
||||
})
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ from galaxy.util import string_as_bool
|
||||
from galaxy.util.bunch import Bunch
|
||||
|
||||
from .parser import get_toolbox_parser, ensure_tool_conf_item
|
||||
|
||||
from .panel import ToolPanelElements
|
||||
from .panel import ToolSectionLabel
|
||||
from .panel import ToolSection
|
||||
@@ -556,11 +557,24 @@ class AbstractToolBox( Dictifiable, ManagesIntegratedToolPanelMixin, object ):
|
||||
# Backward compatibility issue - the tag used to be named 'changeset_revision'.
|
||||
installed_changeset_revision_elem = item.elem.find( "changeset_revision" )
|
||||
installed_changeset_revision = installed_changeset_revision_elem.text
|
||||
try:
|
||||
splitted_path = path.split('/')
|
||||
assert splitted_path[0] == tool_shed
|
||||
assert splitted_path[2] == repository_owner
|
||||
assert splitted_path[3] == repository_name
|
||||
if splitted_path[4] != installed_changeset_revision:
|
||||
# This can happen if the Tool Shed repository has been
|
||||
# updated to a new revision and the installed_changeset_revision
|
||||
# element in shed_tool_conf.xml file has been updated too
|
||||
log.debug("The installed_changeset_revision for tool %s is %s, using %s instead", path, installed_changeset_revision, splitted_path[4])
|
||||
installed_changeset_revision = splitted_path[4]
|
||||
except Exception as e:
|
||||
log.debug("Error while loading tool %s : %s", path, e)
|
||||
pass
|
||||
tool_shed_repository = self._get_tool_shed_repository( tool_shed,
|
||||
repository_name,
|
||||
repository_owner,
|
||||
installed_changeset_revision )
|
||||
|
||||
if tool_shed_repository:
|
||||
# Only load tools if the repository is not deactivated or uninstalled.
|
||||
can_load_into_panel_dict = not tool_shed_repository.deleted
|
||||
|
||||
@@ -9,8 +9,9 @@ try:
|
||||
from watchdog.observers.polling import PollingObserver
|
||||
can_watch = True
|
||||
except ImportError:
|
||||
Observer = None
|
||||
FileSystemEventHandler = object
|
||||
PollingObserver = object
|
||||
PollingObserver = None
|
||||
can_watch = False
|
||||
|
||||
log = logging.getLogger( __name__ )
|
||||
|
||||
@@ -413,7 +413,7 @@ class LibraryDatasetsController( BaseAPIController, UsesVisualizationMixin ):
|
||||
|
||||
:param encoded_folder_id: the encoded id of the folder to import dataset(s) to
|
||||
:type encoded_folder_id: an encoded id string
|
||||
:param source: source the datasets should be loaded form
|
||||
:param source: source the datasets should be loaded from
|
||||
:type source: str
|
||||
:param link_data: flag whether to link the dataset to data or copy it to Galaxy, defaults to copy
|
||||
while linking is set to True all symlinks will be resolved _once_
|
||||
@@ -434,7 +434,7 @@ class LibraryDatasetsController( BaseAPIController, UsesVisualizationMixin ):
|
||||
kwd[ 'to_posix_lines' ] = 'True'
|
||||
kwd[ 'dbkey' ] = kwd.get( 'dbkey', '?' )
|
||||
kwd[ 'file_type' ] = kwd.get( 'file_type', 'auto' )
|
||||
kwd[' link_data_only' ] = 'link_to_files' if util.string_as_bool( kwd.get( 'link_data', False ) ) else 'copy_files'
|
||||
kwd['link_data_only'] = 'link_to_files' if util.string_as_bool( kwd.get( 'link_data', False ) ) else 'copy_files'
|
||||
encoded_folder_id = kwd.get( 'encoded_folder_id', None )
|
||||
if encoded_folder_id is not None:
|
||||
folder_id = self.folder_manager.cut_and_decode( trans, encoded_folder_id )
|
||||
|
||||
@@ -42,6 +42,8 @@ class RemoteFilesAPIController( BaseAPIController ):
|
||||
if user_base_dir is None:
|
||||
raise exceptions.ConfigDoesNotAllowException( 'The configuration of this Galaxy instance does not allow upload from user directories.' )
|
||||
full_import_dir = os.path.join( user_base_dir, user_login )
|
||||
if not os.path.exists(full_import_dir):
|
||||
raise exceptions.ObjectNotFound('You do not have any files in your user directory. Use FTP to upload there.')
|
||||
if full_import_dir is not None:
|
||||
if format == 'jstree':
|
||||
disable = kwd.get( 'disable', 'folders')
|
||||
@@ -51,6 +53,8 @@ class RemoteFilesAPIController( BaseAPIController ):
|
||||
except Exception, exception:
|
||||
log.debug( str( exception ) )
|
||||
raise exceptions.InternalServerError( 'Could not create tree representation of the given folder: ' + str( full_import_dir ) )
|
||||
if not response:
|
||||
raise exceptions.ObjectNotFound('You do not have any files in your user directory. Use FTP to upload there.')
|
||||
elif format == 'ajax':
|
||||
raise exceptions.NotImplemented( 'Not implemented yet. Sorry.' )
|
||||
else:
|
||||
|
||||
@@ -14,7 +14,8 @@ from galaxy.tools.parameters.basic import (
|
||||
from galaxy.tools.parser import ToolOutputCollectionPart
|
||||
from galaxy.tools.parameters.grouping import (
|
||||
Conditional,
|
||||
Repeat
|
||||
Repeat,
|
||||
Section
|
||||
)
|
||||
from .steps import (
|
||||
attach_ordered_steps,
|
||||
@@ -341,10 +342,11 @@ def __cleanup_param_values( inputs, values ):
|
||||
if k.startswith( key ):
|
||||
del root_values[k]
|
||||
elif isinstance( input, Repeat ):
|
||||
group_values = values[key]
|
||||
for i, rep_values in enumerate( group_values ):
|
||||
rep_index = rep_values['__index__']
|
||||
cleanup( "%s%s_%d|" % (prefix, key, rep_index ), input.inputs, group_values[i] )
|
||||
if key in values:
|
||||
group_values = values[key]
|
||||
for i, rep_values in enumerate( group_values ):
|
||||
rep_index = rep_values['__index__']
|
||||
cleanup( "%s%s_%d|" % (prefix, key, rep_index ), input.inputs, group_values[i] )
|
||||
elif isinstance( input, Conditional ):
|
||||
# Scrub dynamic resource related parameters from workflows,
|
||||
# they cause problems and the workflow probably should include
|
||||
@@ -353,9 +355,13 @@ def __cleanup_param_values( inputs, values ):
|
||||
if input.name in values:
|
||||
del values[input.name]
|
||||
return
|
||||
group_values = values[input.name]
|
||||
current_case = group_values['__current_case__']
|
||||
cleanup( "%s%s|" % ( prefix, key ), input.cases[current_case].inputs, group_values )
|
||||
if input.name in values:
|
||||
group_values = values[input.name]
|
||||
current_case = group_values['__current_case__']
|
||||
cleanup( "%s%s|" % ( prefix, key ), input.cases[current_case].inputs, group_values )
|
||||
elif isinstance( input, Section ):
|
||||
if input.name in values:
|
||||
cleanup( "%s%s|" % ( prefix, key ), input.inputs, values[input.name] )
|
||||
cleanup( "", inputs, values )
|
||||
return associations
|
||||
|
||||
|
||||
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
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
@@ -25,13 +25,7 @@ ${get_css()}
|
||||
<table id="formHeader">
|
||||
<tr>
|
||||
<td>
|
||||
${
|
||||
get_pages( sort_id, order,
|
||||
page_specs,
|
||||
'jobs',
|
||||
'errors_per_tool',
|
||||
spark_time=time_period )
|
||||
}
|
||||
${get_pages(sort_id, order, page_specs, 'jobs', 'errors_per_tool', spark_time=time_period)}
|
||||
</td>
|
||||
<td>
|
||||
<h4 align="center">Jobs In Error Per Tool</h4>
|
||||
@@ -41,30 +35,12 @@ ${get_css()}
|
||||
Click error number to view job details.
|
||||
</p>
|
||||
|
||||
Graph goes from present to past for
|
||||
${
|
||||
make_spark_settings(
|
||||
"jobs",
|
||||
"errors_per_tool",
|
||||
spark_limit,
|
||||
sort_id,
|
||||
order,
|
||||
time_period,
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
Graph goes from present to past for
|
||||
${make_spark_settings("jobs", "errors_per_tool", spark_limit, sort_id, order, time_period, page=page, offset=offset, entries=entries)}
|
||||
</h5>
|
||||
</td>
|
||||
<td align="right">
|
||||
${
|
||||
get_entry_selector(
|
||||
"jobs",
|
||||
"errors_per_tool",
|
||||
page_specs.entries,
|
||||
sort_id,
|
||||
order)
|
||||
}
|
||||
${get_entry_selector("jobs", "errors_per_tool", page_specs.entries, sort_id, order)}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -78,59 +54,23 @@ ${get_css()}
|
||||
%else:
|
||||
<tr class="header">
|
||||
<td class="half_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'tool_id',
|
||||
'jobs',
|
||||
'errors_per_tool',
|
||||
'Tool ID',
|
||||
spark_time=time_period,
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'tool_id', 'jobs', 'errors_per_tool', 'Tool ID', spark_time=time_period, page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow tool_id'>${arrow}</span>
|
||||
</td>
|
||||
%if is_user_jobs_only:
|
||||
<td class="third_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'total_jobs',
|
||||
'jobs',
|
||||
'errors_per_tool',
|
||||
'User Jobs in Error',
|
||||
spark_time=time_period,
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'total_jobs', 'jobs', 'errors_per_tool', 'User Jobs in Error', spark_time=time_period, page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow total_jobs'>${arrow}</span>
|
||||
</td>
|
||||
%else:
|
||||
<td class="third_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'total_jobs',
|
||||
'jobs',
|
||||
'errors_per_tool',
|
||||
'User and Monitor Jobs in Error',
|
||||
spark_time=time_period,
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'total_jobs', 'jobs', 'errors_per_tool', 'User and Monitor Jobs in Error', spark_time=time_period, page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow total_jobs'>${arrow}</span>
|
||||
</td>
|
||||
%endif
|
||||
<td></td>
|
||||
</tr>
|
||||
<%
|
||||
<%
|
||||
ctr = 0
|
||||
entries = 1
|
||||
%>
|
||||
@@ -158,18 +98,12 @@ ${get_css()}
|
||||
</a>
|
||||
</td>
|
||||
%try:
|
||||
${
|
||||
make_sparkline(
|
||||
key,
|
||||
trends[key],
|
||||
"bar",
|
||||
"/ " + time_period[:-1])
|
||||
}
|
||||
${make_sparkline(key, trends[key], "bar", "/ " + time_period[:-1])}
|
||||
%except KeyError:
|
||||
%endtry
|
||||
<td id="${key}"></td>
|
||||
</tr>
|
||||
<%
|
||||
<%
|
||||
ctr += 1
|
||||
entries += 1
|
||||
%>
|
||||
@@ -178,4 +112,4 @@ ${get_css()}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<!--End jobs_errors_per_tool.mako-->
|
||||
<!--End jobs_errors_per_tool.mako-->
|
||||
|
||||
@@ -22,14 +22,7 @@ ${get_css()}
|
||||
<table id="formHeader">
|
||||
<tr>
|
||||
<td>
|
||||
${
|
||||
get_pages(
|
||||
sort_id,
|
||||
order,
|
||||
page_specs,
|
||||
'jobs',
|
||||
'per_month_all')
|
||||
}
|
||||
${get_pages(sort_id, order, page_specs, 'jobs', 'per_month_all')}
|
||||
</td>
|
||||
<td>
|
||||
<h4 align="center">Jobs Per Month</h4>
|
||||
@@ -39,68 +32,28 @@ ${get_css()}
|
||||
</h5>
|
||||
</td>
|
||||
<td align="right">
|
||||
${
|
||||
get_entry_selector(
|
||||
"jobs",
|
||||
"per_month_all",
|
||||
page_specs.entries,
|
||||
sort_id,
|
||||
order)
|
||||
}
|
||||
${get_entry_selector("jobs", "per_month_all", page_specs.entries, sort_id, order)}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<table align="center" width="60%" class="colored">
|
||||
%if len( jobs ) == 0:
|
||||
<tr><td colspan="4">There are no jobs.</td></tr>
|
||||
%else:
|
||||
<tr class="header">
|
||||
<td class="third_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'date',
|
||||
'jobs',
|
||||
'per_month_all',
|
||||
'Month',
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'date', 'jobs', 'per_month_all', 'Month', page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow date'>${arrow}</span>
|
||||
</td>
|
||||
%if is_user_jobs_only:
|
||||
<td class="third_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'total_jobs',
|
||||
'jobs',
|
||||
'per_month_all',
|
||||
'User Jobs',
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'total_jobs', 'jobs', 'per_month_all', 'User Jobs', page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow total_jobs'>${arrow}</span>
|
||||
</td>
|
||||
%else:
|
||||
<td class="third_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'total_jobs',
|
||||
'jobs',
|
||||
'per_month_all',
|
||||
'User and Monitor Jobs',
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'total_jobs', 'jobs', 'per_month_all', 'User and Monitor Jobs', page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow total_jobs'>${arrow}</span>
|
||||
</td>
|
||||
%endif
|
||||
@@ -129,16 +82,10 @@ ${get_css()}
|
||||
</a>
|
||||
</td>
|
||||
<td>${job[1]}</td>
|
||||
${
|
||||
make_sparkline(
|
||||
key,
|
||||
trends[key],
|
||||
"bar",
|
||||
"/ day")
|
||||
}
|
||||
${make_sparkline(key, trends[key], "bar", "/ day")}
|
||||
<td id="${key}"></td>
|
||||
</tr>
|
||||
<%
|
||||
<%
|
||||
ctr += 1
|
||||
entries += 1
|
||||
%>
|
||||
|
||||
@@ -22,28 +22,14 @@ ${get_css()}
|
||||
<table id="formHeader">
|
||||
<tr>
|
||||
<td>
|
||||
${
|
||||
get_pages(
|
||||
sort_id,
|
||||
order,
|
||||
page_specs,
|
||||
'jobs',
|
||||
'per_month_in_error')
|
||||
}
|
||||
${get_pages(sort_id, order, page_specs, 'jobs', 'per_month_in_error')}
|
||||
</td>
|
||||
<td>
|
||||
<h4 align="center">Jobs In Error Per Month</h4>
|
||||
<h5 align="center">Click Month to view details.</h5>
|
||||
</td>
|
||||
<td align="right">
|
||||
${
|
||||
get_entry_selector(
|
||||
"jobs",
|
||||
"per_month_in_error",
|
||||
page_specs.entries,
|
||||
sort_id,
|
||||
order)
|
||||
}
|
||||
${get_entry_selector("jobs", "per_month_in_error", page_specs.entries, sort_id, order)}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -57,56 +43,23 @@ ${get_css()}
|
||||
%else:
|
||||
<tr class="header">
|
||||
<td class="third_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'date',
|
||||
'jobs',
|
||||
'per_month_in_error',
|
||||
'Month',
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'date', 'jobs', 'per_month_in_error', 'Month', page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow date'>${arrow}</span>
|
||||
</td>
|
||||
%if is_user_jobs_only:
|
||||
<td class="third_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'total_jobs',
|
||||
'jobs',
|
||||
'per_month_in_error',
|
||||
'User Jobs',
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url( sort_id, order, 'total_jobs', 'jobs', 'per_month_in_error', 'User Jobs', page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow total_jobs'>${arrow}</span>
|
||||
</td>
|
||||
%else:
|
||||
<td class="third_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'total_jobs',
|
||||
'jobs',
|
||||
'per_month_in_error',
|
||||
'User and Monitor Jobs',
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'total_jobs', 'jobs', 'per_month_in_error', 'User and Monitor Jobs', page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow total_jobs'>${arrow}</span>
|
||||
</td>
|
||||
%endif
|
||||
<td></td>
|
||||
</tr>
|
||||
<%
|
||||
<%
|
||||
ctr = 0
|
||||
entries = 1
|
||||
%>
|
||||
@@ -125,16 +78,10 @@ ${get_css()}
|
||||
|
||||
<td><a href="${h.url_for( controller='jobs', action='specified_month_in_error', specified_date=job[0]+'-01', sort_id='default', order='default' )}">${job[2]} ${job[3]}</a></td>
|
||||
<td>${job[1]}</td>
|
||||
${
|
||||
make_sparkline(
|
||||
key,
|
||||
trends[key],
|
||||
"bar",
|
||||
"/ day")
|
||||
}
|
||||
${make_sparkline(key, trends[key], "bar", "/ day")}
|
||||
<td id="${key}"></td>
|
||||
</tr>
|
||||
<%
|
||||
<%
|
||||
ctr += 1
|
||||
entries += 1
|
||||
%>
|
||||
|
||||
@@ -25,44 +25,18 @@ ${get_css()}
|
||||
<table id="formHeader">
|
||||
<tr>
|
||||
<td>
|
||||
${
|
||||
get_pages(
|
||||
sort_id,
|
||||
order,
|
||||
page_specs,
|
||||
'jobs',
|
||||
'per_tool',
|
||||
spark_time=time_period)
|
||||
}
|
||||
${get_pages(sort_id, order, page_specs, 'jobs', 'per_tool', spark_time=time_period)}
|
||||
</td>
|
||||
<td>
|
||||
<h4 align="center">Jobs Per Tool</h4>
|
||||
<h5 align="center">
|
||||
Click Tool ID to view details.
|
||||
Graph goes from present to past
|
||||
${
|
||||
make_spark_settings(
|
||||
"jobs",
|
||||
"per_tool",
|
||||
spark_limit,
|
||||
sort_id,
|
||||
order,
|
||||
time_period,
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
Click Tool ID to view details.
|
||||
Graph goes from present to past
|
||||
${make_spark_settings("jobs", "per_tool", spark_limit, sort_id, order, time_period, page=page, offset=offset, entries=entries)}
|
||||
</h5>
|
||||
</td>
|
||||
<td align="right">
|
||||
${
|
||||
get_entry_selector(
|
||||
"jobs",
|
||||
"per_tool",
|
||||
page_specs.entries,
|
||||
sort_id,
|
||||
order)
|
||||
}
|
||||
${get_entry_selector("jobs", "per_tool", page_specs.entries, sort_id, order)}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -72,59 +46,23 @@ ${get_css()}
|
||||
%else:
|
||||
<tr class="header">
|
||||
<td class="half_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'tool_id',
|
||||
'jobs',
|
||||
'per_tool',
|
||||
'Tool ID',
|
||||
spark_time=time_period,
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'tool_id', 'jobs', 'per_tool', 'Tool ID', spark_time=time_period, page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow tool_id'>${arrow}</span>
|
||||
</td>
|
||||
%if is_user_jobs_only:
|
||||
<td class="third_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'total_jobs',
|
||||
'jobs',
|
||||
'per_tool',
|
||||
'User Jobs',
|
||||
spark_time=time_period,
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'total_jobs', 'jobs', 'per_tool', 'User Jobs', spark_time=time_period, page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow total_jobs'>${arrow}</span>
|
||||
</td>
|
||||
%else:
|
||||
<td class="third_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'total_jobs',
|
||||
'jobs',
|
||||
'per_tool',
|
||||
'User and Monitor Jobs',
|
||||
spark_time=time_period,
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'total_jobs', 'jobs', 'per_tool', 'User and Monitor Jobs', spark_time=time_period, page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow total_jobs'>${arrow}</span>
|
||||
</td>
|
||||
%endif
|
||||
<td></td>
|
||||
</tr>
|
||||
<%
|
||||
<%
|
||||
ctr = 0
|
||||
entries = 1
|
||||
%>
|
||||
@@ -148,18 +86,12 @@ ${get_css()}
|
||||
</td>
|
||||
<td>${job[1]}</td>
|
||||
%try:
|
||||
${
|
||||
make_sparkline(
|
||||
key,
|
||||
trends[key],
|
||||
"bar",
|
||||
"/ " + time_period[:-1])
|
||||
}
|
||||
${make_sparkline(key, trends[key], "bar", "/ " + time_period[:-1])}
|
||||
%except KeyError:
|
||||
%endtry
|
||||
<td id="${key}"></td>
|
||||
</tr>
|
||||
<%
|
||||
<%
|
||||
ctr += 1
|
||||
entries += 1
|
||||
%>
|
||||
|
||||
@@ -26,44 +26,18 @@ ${q1time}, ${q2time}, ${ttime}
|
||||
<table id="formHeader">
|
||||
<tr>
|
||||
<td>
|
||||
${
|
||||
get_pages(
|
||||
sort_id,
|
||||
order,
|
||||
page_specs,
|
||||
'jobs',
|
||||
'per_user',
|
||||
spark_time=time_period)
|
||||
}
|
||||
${get_pages(sort_id, order, page_specs, 'jobs', 'per_user', spark_time=time_period)}
|
||||
</td>
|
||||
<td>
|
||||
<h4 align="center">Jobs Per User</h4>
|
||||
<h5 align="center">
|
||||
Click User to view details.
|
||||
Graph goes from present to past
|
||||
${
|
||||
make_spark_settings(
|
||||
"jobs",
|
||||
"per_user",
|
||||
spark_limit,
|
||||
sort_id,
|
||||
order,
|
||||
time_period,
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${make_spark_settings("jobs", "per_user", spark_limit, sort_id, order, time_period, page=page, offset=offset, entries=entries)}
|
||||
</h5>
|
||||
</td>
|
||||
<td align="right">
|
||||
${
|
||||
get_entry_selector(
|
||||
"jobs",
|
||||
"per_user",
|
||||
page_specs.entries,
|
||||
sort_id,
|
||||
order)
|
||||
}
|
||||
${get_entry_selector("jobs", "per_user", page_specs.entries, sort_id, order)}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -73,40 +47,16 @@ ${q1time}, ${q2time}, ${ttime}
|
||||
%else:
|
||||
<tr class="header">
|
||||
<td class="half_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'user_email',
|
||||
'jobs',
|
||||
'per_user',
|
||||
'User',
|
||||
spark_time=time_period,
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'user_email', 'jobs', 'per_user', 'User', spark_time=time_period, page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow user_email'>${arrow}</span>
|
||||
</td>
|
||||
<td class="third_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'total_jobs',
|
||||
'jobs',
|
||||
'per_user',
|
||||
'Total Jobs',
|
||||
spark_time=time_period,
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'total_jobs', 'jobs', 'per_user', 'Total Jobs', spark_time=time_period, page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow total_jobs'>${arrow}</span>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<%
|
||||
<%
|
||||
ctr = 0
|
||||
entries = 1
|
||||
%>
|
||||
@@ -130,18 +80,12 @@ ${q1time}, ${q2time}, ${ttime}
|
||||
</td>
|
||||
<td>${job[1]}</td>
|
||||
%try:
|
||||
${
|
||||
make_sparkline(
|
||||
key,
|
||||
trends[key],
|
||||
"bar",
|
||||
"/ " + time_period[:-1])
|
||||
}
|
||||
${make_sparkline(key, trends[key], "bar", "/ " + time_period[:-1])}
|
||||
%except KeyError:
|
||||
%endtry
|
||||
<td id="${key}"></td>
|
||||
</tr>
|
||||
<%
|
||||
<%
|
||||
ctr += 1
|
||||
entries += 1
|
||||
%>
|
||||
@@ -151,4 +95,3 @@ ${q1time}, ${q2time}, ${ttime}
|
||||
</div>
|
||||
</div>
|
||||
<!--End jobs_per_user.mako-->
|
||||
|
||||
@@ -22,14 +22,7 @@ ${get_css()}
|
||||
<table id="formHeader">
|
||||
<tr>
|
||||
<td>
|
||||
${
|
||||
get_pages(
|
||||
sort_id,
|
||||
order,
|
||||
page_specs,
|
||||
'jobs',
|
||||
'specified_month_all')
|
||||
}
|
||||
${get_pages(sort_id, order, page_specs, 'jobs', 'specified_month_all')}
|
||||
</td>
|
||||
<td>
|
||||
<h4 align="center">
|
||||
@@ -43,14 +36,7 @@ ${get_css()}
|
||||
</h5>
|
||||
</td>
|
||||
<td align="right">
|
||||
${
|
||||
get_entry_selector(
|
||||
"jobs",
|
||||
"specified_month_all",
|
||||
page_specs.entries,
|
||||
sort_id,
|
||||
order)
|
||||
}
|
||||
${get_entry_selector("jobs", "specified_month_all", page_specs.entries, sort_id, order)}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -65,56 +51,23 @@ ${get_css()}
|
||||
<tr class="header">
|
||||
<td class="quarter_width">Day</td>
|
||||
<td class="quarter_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'date',
|
||||
'jobs',
|
||||
'specified_month_all',
|
||||
'Date',
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'date', 'jobs', 'specified_month_all', 'Date', page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow date'>${arrow}</span>
|
||||
</td>
|
||||
%if is_user_jobs_only:
|
||||
<td class="quarter_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'total_jobs',
|
||||
'jobs',
|
||||
'specified_month_all',
|
||||
'User Jobs',
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'total_jobs', 'jobs', 'specified_month_all', 'User Jobs', page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow total_jobs'>${arrow}</span>
|
||||
</td>
|
||||
%else:
|
||||
<td class="quarter_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'total_jobs',
|
||||
'jobs',
|
||||
'specified_month_all',
|
||||
'User and Monitor Jobs',
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'total_jobs', 'jobs', 'specified_month_all', 'User and Monitor Jobs', page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow total_jobs'>${arrow}</span>
|
||||
</td>
|
||||
%endif
|
||||
<td></td>
|
||||
</tr>
|
||||
<%
|
||||
<%
|
||||
ctr = 0
|
||||
entries = 1
|
||||
%>
|
||||
@@ -138,16 +91,10 @@ ${get_css()}
|
||||
${job[2]}
|
||||
</a>
|
||||
</td>
|
||||
${
|
||||
make_sparkline(
|
||||
key,
|
||||
trends[key],
|
||||
"bar",
|
||||
"/ hour")
|
||||
}
|
||||
${make_sparkline(key, trends[key], "bar", "/ hour")}
|
||||
<td id="${key}"></td>
|
||||
</tr>
|
||||
<%
|
||||
<%
|
||||
ctr += 1
|
||||
entries += 1
|
||||
%>
|
||||
|
||||
@@ -21,14 +21,7 @@ ${get_css()}
|
||||
<table id="formHeader">
|
||||
<tr>
|
||||
<td>
|
||||
${
|
||||
get_pages(
|
||||
sort_id,
|
||||
order,
|
||||
page_specs,
|
||||
'jobs',
|
||||
'specified_month_in_error')
|
||||
}
|
||||
${get_pages(sort_id, order, page_specs, 'jobs', 'specified_month_in_error')}
|
||||
</td>
|
||||
<td>
|
||||
<h4 align="center">
|
||||
@@ -39,14 +32,7 @@ ${get_css()}
|
||||
</h5>
|
||||
</td>
|
||||
<td align="right">
|
||||
${
|
||||
get_entry_selector(
|
||||
"jobs",
|
||||
"specified_month_in_error",
|
||||
page_specs.entries,
|
||||
sort_id,
|
||||
order)
|
||||
}
|
||||
${get_entry_selector("jobs", "specified_month_in_error", page_specs.entries, sort_id, order)}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -62,56 +48,23 @@ ${get_css()}
|
||||
<tr class="header">
|
||||
<td class="quarter_width">Day</td>
|
||||
<td class="quarter_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'date',
|
||||
'jobs',
|
||||
'specified_month_in_error',
|
||||
'Date',
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'date', 'jobs', 'specified_month_in_error', 'Date', page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow date'>${arrow}</span>
|
||||
</td>
|
||||
%if is_user_jobs_only:
|
||||
<td class="quarter_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'total_jobs',
|
||||
'jobs',
|
||||
'specified_month_in_error',
|
||||
'User Jobs in Error',
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'total_jobs', 'jobs', 'specified_month_in_error', 'User Jobs in Error', page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow total_jobs'>${arrow}</span>
|
||||
</td>
|
||||
%else:
|
||||
<td class="quarter_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'total_jobs',
|
||||
'jobs',
|
||||
'specified_month_in_error',
|
||||
'User and Monitor Jobs in Error',
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'total_jobs', 'jobs', 'specified_month_in_error', 'User and Monitor Jobs in Error', page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow total_jobs'>${arrow}</span>
|
||||
</td>
|
||||
%endif
|
||||
<td></td>
|
||||
</tr>
|
||||
<%
|
||||
<%
|
||||
ctr = 0
|
||||
entries = 1
|
||||
%>
|
||||
@@ -137,16 +90,10 @@ ${get_css()}
|
||||
${job[2]}
|
||||
</a>
|
||||
</td>
|
||||
${
|
||||
make_sparkline(
|
||||
key,
|
||||
trends[key],
|
||||
"bar",
|
||||
"/ hour")
|
||||
}
|
||||
${make_sparkline(key, trends[key], "bar", "/ hour")}
|
||||
<td id="${key}"></td>
|
||||
</tr>
|
||||
<%
|
||||
<%
|
||||
ctr += 1
|
||||
entries += 1
|
||||
%>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
${render_msg( message, 'done' )}
|
||||
%endif
|
||||
|
||||
${get_css()}
|
||||
${get_css()}
|
||||
|
||||
|
||||
<!--jobs_tool_per_month.mako-->
|
||||
@@ -28,44 +28,17 @@ ${get_css()}
|
||||
%else:
|
||||
<tr class="header">
|
||||
<td class="third_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'date',
|
||||
'jobs',
|
||||
'tool_per_month',
|
||||
'Month',
|
||||
tool_id=tool_id)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'date', 'jobs', 'tool_per_month', 'Month', tool_id=tool_id)}
|
||||
<span class='dir_arrow date'>${arrow}</span>
|
||||
</td>
|
||||
%if is_user_jobs_only:
|
||||
<td class="third_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'total_jobs',
|
||||
'jobs',
|
||||
'tool_per_month',
|
||||
'User Jobs',
|
||||
tool_id=tool_id)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'total_jobs', 'jobs', 'tool_per_month', 'User Jobs', tool_id=tool_id)}
|
||||
<span class='dir_arrow total_jobs'>${arrow}</span>
|
||||
</td>
|
||||
%else:
|
||||
<td class="third_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'total_jobs',
|
||||
'jobs',
|
||||
'tool_per_month',
|
||||
'User and Monitor Jobs',
|
||||
tool_id=tool_id)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'total_jobs', 'jobs', 'tool_per_month', 'User and Monitor Jobs', tool_id=tool_id)}
|
||||
<span class='dir_arrow total_jobs'>${arrow}</span>
|
||||
</td>
|
||||
%endif
|
||||
@@ -81,13 +54,7 @@ ${get_css()}
|
||||
%endif
|
||||
<td>${job[2]} ${job[3]}</td>
|
||||
<td><a href="${h.url_for( controller='jobs', action='specified_date_handler', operation='tool_for_month', tool_id=tool_id, specified_date=job[0] )}">${job[1]}</a></td>
|
||||
${
|
||||
make_sparkline(
|
||||
key,
|
||||
trends[key],
|
||||
"bar",
|
||||
"/ day")
|
||||
}
|
||||
${make_sparkline(key, trends[key], "bar", "/ day")}
|
||||
<td id="${key}"></td>
|
||||
</tr>
|
||||
<% ctr += 1 %>
|
||||
@@ -97,4 +64,3 @@ ${get_css()}
|
||||
</div>
|
||||
</div>
|
||||
<!--End jobs_tool_per_month.mako-->
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<%namespace file="/spark_base.mako" import="make_sparkline" />
|
||||
<%namespace file="/sorting_base.mako" import="get_sort_url, get_css" />
|
||||
|
||||
<%
|
||||
from galaxy import util
|
||||
<%
|
||||
from galaxy import util
|
||||
%>
|
||||
|
||||
%if message:
|
||||
@@ -16,7 +16,7 @@ ${get_css()}
|
||||
<%
|
||||
_email = util.restore_text( email )
|
||||
%>
|
||||
|
||||
|
||||
<!--jobs_user_per_month.mako-->
|
||||
<div class="report">
|
||||
<div class="reportBody">
|
||||
@@ -35,29 +35,11 @@ ${get_css()}
|
||||
%else:
|
||||
<tr class="header">
|
||||
<td class="third_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'date',
|
||||
'jobs',
|
||||
'user_per_month',
|
||||
'Month',
|
||||
email=email)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'date', 'jobs', 'user_per_month', 'Month', email=email)}
|
||||
<span class='dir_arrow date'>${arrow}</span>
|
||||
</td>
|
||||
<td class="third_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'total_jobs',
|
||||
'jobs',
|
||||
'user_per_month',
|
||||
'Total Jobs',
|
||||
email=email)
|
||||
}
|
||||
${get_sort_url( sort_id, order, 'total_jobs', 'jobs', 'user_per_month', 'Total Jobs', email=email)}
|
||||
<span class='dir_arrow total_jobs'>${arrow}</span>
|
||||
</td>
|
||||
<td></td>
|
||||
@@ -76,13 +58,7 @@ ${get_css()}
|
||||
${job[1]}
|
||||
</a>
|
||||
</td>
|
||||
${
|
||||
make_sparkline(
|
||||
key,
|
||||
trends[key],
|
||||
"bar",
|
||||
"/ day")
|
||||
}
|
||||
${make_sparkline(key, trends[key], "bar", "/ day")}
|
||||
<td id="${key}"></td>
|
||||
</tr>
|
||||
<% ctr += 1 %>
|
||||
|
||||
@@ -21,27 +21,11 @@ ${get_css()}
|
||||
%else:
|
||||
<tr class="header">
|
||||
<td class="half_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'date',
|
||||
'users',
|
||||
'registered_users_per_month',
|
||||
'Month')
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'date', 'users', 'registered_users_per_month', 'Month')}
|
||||
<span class='dir_arrow date'>${arrow}</span>
|
||||
</td>
|
||||
<td class="half_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'num_users',
|
||||
'users',
|
||||
'registered_users_per_month',
|
||||
'Number of Registrations')
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'num_users', 'users', 'registered_users_per_month', 'Number of Registrations')}
|
||||
<span class='dir_arrow num_users'>${arrow}</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
%if message:
|
||||
${render_msg( message, 'done' )}
|
||||
%endif
|
||||
|
||||
|
||||
${get_css()}
|
||||
|
||||
<div class="report">
|
||||
@@ -29,27 +29,11 @@ ${get_css()}
|
||||
%else:
|
||||
<tr class="header">
|
||||
<td class="half_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'date',
|
||||
'users',
|
||||
'requests_users_per_month',
|
||||
'Month')
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'date', 'users', 'requests_users_per_month', 'Month')}
|
||||
<span class='dir_arrow date'>${arrow}</span>
|
||||
</td>
|
||||
<td class="half_width">Total
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'num_users',
|
||||
'users',
|
||||
'requests_users_per_month',
|
||||
'Month')
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'num_users', 'users', 'requests_users_per_month', 'Month')}
|
||||
<span class='dir_arrow num_users'>${arrow}</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -24,9 +24,9 @@ ${get_css()}
|
||||
${len( users ) }
|
||||
%else:
|
||||
0
|
||||
%endif
|
||||
users have not logged in to Galaxy for
|
||||
<input type="textfield"
|
||||
%endif
|
||||
users have not logged in to Galaxy for
|
||||
<input type="textfield"
|
||||
value="${days_not_logged_in}"
|
||||
size="3"
|
||||
name="days_not_logged_in">
|
||||
@@ -46,29 +46,11 @@ ${get_css()}
|
||||
%if users:
|
||||
<tr class="header">
|
||||
<td class="half_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'zero',
|
||||
'users',
|
||||
'last_access_date',
|
||||
'Email',
|
||||
days_not_logged_in=days_not_logged_in)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'zero', 'users', 'last_access_date', 'Email', days_not_logged_in=days_not_logged_in)}
|
||||
<span class='dir_arrow zero'>${arrow}</span>
|
||||
</td>
|
||||
<td class="half_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'one',
|
||||
'users',
|
||||
'last_access_date',
|
||||
'Date of last Login',
|
||||
days_not_logged_in=days_not_logged_in)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'one', 'users', 'last_access_date', 'Date of last Login', days_not_logged_in=days_not_logged_in)}
|
||||
<span class='dir_arrow one'>${arrow}</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -15,11 +15,11 @@ ${get_css()}
|
||||
<table class="colored diskUsageForm">
|
||||
<tr>
|
||||
<td>
|
||||
<form method="post"
|
||||
<form method="post"
|
||||
controller="users"
|
||||
action="user_disk_usage">
|
||||
<p>
|
||||
Top <input type="textfield"
|
||||
Top <input type="textfield"
|
||||
value="${user_cutoff}"
|
||||
size="3"
|
||||
name="user_cutoff">
|
||||
@@ -36,27 +36,11 @@ ${get_css()}
|
||||
%if users:
|
||||
<tr class="header">
|
||||
<td class="half_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'email',
|
||||
'users',
|
||||
'user_disk_usage',
|
||||
'Email')
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'email', 'users', 'user_disk_usage', 'Email')}
|
||||
<span class='dir_arrow email'>${arrow}</span>
|
||||
</td>
|
||||
<td class="half_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'disk_usage',
|
||||
'users',
|
||||
'user_disk_usage',
|
||||
'Disk Usage')
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'disk_usage', 'users', 'user_disk_usage', 'Disk Usage')}
|
||||
<span class='dir_arrow disk_usage'>${arrow}</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -21,27 +21,13 @@ ${get_css()}
|
||||
<table id="formHeader">
|
||||
<tr>
|
||||
<td>
|
||||
${
|
||||
get_pages(
|
||||
sort_id,
|
||||
order,
|
||||
page_specs,
|
||||
'workflows',
|
||||
'per_month_all')
|
||||
}
|
||||
${get_pages(sort_id, order, page_specs, 'workflows', 'per_month_all')}
|
||||
</td>
|
||||
<td>
|
||||
<h3 align="center">Workflows Per Month</h3>
|
||||
</td>
|
||||
<td align="right">
|
||||
${
|
||||
get_entry_selector(
|
||||
"workflows",
|
||||
"per_month_all",
|
||||
page_specs.entries,
|
||||
sort_id,
|
||||
order)
|
||||
}
|
||||
${get_entry_selector("workflows", "per_month_all", page_specs.entries, sort_id, order)}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -52,33 +38,11 @@ ${get_css()}
|
||||
%else:
|
||||
<tr class="header">
|
||||
<td class="half_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'date',
|
||||
'workflows',
|
||||
'per_month_all',
|
||||
'Month',
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'date', 'workflows', 'per_month_all', 'Month', page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow date'>${arrow}</span>
|
||||
</td>
|
||||
<td class="half_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'total_workflows',
|
||||
'workflows',
|
||||
'per_month_all',
|
||||
'Total',
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'total_workflows', 'workflows', 'per_month_all', 'Total', page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow total_workflows'>${arrow}</span>
|
||||
</td>
|
||||
<td></td>
|
||||
@@ -104,22 +68,16 @@ ${get_css()}
|
||||
%else:
|
||||
<tr class="tr">
|
||||
%endif
|
||||
|
||||
|
||||
<td>${month}</td>
|
||||
<td>${total}</td>
|
||||
%try:
|
||||
${
|
||||
make_sparkline(
|
||||
key,
|
||||
trends[key],
|
||||
"bar",
|
||||
"/ day")
|
||||
}
|
||||
${make_sparkline(key, trends[key], "bar", "/ day")}
|
||||
%except KeyError:
|
||||
%endtry
|
||||
<td id=${key}></td>
|
||||
</tr>
|
||||
<%
|
||||
<%
|
||||
ctr += 1
|
||||
entries += 1
|
||||
%>
|
||||
|
||||
@@ -26,86 +26,37 @@ ${get_css()}
|
||||
<table id="formHeader">
|
||||
<tr>
|
||||
<td>
|
||||
${
|
||||
get_pages(
|
||||
sort_id,
|
||||
order,
|
||||
page_specs,
|
||||
'workflows',
|
||||
'per_user',
|
||||
spark_time=time_period)
|
||||
}
|
||||
${get_pages(sort_id, order, page_specs, 'workflows', 'per_user', spark_time=time_period)}
|
||||
</td>
|
||||
<td>
|
||||
<h3 align="center">Workflows Per User</h3>
|
||||
<h5 align="center">
|
||||
Graph goes from present to past
|
||||
${
|
||||
make_spark_settings(
|
||||
"jobs",
|
||||
"per_user",
|
||||
spark_limit,
|
||||
sort_id, order,
|
||||
time_period,
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
Graph goes from present to past
|
||||
${make_spark_settings("jobs", "per_user", spark_limit, sort_id, order, time_period, page=page, offset=offset, entries=entries)}
|
||||
</h5>
|
||||
</td>
|
||||
<td align="right">
|
||||
${
|
||||
get_entry_selector(
|
||||
"workflows",
|
||||
"per_user",
|
||||
page_specs.entries,
|
||||
sort_id,
|
||||
order)
|
||||
}
|
||||
${get_entry_selector("workflows", "per_user", page_specs.entries, sort_id, order)}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<table align="center" width="60%" class="colored">
|
||||
%if len( workflows ) == 0:
|
||||
<tr><td colspan="2">There are no workflows</td></tr>
|
||||
%else:
|
||||
<tr class="header">
|
||||
<td class="half_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'user_email',
|
||||
'workflows',
|
||||
'per_user',
|
||||
'User',
|
||||
spark_time=time_period,
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'user_email', 'workflows', 'per_user', 'User', spark_time=time_period, page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow user_email'>${arrow}</span>
|
||||
</td>
|
||||
<td class="third_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'total_workflows',
|
||||
'workflows',
|
||||
'per_user',
|
||||
'Total Workflows',
|
||||
spark_time=time_period,
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'total_workflows', 'workflows', 'per_user', 'Total Workflows', spark_time=time_period, page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow total_workflows'>${arrow}</span>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<%
|
||||
<%
|
||||
ctr = 0
|
||||
entries = 1
|
||||
%>
|
||||
@@ -136,18 +87,12 @@ ${get_css()}
|
||||
</td>
|
||||
<td>${total}</td>
|
||||
%try:
|
||||
${
|
||||
make_sparkline(
|
||||
key,
|
||||
trends[key],
|
||||
"bar",
|
||||
"/ " + time_period[:-1])
|
||||
}
|
||||
${make_sparkline(key, trends[key], "bar", "/ " + time_period[:-1])}
|
||||
%except KeyError:
|
||||
%endtry
|
||||
<td id="${key}"></td>
|
||||
</tr>
|
||||
<%
|
||||
<%
|
||||
ctr += 1
|
||||
entries += 1
|
||||
%>
|
||||
|
||||
@@ -25,103 +25,41 @@ ${get_css()}
|
||||
<table id="formHeader">
|
||||
<tr>
|
||||
<td>
|
||||
${
|
||||
get_pages(
|
||||
sort_id,
|
||||
order,
|
||||
page_specs,
|
||||
'workflows',
|
||||
'per_workflow',
|
||||
spark_time=time_period)
|
||||
}
|
||||
${get_pages(sort_id, order, page_specs, 'workflows', 'per_workflow', spark_time=time_period)}
|
||||
</td>
|
||||
<td>
|
||||
<h4 align="center">Runs per Workflow</h4>
|
||||
<h5 align="center">
|
||||
Graph goes from present to past
|
||||
${
|
||||
make_spark_settings(
|
||||
'workflows',
|
||||
'per_workflow',
|
||||
spark_limit,
|
||||
sort_id,
|
||||
order,
|
||||
time_period,
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
Graph goes from present to past
|
||||
${make_spark_settings('workflows', 'per_workflow', spark_limit, sort_id, order, time_period, page=page, offset=offset, entries=entries)}
|
||||
</h5>
|
||||
</td>
|
||||
<td align="right">
|
||||
${
|
||||
get_entry_selector(
|
||||
"workflows",
|
||||
"per_workflow",
|
||||
page_specs.entries,
|
||||
sort_id,
|
||||
order)
|
||||
}
|
||||
${get_entry_selector("workflows", "per_workflow", page_specs.entries, sort_id, order)}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<table align="center" width="60%" class="colored">
|
||||
%if len( runs ) == 0:
|
||||
<tr><td colspan="2">There are no runs.</td></tr>
|
||||
%else:
|
||||
<tr class="header">
|
||||
<td class="quarter_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'workflow_id',
|
||||
'workflows',
|
||||
'per_workflow',
|
||||
'Workflow ID',
|
||||
spark_time=time_period,
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'workflow_id', 'workflows', 'per_workflow', 'Workflow ID', spark_time=time_period, page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow workflow_id'>${arrow}</span>
|
||||
</td>
|
||||
<td class="quarter_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'workflow_name',
|
||||
'workflows',
|
||||
'per_workflow',
|
||||
'Workflow Name',
|
||||
spark_time=time_period,
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'workflow_name', 'workflows', 'per_workflow', 'Workflow Name', spark_time=time_period, page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow workflow_name'>${arrow}</span>
|
||||
</td>
|
||||
<td class="quarter_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'total_runs',
|
||||
'workflows',
|
||||
'per_workflow',
|
||||
'Workflow Runs',
|
||||
spark_time=time_period,
|
||||
page=page,
|
||||
offset=offset,
|
||||
entries=entries)
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'total_runs', 'workflows', 'per_workflow', 'Workflow Runs', spark_time=time_period, page=page, offset=offset, entries=entries)}
|
||||
<span class='dir_arrow total_runs'>${arrow}</span>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<%
|
||||
<%
|
||||
ctr = 0
|
||||
entries = 1
|
||||
%>
|
||||
@@ -142,18 +80,12 @@ ${get_css()}
|
||||
<td>${run[0]}</td>
|
||||
<td>${run[1]}</td>
|
||||
%try:
|
||||
${
|
||||
make_sparkline(
|
||||
key,
|
||||
trends[key],
|
||||
"bar",
|
||||
"/ " + time_period[:-1])
|
||||
}
|
||||
${make_sparkline(key, trends[key], "bar", "/ " + time_period[:-1])}
|
||||
%except KeyError:
|
||||
%endtry
|
||||
<td id="${key}"></td>
|
||||
</tr>
|
||||
<%
|
||||
<%
|
||||
ctr += 1
|
||||
entries += 1
|
||||
%>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
%endif
|
||||
|
||||
${get_css()}
|
||||
|
||||
|
||||
<%
|
||||
_email = util.restore_text( email )
|
||||
%>
|
||||
@@ -33,29 +33,11 @@ ${get_css()}
|
||||
%else:
|
||||
<tr class="header">
|
||||
<td class="third_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'date',
|
||||
'workflows',
|
||||
'user_per_month',
|
||||
'Month',
|
||||
email=util.sanitize_text( email ))
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'date', 'workflows', 'user_per_month', 'Month', email=util.sanitize_text( email ))}
|
||||
<span class='dir_arrow date'>${arrow}</span>
|
||||
</td>
|
||||
<td class="third_width">
|
||||
${
|
||||
get_sort_url(
|
||||
sort_id,
|
||||
order,
|
||||
'total_workflows',
|
||||
'workflows',
|
||||
'user_per_month',
|
||||
'Total',
|
||||
email=util.sanitize_text( email ))
|
||||
}
|
||||
${get_sort_url(sort_id, order, 'total_workflows', 'workflows', 'user_per_month', 'Total', email=util.sanitize_text( email ))}
|
||||
<span class='dir_arrow total_workflows'>${arrow}</span>
|
||||
</td>
|
||||
<td></td>
|
||||
@@ -74,13 +56,7 @@ ${get_css()}
|
||||
%endif
|
||||
<td>${month}</td>
|
||||
<td>${total}</td>
|
||||
${
|
||||
make_sparkline(
|
||||
key,
|
||||
trends[key],
|
||||
"bar",
|
||||
"/ day")
|
||||
}
|
||||
${make_sparkline(key, trends[key], "bar", "/ day")}
|
||||
<td id="${key}"></td>
|
||||
</tr>
|
||||
<% ctr += 1 %>
|
||||
|
||||
@@ -294,8 +294,8 @@ class ToolsTestCase( api.ApiTestCase ):
|
||||
output_collection = self._assert_one_job_one_collection_run( create )
|
||||
element0, element1 = self._assert_elements_are( output_collection, "forward", "reverse" )
|
||||
self.dataset_populator.wait_for_history( history_id, assert_ok=True )
|
||||
self._verify_element( history_id, element0, contents="123\n789\n", file_ext="txt" )
|
||||
self._verify_element( history_id, element1, contents="456\n0ab\n", file_ext="txt" )
|
||||
self._verify_element( history_id, element0, contents="123\n789\n", file_ext="txt", visible=False )
|
||||
self._verify_element( history_id, element1, contents="456\n0ab\n", file_ext="txt", visible=False )
|
||||
|
||||
@skip_without_tool( "collection_creates_list" )
|
||||
def test_list_collection_output( self ):
|
||||
|
||||
@@ -139,6 +139,7 @@ User.prototype.registerUser = function registerUser( email, password, username )
|
||||
*/
|
||||
User.prototype.login = function login( email, password ){
|
||||
var spaceghost = this.spaceghost;
|
||||
spaceghost.debug( '(' + spaceghost.getCurrentUrl() + ') attempting login with ' + email + ' using password ' + password );
|
||||
|
||||
this._submitLogin( email, password );
|
||||
//spaceghost.withMainPanel( function mainAfterLogin(){
|
||||
|
||||
Reference in New Issue
Block a user