mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Change GUI references to Library to now be Data Library, and merge 2 history grid templates into 1.
This commit is contained in:
@@ -161,7 +161,7 @@ class HistoryController( BaseController ):
|
||||
status, message = self._list_undelete( trans, histories )
|
||||
trans.sa_session.flush()
|
||||
# Render the list view
|
||||
return self.stored_list_grid( trans, status=status, message=message, template='/history/stored_grid.mako', **kwargs )
|
||||
return self.stored_list_grid( trans, status=status, message=message, template='/history/grid.mako', **kwargs )
|
||||
def _list_delete( self, trans, histories ):
|
||||
"""Delete histories"""
|
||||
n_deleted = 0
|
||||
@@ -239,14 +239,14 @@ class HistoryController( BaseController ):
|
||||
if operation == "clone":
|
||||
if not id:
|
||||
message = "Select a history to clone"
|
||||
return self.shared_list_grid( trans, status='error', message=message, template='/history/shared_grid.mako', **kwargs )
|
||||
return self.shared_list_grid( trans, status='error', message=message, template='/history/grid.mako', **kwargs )
|
||||
# When cloning shared histories, only copy active datasets
|
||||
new_kwargs = { 'clone_choice' : 'active' }
|
||||
return self.clone( trans, id, **new_kwargs )
|
||||
elif operation == 'unshare':
|
||||
if not id:
|
||||
message = "Select a history to unshare"
|
||||
return self.shared_list_grid( trans, status='error', message=message, template='/history/shared_grid.mako', **kwargs )
|
||||
return self.shared_list_grid( trans, status='error', message=message, template='/history/grid.mako', **kwargs )
|
||||
ids = util.listify( id )
|
||||
histories = []
|
||||
for history_id in ids:
|
||||
@@ -260,7 +260,7 @@ class HistoryController( BaseController ):
|
||||
message = "Unshared %d shared histories" % len( ids )
|
||||
status = 'done'
|
||||
# Render the list view
|
||||
return self.shared_list_grid( trans, status=status, message=message, template='/history/shared_grid.mako', **kwargs )
|
||||
return self.shared_list_grid( trans, status=status, message=message, template='/history/grid.mako', **kwargs )
|
||||
@web.expose
|
||||
def delete_current( self, trans ):
|
||||
"""Delete just the active history -- this does not require a logged in user."""
|
||||
|
||||
@@ -152,16 +152,12 @@ class Requests( BaseController ):
|
||||
helptext=''))
|
||||
# library associated
|
||||
if request.library:
|
||||
request_details.append(dict(label='Library',
|
||||
value=request.library.name,
|
||||
helptext='Associated library where the resultant \
|
||||
dataset will be stored'))
|
||||
value = request.library.name
|
||||
else:
|
||||
request_details.append(dict(label='Library',
|
||||
value=None,
|
||||
helptext='Associated library where the resultant \
|
||||
dataset will be stored'))
|
||||
|
||||
value = None
|
||||
request_details.append( dict( label='Data library',
|
||||
value=value,
|
||||
helptext='Data library where the resultant dataset will be stored' ) )
|
||||
# form fields
|
||||
for index, field in enumerate(request.type.request_form.fields):
|
||||
if field['required']:
|
||||
@@ -492,18 +488,17 @@ class Requests( BaseController ):
|
||||
else:
|
||||
lib_list.add_option(lib.name, lib.id)
|
||||
if lib_id == 'new':
|
||||
lib_list.add_option('Create a new library', 'new', selected=True)
|
||||
lib_list.add_option('Create a new data library', 'new', selected=True)
|
||||
else:
|
||||
lib_list.add_option('Create a new library', 'new')
|
||||
widget = dict(label='Library',
|
||||
lib_list.add_option('Create a new data library', 'new')
|
||||
widget = dict(label='Data library',
|
||||
widget=lib_list,
|
||||
helptext='Associated library where the resultant \
|
||||
dataset will be stored.')
|
||||
helptext='Data library where the resultant dataset will be stored.')
|
||||
if lib_id == 'new':
|
||||
new_lib = dict(label='Create a new Library',
|
||||
new_lib = dict(label='Create a new data library',
|
||||
widget=TextField('new_library_name', 40,
|
||||
util.restore_text( params.get( 'new_library_name', '' ) )),
|
||||
helptext='Enter a library name here to request a new library')
|
||||
helptext='Enter a name here to request a new data library')
|
||||
return [widget, new_lib]
|
||||
else:
|
||||
return [widget]
|
||||
@@ -558,7 +553,7 @@ class Requests( BaseController ):
|
||||
'''
|
||||
empty_fields = []
|
||||
if not request.library:
|
||||
empty_fields.append('Library')
|
||||
empty_fields.append('Data library')
|
||||
# check rest of the fields of the form
|
||||
for index, field in enumerate(request.type.request_form.fields):
|
||||
if field['required'] == 'required' and request.values.content[index] in ['', None]:
|
||||
|
||||
@@ -144,10 +144,9 @@ class Requests( BaseController ):
|
||||
value=str(request.user.email),
|
||||
helptext=''))
|
||||
# library associated
|
||||
request_details.append(dict(label='Library',
|
||||
request_details.append(dict(label='Data library',
|
||||
value=trans.app.model.Library.get(request.library_id).name,
|
||||
helptext='Associated library where the resultant \
|
||||
dataset will be stored'))
|
||||
helptext='Data library where the resultant dataset will be stored'))
|
||||
# form fields
|
||||
for index, field in enumerate(request.type.request_form.fields):
|
||||
if field['required']:
|
||||
|
||||
+11
-11
@@ -17,7 +17,7 @@
|
||||
<li>
|
||||
<strong>Manage groups</strong> - provides a view of all groups along with the members of the group and the roles associated with
|
||||
each group (both private and non-private roles). Non-private roles include a link to a page that allows you to manage the users
|
||||
and groups that are associated with the role. The page also includes a view of the library datasets that are associated with the
|
||||
and groups that are associated with the role. The page also includes a view of the data library datasets that are associated with the
|
||||
role and the permissions applied to each dataset.
|
||||
</li>
|
||||
<p/>
|
||||
@@ -32,9 +32,9 @@
|
||||
<p/>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Manage libraries</strong> - Dataset libraries enable a Galaxy administrator to upload datasets into a library. Currently,
|
||||
only administrators can create dataset libraries, but permission to perform the following functions on the library can be granted to
|
||||
users (a library item is one of: a library, a library folder, a library dataset).
|
||||
<strong>Manage data libraries</strong> - Data libraries enable a Galaxy administrator to upload datasets into a data library. Currently,
|
||||
only administrators can create data libraries, but permission to perform the following functions on the data library can be granted to
|
||||
users (a library item is one of: a data library, a library folder, a library dataset).
|
||||
<p/>
|
||||
<ul>
|
||||
<li><strong>add library item</strong> - Role members can add library items to this library or folder</li>
|
||||
@@ -42,12 +42,12 @@
|
||||
<li><strong>manage library permissions</strong> - Role members can manage permissions applied to this library item</li>
|
||||
</ul>
|
||||
<p/>
|
||||
The default behavior is for no permissions to be applied to a library item, but applied permissions are inherited downward, so it is
|
||||
important to set desired permissions on a new library when it is created. When this is done, new folders and datasets added to the
|
||||
library will automatically inherit those permissions. In the same way, permissions can be applied to a folder, which will be
|
||||
The default behavior is for no permissions to be applied to a data library item, but applied permissions are inherited downward, so it is
|
||||
important to set desired permissions on a new data library when it is created. When this is done, new folders and datasets added to the
|
||||
data library will automatically inherit those permissions. In the same way, permissions can be applied to a folder, which will be
|
||||
automatically inherited by all contained datasets and sub-folders.
|
||||
<p/>
|
||||
The "Libraries" menu item allows users to access the datasets in a library as long as they are not restricted from accessing them.
|
||||
The "Data Libraries" menu item allows users to access the datasets in a data library as long as they are not restricted from accessing them.
|
||||
Importing a library dataset into a history will not make a copy of the dataset, but will be a "pointer" to the dataset on disk. This
|
||||
approach allows for multiple users to use a single (possibly very large) dataset file.
|
||||
</li>
|
||||
@@ -72,7 +72,7 @@
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p><strong>Data Security and Dataset Libraries</strong></p>
|
||||
<p><strong>Data Security and Data Libraries</strong></p>
|
||||
<p/>
|
||||
<strong>Security</strong> - Data security in Galaxy is a new feature, so familiarize yourself with the details which can be found
|
||||
here or in our <a href="http://g2.trac.bx.psu.edu/wiki/SecurityFeatures" target="_blank">data security page</a>. The data security
|
||||
@@ -121,8 +121,8 @@ in the way Galaxy has behaved in the past.
|
||||
<strong>access</strong> - users associated with the role can import this dataset into their history for analysis.
|
||||
<p>
|
||||
If no roles with the "access" permission are associated with a dataset, the dataset is "public" and may be accessed by
|
||||
anyone. Public library datasets will be accessible to all users (as well as anyone not logged in during a Galaxy session)
|
||||
from the list of libraries displayed when the "Libraries" menu item is selected.
|
||||
anyone. Public data library datasets will be accessible to all users (as well as anyone not logged in during a Galaxy session)
|
||||
from the list of data libraries displayed when the "Data Libraries" menu item is selected.
|
||||
</p>
|
||||
<p>
|
||||
Associating a dataset with a role that includes the "access" permission restricts the set of users that can access it.
|
||||
|
||||
@@ -84,7 +84,7 @@ $().ready(function() {
|
||||
<br clear="left"/>
|
||||
<br/>
|
||||
%if len( library_dataset_actions ) > 0:
|
||||
<h3>Library datasets associated with role '${role.name}'</h3>
|
||||
<h3>Data library datasets associated with role '${role.name}'</h3>
|
||||
<table class="manage-table colored" border="0" cellspacing="0" cellpadding="0" width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
</div>
|
||||
<div class="toolSectionBody">
|
||||
<div class="toolSectionBg">
|
||||
<div class="toolTitle"><a href="${h.url_for( controller='admin', action='browse_libraries' )}" target="galaxy_main">Manage libraries</a></div>
|
||||
<div class="toolTitle"><a href="${h.url_for( controller='admin', action='browse_libraries' )}" target="galaxy_main">Manage data libraries</a></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="toolSectionPad"></div>
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<%inherit file="/base.mako"/>
|
||||
<%namespace file="/message.mako" import="render_msg" />
|
||||
|
||||
<%def name="title()">Browse Libraries</%def>
|
||||
<%def name="title()">Browse Data Libraries</%def>
|
||||
|
||||
<h2>
|
||||
%if deleted:
|
||||
Deleted
|
||||
%endif
|
||||
Libraries
|
||||
Data Libraries
|
||||
</h2>
|
||||
|
||||
<ul class="manage-table-actions">
|
||||
|
||||
@@ -162,16 +162,16 @@ def name_sorted( l ):
|
||||
%if deleted:
|
||||
Deleted
|
||||
%endif
|
||||
Library '${library.name}'
|
||||
Data Library “${library.name}”
|
||||
</h2>
|
||||
|
||||
<ul class="manage-table-actions">
|
||||
%if not deleted:
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='library_dataset_dataset_association', library_id=library.id, folder_id=library.root_folder.id )}"><span>Add datasets to this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='library_dataset_dataset_association', library_id=library.id, folder_id=library.root_folder.id )}"><span>Add datasets to this data library</span></a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='folder', new=True, id=library.root_folder.id, library_id=library.id )}">Add a folder to this library</a>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='folder', new=True, id=library.root_folder.id, library_id=library.id )}">Add a folder to this data library</a>
|
||||
</li>
|
||||
%endif
|
||||
</ul>
|
||||
@@ -200,24 +200,24 @@ def name_sorted( l ):
|
||||
library_item_ids = {}
|
||||
library_item_ids[ 'library' ] = library.id
|
||||
%>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='library', id=library.id, information=True )}">Edit this library's information</a>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='library', id=library.id, information=True )}">Edit this data library's information</a>
|
||||
## Editing templates disabled until we determine optimal approach to re-linking library item to new version of form definition
|
||||
##%if library.info_association:
|
||||
## <% form_id = library.info_association[0].template.id %>
|
||||
## <a class="action-button" href="${h.url_for( controller='forms', action='edit', form_id=form_id, show_form=True )}">Edit this library's information template</a>
|
||||
## <a class="action-button" href="${h.url_for( controller='forms', action='edit', form_id=form_id, show_form=True )}">Edit this data library's information template</a>
|
||||
##%else:
|
||||
%if not library.info_association:
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='info_template', library_id=library.id, add=True )}">Add an information template to this library</a>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='info_template', library_id=library.id, add=True )}">Add an information template to this data library</a>
|
||||
%endif
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='library', id=library.id, permissions=True )}">Edit this library's permissions</a>
|
||||
<a class="action-button" confirm="Click OK to delete the library named '${library.name}'." href="${h.url_for( controller='admin', action='delete_library_item', library_id=library.id, library_item_id=library.id, library_item_type='library' )}">Delete this library and its contents</a>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='library', id=library.id, permissions=True )}">Edit this data library's permissions</a>
|
||||
<a class="action-button" confirm="Click OK to delete the library named '${library.name}'." href="${h.url_for( controller='admin', action='delete_library_item', library_id=library.id, library_item_id=library.id, library_item_type='library' )}">Delete this data library and its contents</a>
|
||||
%if show_deleted:
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library.id, show_deleted=False )}">Hide deleted library items</a>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library.id, show_deleted=False )}">Hide deleted data library items</a>
|
||||
%else:
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library.id, show_deleted=True )}">Show deleted library items</a>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library.id, show_deleted=True )}">Show deleted data library items</a>
|
||||
%endif
|
||||
%elif not library.purged:
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='undelete_library_item', library_id=library.id, library_item_id=library.id, library_item_type='library' )}">Undelete this library</a>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='undelete_library_item', library_id=library.id, library_item_id=library.id, library_item_type='library' )}">Undelete this data library</a>
|
||||
%endif
|
||||
</div>
|
||||
</th>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<br/><br/>
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library_id )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library_id )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<br/><br/>
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library_id )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library_id )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library_id )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library_id )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library_id, deleted=library.deleted, show_deleted=show_deleted )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library_id, deleted=library.deleted, show_deleted=show_deleted )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<br/><br/>
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library_id )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library_id )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library_id )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library_id )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library_id )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library_id )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<br/><br/>
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library.id )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library.id )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<br/><br/>
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library.id )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library.id )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
<% import os, os.path %>
|
||||
|
||||
<b>Create new library datasets</b>
|
||||
<b>Create new data library datasets</b>
|
||||
<a id="upload-librarydataset--popup" class="popup-arrow" style="display: none;">▼</a>
|
||||
<div popupmenu="upload-librarydataset--popup">
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='library_dataset_dataset_association', library_id=library_id, folder_id=folder_id, replace_id=replace_id, upload_option='upload_file' )}">Upload files</a>
|
||||
@@ -16,7 +16,7 @@
|
||||
<br/><br/>
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library_id )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library_id )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -142,7 +142,7 @@
|
||||
<textarea name="message" rows="3" cols="35"></textarea>
|
||||
</div>
|
||||
<div class="toolParamHelp" style="clear: both;">
|
||||
This information will be displayed in the "Information" column for this dataset in the library browser
|
||||
This information will be displayed in the "Information" column for this dataset in the data library browser
|
||||
</div>
|
||||
<div style="clear: both"></div>
|
||||
</div>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<br/<br/>
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library_id )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library_id )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
%endif
|
||||
|
||||
<div class="toolForm">
|
||||
<div class="toolFormTitle">Create a new library</div>
|
||||
<div class="toolFormTitle">Create a new data library</div>
|
||||
<div class="toolFormBody">
|
||||
<form name="library" action="${h.url_for( controller='admin', action='library' )}" method="post" >
|
||||
<div class="form-row">
|
||||
<label>Name:</label>
|
||||
<div style="float: left; width: 250px; margin-right: 10px;">
|
||||
<input type="text" name="name" value="New Library" size="40"/>
|
||||
<input type="text" name="name" value="New data library" size="40"/>
|
||||
</div>
|
||||
<div style="clear: both"></div>
|
||||
</div>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<br/><br/>
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library_id )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='admin', action='browse_library', id=library_id )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
%if not rd['value']:
|
||||
<i>None</i>
|
||||
%else:
|
||||
%if rd['label'] == 'Library':
|
||||
%if rd['label'] == 'Data library':
|
||||
<a href="${h.url_for( controller='admin', action='browse_library', id=request.library.id )}">${rd['value']}</a>
|
||||
%else:
|
||||
${rd['value']}
|
||||
|
||||
@@ -139,14 +139,14 @@
|
||||
|
||||
${tab( "workflow", "Workflow", h.url_for( controller='workflow', action='index' ))}
|
||||
|
||||
${tab( "libraries", "Libraries", h.url_for( controller='library', action='index' ))}
|
||||
${tab( "libraries", "Data Libraries", h.url_for( controller='library', action='index' ))}
|
||||
|
||||
%if trans.request_types():
|
||||
<td class="tab">
|
||||
<a>Lab</a>
|
||||
<div class="submenu">
|
||||
<ul>
|
||||
<li><a target="requests" href="${h.url_for( controller='requests', action='index' )}">Sequencing Requests</a></li>
|
||||
<li><a href="${h.url_for( controller='requests', action='index' )}">Sequencing Requests</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
@@ -1,197 +0,0 @@
|
||||
<%inherit file="/base.mako"/>
|
||||
<%namespace file="/message.mako" import="render_msg" />
|
||||
|
||||
<%def name="title()">${grid.title}</%def>
|
||||
|
||||
<%def name="javascripts()">
|
||||
${parent.javascripts()}
|
||||
<script type="text/javascript">
|
||||
## TODO: generalize and move into galaxy.base.js
|
||||
$(document).ready(function() {
|
||||
$(".grid").each( function() {
|
||||
var grid = this;
|
||||
var checkboxes = $(this).find("input.grid-row-select-checkbox");
|
||||
var update = $(this).find( "span.grid-selected-count" );
|
||||
$(checkboxes).each( function() {
|
||||
$(this).change( function() {
|
||||
var n = $(checkboxes).filter("[checked]").size();
|
||||
update.text( n );
|
||||
});
|
||||
})
|
||||
});
|
||||
});
|
||||
## Can this be moved into base.mako?
|
||||
%if refresh_frames:
|
||||
%if 'masthead' in refresh_frames:
|
||||
## Refresh masthead == user changes (backward compatibility)
|
||||
if ( parent.user_changed ) {
|
||||
%if trans.user:
|
||||
parent.user_changed( "${trans.user.email}", ${int( app.config.is_admin_user( trans.user ) )} );
|
||||
%else:
|
||||
parent.user_changed( null, false );
|
||||
%endif
|
||||
}
|
||||
%endif
|
||||
%if 'history' in refresh_frames:
|
||||
if ( parent.frames && parent.frames.galaxy_history ) {
|
||||
parent.frames.galaxy_history.location.href="${h.url_for( controller='root', action='history')}";
|
||||
if ( parent.force_right_panel ) {
|
||||
parent.force_right_panel( 'show' );
|
||||
}
|
||||
}
|
||||
%endif
|
||||
%if 'tools' in refresh_frames:
|
||||
if ( parent.frames && parent.frames.galaxy_tools ) {
|
||||
parent.frames.galaxy_tools.location.href="${h.url_for( controller='root', action='tool_menu')}";
|
||||
if ( parent.force_left_panel ) {
|
||||
parent.force_left_panel( 'show' );
|
||||
}
|
||||
}
|
||||
%endif
|
||||
%endif
|
||||
</script>
|
||||
</%def>
|
||||
|
||||
<%def name="stylesheets()">
|
||||
<link href="${h.url_for('/static/style/base.css')}" rel="stylesheet" type="text/css" />
|
||||
<style>
|
||||
## Not generic to all grids -- move to base?
|
||||
.count-box {
|
||||
min-width: 1.1em;
|
||||
padding: 5px;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
}
|
||||
</style>
|
||||
</%def>
|
||||
|
||||
%if grid.standard_filters:
|
||||
<div class="grid-header">
|
||||
<h2>${grid.title}</h2>
|
||||
<span class="title">Filter:</span>
|
||||
%for i, filter in enumerate( grid.standard_filters ):
|
||||
%if i > 0:
|
||||
<span>|</span>
|
||||
%endif
|
||||
<span class="filter"><a href="${url( filter.get_url_args() )}">${filter.label}</a></span>
|
||||
%endfor
|
||||
</div>
|
||||
%endif
|
||||
|
||||
%if message:
|
||||
<p>
|
||||
<div class="${message_type}message transient-message">${message}</div>
|
||||
<div style="clear: both"></div>
|
||||
</p>
|
||||
%endif
|
||||
%if msg:
|
||||
${render_msg( msg, messagetype )}
|
||||
%endif
|
||||
|
||||
<form name="history_shared_by_others" action="${url()}" method="post" >
|
||||
<table class="grid">
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
%for column in grid.columns:
|
||||
%if column.visible:
|
||||
<%
|
||||
href = ""
|
||||
extra = ""
|
||||
if column.sortable:
|
||||
if sort_key == column.key:
|
||||
if sort_order == "asc":
|
||||
href = url( sort=( "-" + column.key ) )
|
||||
extra = "↓"
|
||||
else:
|
||||
href = url( sort=( column.key ) )
|
||||
extra = "↑"
|
||||
else:
|
||||
href = url( sort=column.key )
|
||||
%>
|
||||
<th\
|
||||
%if column.ncells > 1:
|
||||
colspan="${column.ncells}"
|
||||
%endif
|
||||
>
|
||||
%if href:
|
||||
<a href="${href}">${column.label}</a>
|
||||
%else:
|
||||
${column.label}
|
||||
%endif
|
||||
<span>${extra}</span>
|
||||
</th>
|
||||
%endif
|
||||
%endfor
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
%for i, history in enumerate( query ):
|
||||
<tr>
|
||||
## Item selection column
|
||||
<td style="width: 1.5em;">
|
||||
<input type="checkbox" name="id" value=${trans.security.encode_id( history.id )} class="grid-row-select-checkbox" />
|
||||
</td>
|
||||
## Data columns
|
||||
%for column in grid.columns:
|
||||
%if column.visible:
|
||||
<%
|
||||
# Link
|
||||
link = column.get_link( trans, grid, history )
|
||||
if link:
|
||||
href = url( **link )
|
||||
else:
|
||||
href = None
|
||||
# Value (coerced to list so we can loop)
|
||||
value = column.get_value( trans, grid, history )
|
||||
if column.ncells == 1:
|
||||
value = [ value ]
|
||||
%>
|
||||
%for cellnum, v in enumerate( value ):
|
||||
<%
|
||||
# Attach popup menu?
|
||||
if column.attach_popup and cellnum == 0:
|
||||
extra = '<a id="grid-%d-popup" class="popup-arrow" style="display: none;">▼</a>' % i
|
||||
else:
|
||||
extra = ""
|
||||
%>
|
||||
%if href:
|
||||
<td><a href="${href}">${v}</a> ${extra}</td>
|
||||
%else:
|
||||
<td >${v}${extra}</td>
|
||||
%endif
|
||||
</td>
|
||||
%endfor
|
||||
%endif
|
||||
%endfor
|
||||
## Actions column
|
||||
<td>
|
||||
<div popupmenu="grid-${i}-popup">
|
||||
%for operation in grid.operations:
|
||||
%if operation.allowed( history ):
|
||||
<a class="action-button" href="${url( operation=operation.label, id=history.id )}">${operation.label}</a>
|
||||
%endif
|
||||
%endfor
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
%endfor
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td colspan="100">
|
||||
For <span class="grid-selected-count"></span> selected histories:
|
||||
%for operation in grid.operations:
|
||||
%if operation.allow_multiple:
|
||||
<input type="submit" name="operation" value="${operation.label}" class="action-button">
|
||||
%endif
|
||||
%endfor
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</form>
|
||||
@@ -1,196 +0,0 @@
|
||||
<%inherit file="/base.mako"/>
|
||||
<%def name="title()">${grid.title}</%def>
|
||||
|
||||
%if message:
|
||||
<p>
|
||||
<div class="${message_type}message transient-message">${message}</div>
|
||||
<div style="clear: both"></div>
|
||||
</p>
|
||||
%endif
|
||||
|
||||
<%def name="javascripts()">
|
||||
${parent.javascripts()}
|
||||
<script type="text/javascript">
|
||||
## TODO: generalize and move into galaxy.base.js
|
||||
$(document).ready(function() {
|
||||
$(".grid").each( function() {
|
||||
var grid = this;
|
||||
var checkboxes = $(this).find("input.grid-row-select-checkbox");
|
||||
var update = $(this).find( "span.grid-selected-count" );
|
||||
$(checkboxes).each( function() {
|
||||
$(this).change( function() {
|
||||
var n = $(checkboxes).filter("[checked]").size();
|
||||
update.text( n );
|
||||
});
|
||||
})
|
||||
});
|
||||
});
|
||||
## Can this be moved into base.mako?
|
||||
%if refresh_frames:
|
||||
%if 'masthead' in refresh_frames:
|
||||
## Refresh masthead == user changes (backward compatibility)
|
||||
if ( parent.user_changed ) {
|
||||
%if trans.user:
|
||||
parent.user_changed( "${trans.user.email}", ${int( app.config.is_admin_user( trans.user ) )} );
|
||||
%else:
|
||||
parent.user_changed( null, false );
|
||||
%endif
|
||||
}
|
||||
%endif
|
||||
%if 'history' in refresh_frames:
|
||||
if ( parent.frames && parent.frames.galaxy_history ) {
|
||||
parent.frames.galaxy_history.location.href="${h.url_for( controller='root', action='history')}";
|
||||
if ( parent.force_right_panel ) {
|
||||
parent.force_right_panel( 'show' );
|
||||
}
|
||||
}
|
||||
%endif
|
||||
%if 'tools' in refresh_frames:
|
||||
if ( parent.frames && parent.frames.galaxy_tools ) {
|
||||
parent.frames.galaxy_tools.location.href="${h.url_for( controller='root', action='tool_menu')}";
|
||||
if ( parent.force_left_panel ) {
|
||||
parent.force_left_panel( 'show' );
|
||||
}
|
||||
}
|
||||
%endif
|
||||
%endif
|
||||
</script>
|
||||
</%def>
|
||||
|
||||
<%def name="stylesheets()">
|
||||
<link href="${h.url_for('/static/style/base.css')}" rel="stylesheet" type="text/css" />
|
||||
<style>
|
||||
## Not generic to all grids -- move to base?
|
||||
.count-box {
|
||||
min-width: 1.1em;
|
||||
padding: 5px;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
}
|
||||
</style>
|
||||
</%def>
|
||||
|
||||
%if grid.standard_filters:
|
||||
<div class="grid-header">
|
||||
<h2>${grid.title}</h2>
|
||||
<span class="title">Filter:</span>
|
||||
%for i, filter in enumerate( grid.standard_filters ):
|
||||
%if i > 0:
|
||||
<span>|</span>
|
||||
%endif
|
||||
<span class="filter"><a href="${url( filter.get_url_args() )}">${filter.label}</a></span>
|
||||
%endfor
|
||||
</div>
|
||||
%endif
|
||||
|
||||
<form name="history_actions" action="${url()}" method="post" >
|
||||
<table class="grid">
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
%for column in grid.columns:
|
||||
%if column.visible:
|
||||
<%
|
||||
href = ""
|
||||
extra = ""
|
||||
if column.sortable:
|
||||
if sort_key == column.key:
|
||||
if sort_order == "asc":
|
||||
href = url( sort=( "-" + column.key ) )
|
||||
extra = "↓"
|
||||
else:
|
||||
href = url( sort=( column.key ) )
|
||||
extra = "↑"
|
||||
else:
|
||||
href = url( sort=column.key )
|
||||
%>
|
||||
<th\
|
||||
%if column.ncells > 1:
|
||||
colspan="${column.ncells}"
|
||||
%endif
|
||||
>
|
||||
%if href:
|
||||
<a href="${href}">${column.label}</a>
|
||||
%else:
|
||||
${column.label}
|
||||
%endif
|
||||
<span>${extra}</span>
|
||||
</th>
|
||||
%endif
|
||||
%endfor
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
%for i, item in enumerate( query ):
|
||||
<tr \
|
||||
%if current_item == item:
|
||||
class="current" \
|
||||
%endif
|
||||
>
|
||||
## Item selection column
|
||||
<td style="width: 1.5em;">
|
||||
<input type="checkbox" name="id" value=${trans.security.encode_id( item.id )} class="grid-row-select-checkbox" />
|
||||
</td>
|
||||
## Data columns
|
||||
%for column in grid.columns:
|
||||
%if column.visible:
|
||||
<%
|
||||
# Link
|
||||
link = column.get_link( trans, grid, item )
|
||||
if link:
|
||||
href = url( **link )
|
||||
else:
|
||||
href = None
|
||||
# Value (coerced to list so we can loop)
|
||||
value = column.get_value( trans, grid, item )
|
||||
if column.ncells == 1:
|
||||
value = [ value ]
|
||||
%>
|
||||
%for cellnum, v in enumerate( value ):
|
||||
<%
|
||||
# Attach popup menu?
|
||||
if column.attach_popup and cellnum == 0:
|
||||
extra = '<a id="grid-%d-popup" class="popup-arrow" style="display: none;">▼</a>' % i
|
||||
else:
|
||||
extra = ""
|
||||
%>
|
||||
%if href:
|
||||
<td><a href="${href}">${v}</a> ${extra}</td>
|
||||
%else:
|
||||
<td >${v}${extra}</td>
|
||||
%endif
|
||||
</td>
|
||||
%endfor
|
||||
%endif
|
||||
%endfor
|
||||
## Actions column
|
||||
<td>
|
||||
<div popupmenu="grid-${i}-popup">
|
||||
%for operation in grid.operations:
|
||||
%if operation.allowed( item ):
|
||||
<a class="action-button" href="${url( operation=operation.label, id=item.id )}">${operation.label}</a>
|
||||
%endif
|
||||
%endfor
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
%endfor
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td colspan="100">
|
||||
For <span class="grid-selected-count"></span> selected histories:
|
||||
%for operation in grid.operations:
|
||||
%if operation.allow_multiple:
|
||||
<input type="submit" name="operation" value="${operation.label}" class="action-button">
|
||||
%endif
|
||||
%endfor
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</form>
|
||||
@@ -1,9 +1,9 @@
|
||||
<%inherit file="/base.mako"/>
|
||||
<%namespace file="/message.mako" import="render_msg" />
|
||||
|
||||
<%def name="title()">Browse Libraries</%def>
|
||||
<%def name="title()">Browse Data Libraries</%def>
|
||||
|
||||
<h2>Libraries</h2>
|
||||
<h2>Data Libraries</h2>
|
||||
|
||||
%if msg:
|
||||
${render_msg( msg, messagetype )}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<%namespace file="/message.mako" import="render_msg" />
|
||||
<% from galaxy import util %>
|
||||
|
||||
<%def name="title()">Browse Library</%def>
|
||||
<%def name="title()">Browse data library</%def>
|
||||
<%def name="stylesheets()">
|
||||
<link href="${h.url_for('/static/style/base.css')}" rel="stylesheet" type="text/css" />
|
||||
<link href="${h.url_for('/static/style/library.css')}" rel="stylesheet" type="text/css" />
|
||||
@@ -211,7 +211,7 @@ class RowCounter( object ):
|
||||
%endfor
|
||||
</%def>
|
||||
|
||||
<h2>Library “${library.name}”</h2>
|
||||
<h2>Data Library “${library.name}”</h2>
|
||||
|
||||
<ul class="manage-table-actions">
|
||||
%if trans.app.security_agent.allow_action( trans.user, trans.app.security_agent.permitted_actions.LIBRARY_ADD, library_item=library ):
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<br/><br/>
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library_id )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library_id )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<br/><br/>
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library_id )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library_id )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library_id )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library_id )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library_id )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library_id )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<br/><br/>
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library_id )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library_id )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library_id )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library_id )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library_id )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library_id )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<br/><br/>
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library.id )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library.id )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<br/><br/>
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library.id )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library.id )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<br/><br/>
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library_id )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library_id )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
%elif upload_option == 'upload_directory':
|
||||
<div class="form-row">
|
||||
<%
|
||||
# Directories of files from the Libraries view are restricted to a
|
||||
# Directories of files from the Data Libraries view are restricted to a
|
||||
# sub-directory named the same as the current user's email address
|
||||
# contained within the configured setting for user_library_import_dir
|
||||
user_library_import_dir = os.path.join( trans.app.config.user_library_import_dir, trans.user.email )
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<br/<br/>
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library_id )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library_id )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<br/><br/>
|
||||
<ul class="manage-table-actions">
|
||||
<li>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library_id )}"><span>Browse this library</span></a>
|
||||
<a class="action-button" href="${h.url_for( controller='library', action='browse_library', id=library_id )}"><span>Browse this data library</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ $( function() {
|
||||
<div class="form-row">
|
||||
<label>${field['label']}</label>
|
||||
${field['widget'].get_html()}
|
||||
%if field['label'] == 'Library' and new_library:
|
||||
%if field['label'] == 'Data library' and new_library:
|
||||
${new_library.get_html()}
|
||||
%endif
|
||||
<div class="toolParamHelp" style="clear: both;">
|
||||
|
||||
@@ -58,7 +58,7 @@ $( function() {
|
||||
<div class="form-row">
|
||||
<label>${field['label']}</label>
|
||||
${field['widget'].get_html()}
|
||||
%if field['label'] == 'Library' and new_library:
|
||||
%if field['label'] == 'Data library' and new_library:
|
||||
${new_library.get_html()}
|
||||
%endif
|
||||
<div class="toolParamHelp" style="clear: both;">
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
%if not rd['value']:
|
||||
<i>None</i>
|
||||
%else:
|
||||
%if rd['label'] == 'Library':
|
||||
%if rd['label'] == 'Data library':
|
||||
%if rd['value']:
|
||||
<a href="${h.url_for( controller='library', action='browse_library', id=request.library.id )}">${rd['value']}</a>
|
||||
%else:
|
||||
|
||||
@@ -1451,7 +1451,7 @@ class TestSecurityAndLibraries( TwillTestCase ):
|
||||
check_edit_page2( latest_3_lddas )
|
||||
self.home()
|
||||
def test_195_upload_directory_of_files_from_libraries_view( self ):
|
||||
"""Testing uploading a directory of files to a root folder from the Libraries view"""
|
||||
"""Testing uploading a directory of files to a root folder from the Data Libraries view"""
|
||||
# admin_user will not have the option sto upload a directory of files from the
|
||||
# Libraries view since a sub-directory named the same as their email is not contained
|
||||
# in the configured user_library_import_dir. However, since members of role_one have
|
||||
|
||||
Reference in New Issue
Block a user