mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Merge branch 'release_21.01' into release_21.05
This commit is contained in:
@@ -264,7 +264,11 @@ class DatasetCollectionManager:
|
||||
|
||||
if recursive:
|
||||
for dataset in dataset_collection_instance.collection.dataset_instances:
|
||||
self.hda_manager.error_unless_owner(dataset, user=trans.get_user(), current_history=trans.history)
|
||||
try:
|
||||
self.hda_manager.error_unless_owner(dataset, user=trans.get_user(), current_history=trans.history)
|
||||
except hdas.HistoryDatasetAssociationNoHistoryException:
|
||||
log.info("Cannot delete HistoryDatasetAssociation {}, HistoryDatasetAssociation has no associated History, cannot verify owner".format(dataset.id))
|
||||
continue
|
||||
if not dataset.deleted:
|
||||
dataset.deleted = True
|
||||
|
||||
|
||||
@@ -25,6 +25,10 @@ from galaxy.structured_app import MinimalManagerApp
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class HistoryDatasetAssociationNoHistoryException(Exception):
|
||||
pass
|
||||
|
||||
|
||||
class HDAManager(datasets.DatasetAssociationManager,
|
||||
secured.OwnableManagerMixin,
|
||||
taggable.TaggableManagerMixin,
|
||||
@@ -70,9 +74,11 @@ class HDAManager(datasets.DatasetAssociationManager,
|
||||
"""
|
||||
Use history to see if current user owns HDA.
|
||||
"""
|
||||
history = hda.history
|
||||
if self.user_manager.is_admin(user, trans=kwargs.get("trans", None)):
|
||||
return True
|
||||
history = hda.history
|
||||
if history is None:
|
||||
raise HistoryDatasetAssociationNoHistoryException
|
||||
# allow anonymous user to access current history
|
||||
# TODO: some dup here with historyManager.is_owner but prevents circ import
|
||||
# TODO: awkward kwarg (which is my new band name); this may not belong here - move to controller?
|
||||
|
||||
@@ -33,10 +33,12 @@
|
||||
$(function() {
|
||||
$("#checkall").click( function() {
|
||||
$("input[type=checkbox]").attr( 'checked', true );
|
||||
$(".as-named-input").prop( 'disabled', false );
|
||||
return false;
|
||||
}).show();
|
||||
$("#uncheckall").click( function() {
|
||||
$("input[type=checkbox]").attr( 'checked', false );
|
||||
$(".as-named-input").prop( 'disabled', true );
|
||||
return false;
|
||||
}).show();
|
||||
});
|
||||
@@ -62,7 +64,8 @@
|
||||
</div>
|
||||
%if disabled:
|
||||
<input type="checkbox" id="as-input-${ encoded_id }" class="as-input"
|
||||
name="${data.history_content_type}_ids" value="${data.hid}" checked="true" />
|
||||
name="${data.history_content_type}_ids" value="${data.hid}" checked="true"
|
||||
onclick="document.getElementById('as-named-input-${ encoded_id }').disabled = !document.getElementById('as-input-${ encoded_id }').checked" />
|
||||
<label for="as-input-${ encoded_id }" >${_('Treat as input dataset')}</label>
|
||||
<input type="text" id="as-named-input-${ encoded_id }" class="as-named-input"
|
||||
name="${data.history_content_type}_names" value="${data.display_name() | h}" />
|
||||
|
||||
Reference in New Issue
Block a user