From e09b766414297ccce6399bac3b61ac41aa40299e Mon Sep 17 00:00:00 2001 From: Johannes Hoermann <j.hoermann@adito.de> Date: Mon, 17 Dec 2018 10:39:07 +0100 Subject: [PATCH] [Projekt: Entwicklung - Neon][TicketNr.: 1029615][Versendete Angebote] --- entity/Offer_entity/Offer_entity.aod | 1 + .../entityfields/salesproject_id/stateProcess.js | 3 --- .../entityfields/status/onValueChange.js | 8 ++++++++ .../entityfields/status/possibleItemsProcess.js | 15 +++++++++++++-- neonView/OfferFilter_view/OfferFilter_view.aod | 4 ++++ 5 files changed, 26 insertions(+), 5 deletions(-) create mode 100644 entity/Offer_entity/entityfields/status/onValueChange.js diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod index 55fa397d025..49b997cfe10 100644 --- a/entity/Offer_entity/Offer_entity.aod +++ b/entity/Offer_entity/Offer_entity.aod @@ -77,6 +77,7 @@ <name>STATUS</name> <title>Status</title> <possibleItemsProcess>%aditoprj%/entity/Offer_entity/entityfields/status/possibleItemsProcess.js</possibleItemsProcess> + <state>EDITABLE</state> </entityField> <entityField> <name>USER_EDIT</name> diff --git a/entity/Offer_entity/entityfields/salesproject_id/stateProcess.js b/entity/Offer_entity/entityfields/salesproject_id/stateProcess.js index d4e696f145b..8116a21437c 100644 --- a/entity/Offer_entity/entityfields/salesproject_id/stateProcess.js +++ b/entity/Offer_entity/entityfields/salesproject_id/stateProcess.js @@ -8,9 +8,6 @@ switch (vars.get("$sys.operatingstate")) case neon.OPERATINGSTATE_NEW: result.object(neon.COMPONENTSTATE_EDITABLE); break; - case neon.OPERATINGSTATE_EDIT: - result.object(neon.COMPONENTSTATE_INVISIBLE); - break; default: result.object(neon.COMPONENTSTATE_READONLY); } \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/status/onValueChange.js b/entity/Offer_entity/entityfields/status/onValueChange.js new file mode 100644 index 00000000000..992760ebe86 --- /dev/null +++ b/entity/Offer_entity/entityfields/status/onValueChange.js @@ -0,0 +1,8 @@ +import("system.vars"); +import("OfferOrder_lib"); + +var offerId = vars.getString("$field.OFFERID"); +if (offerId && vars.get("$field.STATUS") == 2 || vars.get("$field.STATUS") == 3 || vars.get("$field.STATUS") == 4) +{ + OfferUtils.setSent(offerId); +} \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/status/possibleItemsProcess.js b/entity/Offer_entity/entityfields/status/possibleItemsProcess.js index a59c5804d8f..45a595aacaa 100644 --- a/entity/Offer_entity/entityfields/status/possibleItemsProcess.js +++ b/entity/Offer_entity/entityfields/status/possibleItemsProcess.js @@ -1,7 +1,18 @@ +import("system.logging"); import("system.result"); import("Keyword_lib"); +import("system.vars"); +import("OfferOrder_lib"); -var items; +var items = KeywordUtils.getStandardArray("OFFER.STATUS"); -items = KeywordUtils.getStandardArray("OFFER.STATUS"); + +if (!OfferUtils.isEditable(vars.get("$field.STATUS"))) +{ + items = items.filter(function(pItem) + { + return !OfferUtils.isEditable(pItem[0]); + }); +} +logging.log(items.toSource()) result.object(items); \ No newline at end of file diff --git a/neonView/OfferFilter_view/OfferFilter_view.aod b/neonView/OfferFilter_view/OfferFilter_view.aod index def21be810b..2054faee42e 100644 --- a/neonView/OfferFilter_view/OfferFilter_view.aod +++ b/neonView/OfferFilter_view/OfferFilter_view.aod @@ -61,6 +61,10 @@ <name>443c8480-5676-43a3-9617-f86dae39c960</name> <entityField>OFFERDATE</entityField> </neonTableColumn> + <neonTableColumn> + <name>c5780864-ac2c-4650-8630-2690a9a074ea</name> + <entityField>STATUS</entityField> + </neonTableColumn> <neonTableColumn> <name>6f55da1e-281c-44ba-ab97-729b75516c32</name> <entityField>NET</entityField> -- GitLab