From c17c2ca8755c86e4cd311a94ab97ce9633faf56b Mon Sep 17 00:00:00 2001 From: felmer <franz-josef.elmer@id.ethz.ch> Date: Mon, 6 Jan 2020 11:14:21 +0100 Subject: [PATCH] SSDM-9037: Hide move button in case of no update rights --- .../html/js/views/DataSetForm/DataSetFormView.js | 9 ++++++--- .../js/views/ExperimentForm/ExperimentFormView.js | 11 +++++++++-- .../html/js/views/ProjectForm/ProjectFormView.js | 11 +++++++++-- .../html/js/views/SampleForm/SampleFormView.js | 12 ++++++++++-- 4 files changed, 34 insertions(+), 9 deletions(-) diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js index 00d6e9f2883..e53b58ff952 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js @@ -884,10 +884,13 @@ function DataSetFormView(dataSetFormController, dataSetFormModel) { this._allowedToEdit = function() { var dataSet = this._dataSetFormModel.v3_dataset; - var rights = this._dataSetFormModel.rights; - var updateAllowed = rights && rights.rights.indexOf("UPDATE") >= 0; + var updateAllowed = this._allowedToUpdate(this._dataSetFormModel.rights); return updateAllowed && dataSet.frozen == false; } + + this._allowedToUpdate = function(rights) { + return rights && rights.rights.indexOf("UPDATE") >= 0; + } this._allowedToMove = function() { var dataSet = this._dataSetFormModel.v3_dataset; @@ -899,7 +902,7 @@ function DataSetFormView(dataSetFormController, dataSetFormModel) { if (sample && sample.frozenForDataSets) { return false; } - return true; + return this._allowedToUpdate(this._dataSetFormModel.rights); } this._allowedToDelete = function() { diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormView.js index 31bcc8bb39f..7e1bbafe60a 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormView.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormView.js @@ -582,13 +582,20 @@ function ExperimentFormView(experimentFormController, experimentFormModel) { this._allowedToEdit = function() { var experiment = this._experimentFormModel.v3_experiment; - var updateAllowed = this._experimentFormModel.rights.rights.indexOf("UPDATE") >= 0; + var updateAllowed = this._allowedToUpdate(this._experimentFormModel.rights); return updateAllowed && experiment.frozen == false; } + this._allowedToUpdate = function(rights) { + return rights && rights.rights.indexOf("UPDATE") >= 0; + } + this._allowedToMove = function() { var experiment = this._experimentFormModel.v3_experiment; - return experiment.project.frozenForExperiments == false; + if (experiment.project.frozenForExperiments) { + return false; + } + return this._allowedToUpdate(this._experimentFormModel.rights); } this._allowedToDelete = function() { diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ProjectForm/ProjectFormView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ProjectForm/ProjectFormView.js index e94fd72c3fc..b620a3705ec 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ProjectForm/ProjectFormView.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ProjectForm/ProjectFormView.js @@ -291,12 +291,19 @@ function ProjectFormView(projectFormController, projectFormModel) { this._allowedToEdit = function() { var project = this._projectFormModel.v3_project; - return project.frozen == false && this._projectFormModel.rights.rights.indexOf("UPDATE") >= 0; + return project.frozen == false && this._allowedToUpdate(this._projectFormModel.rights); }; + + this._allowedToUpdate = function(rights) { + return rights && rights.rights.indexOf("UPDATE") >= 0; + } this._allowedToMove = function() { var project = this._projectFormModel.v3_project; - return project.frozen == false && project.space.frozenForProjects == false; + if (project.frozen || project.space.frozenForProjects) { + return false; + } + return this._allowedToUpdate(this._projectFormModel.rights); }; this._allowedToDelete = function() { diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormView.js index 3ba65f4165c..cdefad6e0bc 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormView.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormView.js @@ -1280,13 +1280,21 @@ function SampleFormView(sampleFormController, sampleFormModel) { this._allowedToEdit = function() { var sample = this._sampleFormModel.v3_sample; - var updateAllowed = this._sampleFormModel.rights.rights.indexOf("UPDATE") >= 0; + var updateAllowed = this._allowedToUpdate(this._sampleFormModel.rights); return updateAllowed && sample.frozen == false; } + this._allowedToUpdate = function(rights) { + return rights && rights.rights.indexOf("UPDATE") >= 0; + } + this._allowedToMove = function() { var sample = this._sampleFormModel.v3_sample; - return !sample.experiment || sample.experiment.frozenForSamples == false; + var experiment = sample.experiment; + if (experiment && experiment.frozenForSamples) { + return false; + } + return this._allowedToUpdate(this._sampleFormModel.rights); } this._allowedToDelete = function() { -- GitLab