Merge branch 'release_24.0' into release_24.1

This commit is contained in:
mvdbeek
2024-09-20 08:27:18 +02:00
6 changed files with 42 additions and 16 deletions
@@ -62,11 +62,11 @@
const ajax_url = "${h.url_for( controller='/datasets', action='index')}/" + hda_id + "/display";
const data = httpGet(ajax_url);
document.getElementById("editor").innerHTML = data;
var editor = ace.edit("editor", {
mode: "ace/mode/powershell",
theme: "ace/theme/textmate"
});
editor.setValue(data, -1);
</script>
</body>
</html>
+1 -1
View File
@@ -597,7 +597,7 @@ class CommonConfigurationMixin:
@admin_users.setter
def admin_users(self, value):
self._admin_users = value
self.admin_users_list = listify(value)
self.admin_users_list = listify(value, do_strip=True)
def is_admin_user(self, user: Optional["User"]) -> bool:
"""Determine if the provided user is listed in `admin_users`."""
+5 -4
View File
@@ -578,10 +578,11 @@ class ModelImportStore(metaclass=abc.ABCMeta):
self._attach_raw_id_if_editing(dataset_instance, dataset_attrs)
# Older style...
if "uuid" in dataset_attrs:
dataset_instance.dataset.uuid = dataset_attrs["uuid"]
if "dataset_uuid" in dataset_attrs:
dataset_instance.dataset.uuid = dataset_attrs["dataset_uuid"]
if self.import_options.allow_edit:
if "uuid" in dataset_attrs:
dataset_instance.dataset.uuid = dataset_attrs["uuid"]
if "dataset_uuid" in dataset_attrs:
dataset_instance.dataset.uuid = dataset_attrs["dataset_uuid"]
self._session_add(dataset_instance)
+12 -6
View File
@@ -132,11 +132,6 @@ class ModelPersistenceContext(metaclass=abc.ABCMeta):
)
self.persist_object(primary_data)
if init_from:
self.permission_provider.copy_dataset_permissions(init_from, primary_data)
primary_data.state = init_from.state
else:
self.permission_provider.set_default_hda_permissions(primary_data)
else:
ld = galaxy.model.LibraryDataset(folder=library_folder, name=name)
ldda = galaxy.model.LibraryDatasetDatasetAssociation(
@@ -208,6 +203,7 @@ class ModelPersistenceContext(metaclass=abc.ABCMeta):
filename=filename,
link_data=link_data,
output_name=output_name,
init_from=init_from,
)
else:
storage_callbacks.append(
@@ -218,11 +214,14 @@ class ModelPersistenceContext(metaclass=abc.ABCMeta):
filename=filename,
link_data=link_data,
output_name=output_name,
init_from=init_from,
)
)
return primary_data
def finalize_storage(self, primary_data, dataset_attributes, extra_files, filename, link_data, output_name):
def finalize_storage(
self, primary_data, dataset_attributes, extra_files, filename, link_data, output_name, init_from
):
if primary_data.dataset.purged:
# metadata won't be set, maybe we should do that, then purge ?
primary_data.dataset.file_size = 0
@@ -243,6 +242,13 @@ class ModelPersistenceContext(metaclass=abc.ABCMeta):
else:
# We are sure there are no extra files, so optimize things that follow by settting total size also.
primary_data.set_size(no_extra_files=True)
if init_from:
self.permission_provider.copy_dataset_permissions(init_from, primary_data)
primary_data.state = init_from.state
else:
self.permission_provider.set_default_hda_permissions(primary_data)
# TODO: this might run set_meta after copying the file to the object store, which could be inefficient if job working directory is closer to the node.
self.set_datasets_metadata(datasets=[primary_data], datasets_attributes=[dataset_attributes])
+22 -4
View File
@@ -3,12 +3,17 @@
import os
import string
from galaxy_test.driver.integration_util import (
integration_module_instance,
integration_tool_runner,
)
from ._base import (
BaseObjectStoreIntegrationTestCase,
files_count,
)
from .test_selection_with_resource_parameters import DISTRIBUTED_OBJECT_STORE_CONFIG_TEMPLATE
DISTRIBUTED_OBJECT_STORE_CONFIG_TEMPLATE = string.Template(
HIERARCHICAL_OBJECT_STORE_CONFIG_TEMPLATE = string.Template(
"""<?xml version="1.0"?>
<object_store type="hierarchical">
<backends>
@@ -39,7 +44,20 @@ DISTRIBUTED_OBJECT_STORE_CONFIG_TEMPLATE = string.Template(
TEST_INPUT_FILES_CONTENT = "1 2 3"
class TestObjectStoreJobsIntegration(BaseObjectStoreIntegrationTestCase):
class TestDistributedObjectStore(BaseObjectStoreIntegrationTestCase):
@classmethod
def handle_galaxy_config_kwds(cls, config):
super().handle_galaxy_config_kwds(config)
config["metadata_strategy"] = "directory"
config["object_store_store_by"] = "uuid"
cls._configure_object_store(DISTRIBUTED_OBJECT_STORE_CONFIG_TEMPLATE, config)
instance = integration_module_instance(TestDistributedObjectStore)
test_tools = integration_tool_runner(["all_output_types"])
class TestObjectStoreJobsIntegration(TestDistributedObjectStore):
# setup by _configure_object_store
files1_path: str
files2_path: str
@@ -48,7 +66,7 @@ class TestObjectStoreJobsIntegration(BaseObjectStoreIntegrationTestCase):
@classmethod
def handle_galaxy_config_kwds(cls, config):
super().handle_galaxy_config_kwds(config)
cls._configure_object_store(DISTRIBUTED_OBJECT_STORE_CONFIG_TEMPLATE, config)
cls._configure_object_store(HIERARCHICAL_OBJECT_STORE_CONFIG_TEMPLATE, config)
def setUp(self):
super().setUp()
@@ -68,7 +86,7 @@ class TestObjectStoreJobsIntegration(BaseObjectStoreIntegrationTestCase):
def test_files_count_and_content_in_each_objectstore_backend(self):
"""
According to the ObjectStore configuration given in the
`DISTRIBUTED_OBJECT_STORE_CONFIG_TEMPLATE` variable, datasets
`HIERARCHICAL_OBJECT_STORE_CONFIG_TEMPLATE` variable, datasets
can be stored on three backends, named:
- primary/files1;
- primary/files2;
@@ -43,6 +43,7 @@ TEST_TOOL_IDS = [
"collection_creates_dynamic_nested_from_json_elements",
"implicit_conversion",
"environment_variables",
"all_output_types",
]