From 9680abdafb31df53d2a52338e64f688f9c85d448 Mon Sep 17 00:00:00 2001 From: Johannes Hoermann <j.hoermann@adito.de> Date: Wed, 26 Jun 2019 16:25:41 +0200 Subject: [PATCH] state processes in offer consumers --- entity/Offer_entity/Offer_entity.aod | 2 ++ .../entityfields/attributes/stateProcess.js | 15 +++++++++++++++ .../entityfields/documents/stateProcess.js | 14 ++++++++++++++ .../entityfields/maindocuments/stateProcess.js | 14 +++++++++++--- 4 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 entity/Offer_entity/entityfields/attributes/stateProcess.js create mode 100644 entity/Offer_entity/entityfields/documents/stateProcess.js diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod index 6424391b69..affe0d3aac 100644 --- a/entity/Offer_entity/Offer_entity.aod +++ b/entity/Offer_entity/Offer_entity.aod @@ -223,6 +223,7 @@ <entityConsumer> <name>Documents</name> <selectionMode>MULTI</selectionMode> + <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/documents/stateProcess.js</stateProcess> <dependency> <name>dependency</name> <entityName>Document_entity</entityName> @@ -556,6 +557,7 @@ </entityField> <entityConsumer> <name>Attributes</name> + <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/attributes/stateProcess.js</stateProcess> <onValidation>%aditoprj%/entity/Offer_entity/entityfields/attributes/onValidation.js</onValidation> <dependency> <name>dependency</name> diff --git a/entity/Offer_entity/entityfields/attributes/stateProcess.js b/entity/Offer_entity/entityfields/attributes/stateProcess.js new file mode 100644 index 0000000000..8225159ab2 --- /dev/null +++ b/entity/Offer_entity/entityfields/attributes/stateProcess.js @@ -0,0 +1,15 @@ +import("Offer_lib"); +import("Sql_lib"); +import("system.vars"); +import("system.db"); +import("system.neon"); +import("system.result"); + +if (OfferUtils.isEditable(vars.get("$field.STATUS"))) +{ + result.string(neon.COMPONENTSTATE_EDITABLE); +} +else +{ + result.string(neon.COMPONENTSTATE_READONLY); +} \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/documents/stateProcess.js b/entity/Offer_entity/entityfields/documents/stateProcess.js new file mode 100644 index 0000000000..4c5360f5be --- /dev/null +++ b/entity/Offer_entity/entityfields/documents/stateProcess.js @@ -0,0 +1,14 @@ +import("system.logging"); +import("system.vars"); +import("Offer_lib"); +import("system.result"); +import("system.neon"); + +if (OfferUtils.isEditable(vars.get("$field.STATUS"))) +{ + result.string(neon.COMPONENTSTATE_EDITABLE); +} +else +{ + result.string(neon.COMPONENTSTATE_READONLY); +} \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/maindocuments/stateProcess.js b/entity/Offer_entity/entityfields/maindocuments/stateProcess.js index 5c640c079d..d80ff78657 100644 --- a/entity/Offer_entity/entityfields/maindocuments/stateProcess.js +++ b/entity/Offer_entity/entityfields/maindocuments/stateProcess.js @@ -1,14 +1,22 @@ +import("Offer_lib"); import("system.result"); import("system.db"); import("system.vars"); import("system.neon"); import("Sql_lib"); -if (0 == db.getBinaryCount("OFFER", "DOCUMENT", vars.get("$sys.uid"), SqlUtils.getSystemAlias(), "MAINDOCUMENT")) +if (OfferUtils.isEditable(vars.get("$field.STATUS"))) { - result.string(neon.COMPONENTSTATE_INVISIBLE); + if (0 == db.getBinaryCount("OFFER", "DOCUMENT", vars.get("$sys.uid"), SqlUtils.getSystemAlias(), "MAINDOCUMENT")) + { + result.string(neon.COMPONENTSTATE_INVISIBLE); + } + else + { + result.string(neon.COMPONENTSTATE_EDITABLE); + } } else { - result.string(neon.COMPONENTSTATE_EDITABLE); + result.string(neon.COMPONENTSTATE_READONLY); } \ No newline at end of file -- GitLab