Skip to content

Commit 553c9ed

Browse files
committed
study services to card
1 parent 9a49b3a commit 553c9ed

File tree

3 files changed

+45
-13
lines changed

3 files changed

+45
-13
lines changed

services/static-webserver/client/source/class/osparc/dashboard/CardBase.js

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -643,7 +643,6 @@ qx.Class.define("osparc.dashboard.CardBase", {
643643
}
644644

645645
if (this.isResourceType("study") || this.isResourceType("template")) {
646-
// OM here
647646
const params = {
648647
url: {
649648
studyId: this.getResourceData()["uuid"]
@@ -652,29 +651,25 @@ qx.Class.define("osparc.dashboard.CardBase", {
652651
osparc.data.Resources.fetch("studies", "getServices", params)
653652
.then(resp => {
654653
const services = resp["services"];
655-
console.log("OM get Study Services", services);
656654
this.setEmptyWorkbench(services.length === 0);
657655

658656
// Updatable study
659-
if (osparc.study.Utils.isWorkbenchRetired(workbench)) {
657+
if (osparc.study.Utils.anyServiceRetired(services)) {
660658
this.setUpdatable("retired");
661-
} else if (osparc.study.Utils.isWorkbenchDeprecated(workbench)) {
659+
} else if (osparc.study.Utils.anyServiceDeprecated(services)) {
662660
this.setUpdatable("deprecated");
663-
} else {
664-
const updatable = osparc.study.Utils.isWorkbenchUpdatable(workbench)
665-
if (updatable) {
666-
this.setUpdatable("updatable");
667-
}
661+
} else if (osparc.study.Utils.anyServiceUpdatable(services)) {
662+
this.setUpdatable("updatable");
668663
}
669664

670665
// Block card
671666
const unaccessibleServices = services.filter(service => service["execute"] === false);
672667
if (unaccessibleServices.length) {
673668
this.setBlocked("UNKNOWN_SERVICES");
674-
let image = "@FontAwesome5Solid/ban/";
675-
let toolTipText = this.tr("Service info missing");
669+
const image = "@FontAwesome5Solid/ban/";
670+
let toolTipText = this.tr("Unaccessible service(s):");
676671
unaccessibleServices.forEach(unSrv => {
677-
toolTipText += "<br>" + unSrv.key + ":" + unSrv.release.version;
672+
toolTipText += "<br>" + unSrv.key + ":" + osparc.service.Utils.extractVersionDisplay(unSrv.release);
678673
});
679674
this.__showBlockedCard(image, toolTipText);
680675
}

services/static-webserver/client/source/class/osparc/service/Utils.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,10 @@ qx.Class.define("osparc.service.Utils", {
189189
},
190190

191191
extractVersionDisplay: function(metadata) {
192-
return metadata["versionDisplay"] ? metadata["versionDisplay"] : metadata["version"];
192+
if (metadata) {
193+
return metadata["versionDisplay"] ? metadata["versionDisplay"] : metadata["version"];
194+
}
195+
return "";
193196
},
194197

195198
getReleasedDate: function(key, version) {

services/static-webserver/client/source/class/osparc/study/Utils.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,40 @@ qx.Class.define("osparc.study.Utils", {
7474
return msg;
7575
},
7676

77+
anyServiceRetired: function(studyServices) {
78+
const isRetired = studyServices.some(service => {
79+
if (service["release"] && service["release"]["retired"]) {
80+
const retirementDate = new Date(service["release"]["retired"]);
81+
const currentDate = new Date();
82+
return retirementDate < currentDate;
83+
}
84+
return false;
85+
});
86+
return isRetired;
87+
},
88+
89+
anyServiceDeprecated: function(studyServices) {
90+
const isDeprecated = studyServices.some(service => {
91+
if (service["release"] && service["release"]["retired"]) {
92+
const retirementDate = new Date(service["release"]["retired"]);
93+
const currentDate = new Date();
94+
return retirementDate > currentDate;
95+
}
96+
return false;
97+
});
98+
return isDeprecated;
99+
},
100+
101+
anyServiceUpdatable: function(studyServices) {
102+
const isUpdatable = studyServices.some(service => {
103+
if (service["release"] && service["release"]["compatibility"]) {
104+
return Boolean(service["release"]["compatibility"]);
105+
}
106+
return false;
107+
});
108+
return isUpdatable;
109+
},
110+
77111
isWorkbenchUpdatable: function(workbench) {
78112
const services = new Set(this.extractUniqueServices(workbench));
79113
const isUpdatable = Array.from(services).some(srv => osparc.service.Utils.isUpdatable(srv));

0 commit comments

Comments
 (0)