diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod index 6424391b69d74ca458ed994cacfcdc413506b853..affe0d3aac583150ced99e60ab52eb1407ee8d9e 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 0000000000000000000000000000000000000000..8225159ab271d45cf061f4e302b1eac50adada28 --- /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 0000000000000000000000000000000000000000..4c5360f5be4a89227e57e90bb98bdcaed69d6786 --- /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 5c640c079ddca224a84ea8fe108d10d39d0f926c..d80ff786571df619cb3388194ac84777938acbff 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