This is an automated email from the ASF dual-hosted git repository. machristie pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/airavata-django-portal.git
The following commit(s) were added to refs/heads/develop by this push: new ce62839 AIRAVATA-3334 allow passing through string type inputs new f909337 Merge branch 'AIRAVATA-3334-allow-passing-data-product-uris-for-inputs-to-crea' into develop ce62839 is described below commit ce6283950bbfc855a81131316190bce646335a7d Author: Marcus Christie <machris...@apache.org> AuthorDate: Tue May 26 15:34:41 2020 -0400 AIRAVATA-3334 allow passing through string type inputs --- .../js/containers/CreateExperimentContainer.vue | 8 ++++---- .../django_airavata_workspace/js/entry-create-experiment.js | 8 ++++---- .../django_airavata_workspace/create_experiment.html | 2 +- django_airavata/apps/workspace/views.py | 12 ++++++++---- 4 files changed, 17 insertions(+), 13 deletions(-) diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/containers/CreateExperimentContainer.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/containers/CreateExperimentContainer.vue index ff17345..a1c1600 100644 --- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/containers/CreateExperimentContainer.vue +++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/containers/CreateExperimentContainer.vue @@ -20,7 +20,7 @@ import moment from "moment"; export default { name: "create-experiment-container", - props: ["app-module-id", "user-input-files", "experiment-data-dir"], + props: ["app-module-id", "user-input-values", "experiment-data-dir"], data() { return { experiment: null, @@ -56,13 +56,13 @@ export default { experiment.experimentName = appModule.appModuleName + " on " + moment().format("lll"); this.appModule = appModule; - if (this.userInputFiles) { - Object.keys(this.userInputFiles).forEach(k => { + if (this.userInputValues) { + Object.keys(this.userInputValues).forEach(k => { const experimentInput = experiment.experimentInputs.find( inp => inp.name === k ); if (experimentInput) { - experimentInput.value = this.userInputFiles[k]; + experimentInput.value = this.userInputValues[k]; } }); } diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/entry-create-experiment.js b/django_airavata/apps/workspace/static/django_airavata_workspace/js/entry-create-experiment.js index 4f2e983..6cdd934 100644 --- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/entry-create-experiment.js +++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/entry-create-experiment.js @@ -8,7 +8,7 @@ entry(Vue => { h(CreateExperimentContainer, { props: { appModuleId: this.appModuleId, - userInputFiles: this.userInputFiles, + userInputValues: this.userInputValues, experimentDataDir: this.experimentDataDir } }) @@ -17,15 +17,15 @@ entry(Vue => { data() { return { appModuleId: null, - userInputFiles: null + userInputValues: null }; }, beforeMount() { if (this.$el.dataset.appModuleId) { this.appModuleId = this.$el.dataset.appModuleId; } - if (this.$el.dataset.userInputFiles) { - this.userInputFiles = JSON.parse(this.$el.dataset.userInputFiles); + if (this.$el.dataset.userInputValues) { + this.userInputValues = JSON.parse(this.$el.dataset.userInputValues); } if (this.$el.dataset.experimentDataDir) { this.experimentDataDir = this.$el.dataset.experimentDataDir; diff --git a/django_airavata/apps/workspace/templates/django_airavata_workspace/create_experiment.html b/django_airavata/apps/workspace/templates/django_airavata_workspace/create_experiment.html index 08939a2..f618f18 100644 --- a/django_airavata/apps/workspace/templates/django_airavata_workspace/create_experiment.html +++ b/django_airavata/apps/workspace/templates/django_airavata_workspace/create_experiment.html @@ -2,7 +2,7 @@ {% block content %} -<div id="{{ bundle_name }}" data-app-module-id="{{ app_module_id }}" data-user-input-files="{{ user_input_files }}" +<div id="{{ bundle_name }}" data-app-module-id="{{ app_module_id }}" data-user-input-values="{{ user_input_values }}" {% if experiment_data_dir %}data-experiment-data-dir="{{ experiment_data_dir }}"{% endif %} > </div> diff --git a/django_airavata/apps/workspace/views.py b/django_airavata/apps/workspace/views.py index c0da11e..4d3289f 100644 --- a/django_airavata/apps/workspace/views.py +++ b/django_airavata/apps/workspace/views.py @@ -82,7 +82,7 @@ def create_experiment(request, app_module_id): if app_interface.status_code != 200: raise Exception("Failed to load application module data: {}".format( app_interface.data['detail'])) - user_input_files = {} + user_input_values = {} for app_input in app_interface.data['applicationInputs']: if (app_input['type'] == DataType.URI and app_input['name'] in request.GET): @@ -95,7 +95,7 @@ def create_experiment(request, app_module_id): data_product = request.airavata_client.getDataProduct( request.authz_token, dp_uri) if data_products_helper.exists(request, data_product): - user_input_files[app_input['name']] = dp_uri + user_input_values[app_input['name']] = dp_uri except Exception as e: logger.exception( "Failed checking data product uri: {dp_uri}") @@ -103,13 +103,17 @@ def create_experiment(request, app_module_id): data_product_uri = data_products_helper.user_file_exists( request, user_file_url.path) if data_product_uri is not None: - user_input_files[app_input['name']] = data_product_uri + user_input_values[app_input['name']] = data_product_uri except ValueError as e: logger.exception(f"Invalid user file value: {user_file_value}") + elif (app_input['type'] == DataType.STRING and + app_input['name'] in request.GET): + name = app_input['name'] + user_input_values[name] = request.GET[name] context = { 'bundle_name': 'create-experiment', 'app_module_id': app_module_id, - 'user_input_files': json.dumps(user_input_files) + 'user_input_values': json.dumps(user_input_values) } if 'experiment-data-dir' in request.GET: context['experiment_data_dir'] = request.GET['experiment-data-dir']