From df0a22e2ab8156135b1fd1fdbe6a00a6e28b4338 Mon Sep 17 00:00:00 2001 From: "j.goderbauer" <j.goderbauer@adito.de> Date: Mon, 18 Feb 2019 14:34:28 +0100 Subject: [PATCH] [Projekt: Entwicklung - Neon][TicketNr.: 1030337][Umsetzung Keywordlogik] --- .../documentation.adoc | 19 ++++++++++++++++++- .../KeywordEntry_entity.aod | 4 +++- .../entityfields/keyid/stateProcess.js | 11 +++++++++++ .../recordcontainers/db/orderClauseProcess.js | 1 + .../KeywordAttributeFilter_view.aod | 8 ++++---- .../KeywordEntryEdit_view.aod | 4 ++++ .../KeywordEntryFilter_view.aod | 8 ++++++-- 7 files changed, 47 insertions(+), 8 deletions(-) create mode 100644 entity/KeywordEntry_entity/entityfields/keyid/stateProcess.js diff --git a/entity/KeywordAttribute_entity/documentation.adoc b/entity/KeywordAttribute_entity/documentation.adoc index decc1751fd..579af8ea92 100644 --- a/entity/KeywordAttribute_entity/documentation.adoc +++ b/entity/KeywordAttribute_entity/documentation.adoc @@ -7,4 +7,21 @@ You can specify special attributes per Keyword-container. It describes which Keyword-Attribute can be set - not which Keyword-Attribute-value is set on which entry. -Do not confuse the Keyword-Attributes with the standard Attributes (-> `Attribute_entity`). While the way it works is similar, the Keyword-Attributes are specifically developed for keywords and provide therefore different functionality. \ No newline at end of file +Do not confuse the Keyword-Attributes with the standard Attributes (-> `Attribute_entity`). While the way it works is similar, the Keyword-Attributes are specifically developed for keywords and provide therefore different functionality. + +[CAUTION] +==== +Never delete a Keyword-Attribute that is currently in use - there is no protection on the users side. +==== +//// +Currently there is no way to protect the record from being deleted by the user. +(So leave at least some hint) +//// + + +You might ask: + +> Why are there no essential Keyword-Attributes? + +The reason therefore is: Currently the Keyword-Attributes can only be used by a developer within JDito-Code. +So there is no need to add, modify, etc. the Keyword-Attributes for an administrator/power-user. \ No newline at end of file diff --git a/entity/KeywordEntry_entity/KeywordEntry_entity.aod b/entity/KeywordEntry_entity/KeywordEntry_entity.aod index 0a25a091e6..f51c8dab46 100644 --- a/entity/KeywordEntry_entity/KeywordEntry_entity.aod +++ b/entity/KeywordEntry_entity/KeywordEntry_entity.aod @@ -32,6 +32,7 @@ <name>KEYID</name> <title>Key</title> <state>READONLY</state> + <stateProcess>%aditoprj%/entity/KeywordEntry_entity/entityfields/keyid/stateProcess.js</stateProcess> <valueProcess>%aditoprj%/entity/KeywordEntry_entity/entityfields/keyid/valueProcess.js</valueProcess> </entityField> <entityField> @@ -43,7 +44,8 @@ <name>SORTING</name> <documentation>%aditoprj%/entity/KeywordEntry_entity/entityfields/sorting/documentation.adoc</documentation> <title>Sorting</title> - <state>READONLY</state> + <mandatory v="true" /> + <state>AUTO</state> </entityField> <entityField> <name>ISACTIVE</name> diff --git a/entity/KeywordEntry_entity/entityfields/keyid/stateProcess.js b/entity/KeywordEntry_entity/entityfields/keyid/stateProcess.js new file mode 100644 index 0000000000..11f1cb9940 --- /dev/null +++ b/entity/KeywordEntry_entity/entityfields/keyid/stateProcess.js @@ -0,0 +1,11 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); + +var fieldState; +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) + fieldState = neon.COMPONENTSTATE_AUTO; +else + fieldState = neon.COMPONENTSTATE_READONLY; + +result.string(fieldState); \ No newline at end of file diff --git a/entity/KeywordEntry_entity/recordcontainers/db/orderClauseProcess.js b/entity/KeywordEntry_entity/recordcontainers/db/orderClauseProcess.js index b8dafebb3d..e32403dc6e 100644 --- a/entity/KeywordEntry_entity/recordcontainers/db/orderClauseProcess.js +++ b/entity/KeywordEntry_entity/recordcontainers/db/orderClauseProcess.js @@ -4,4 +4,5 @@ import("system.result"); result.object({ "AB_KEYWORD_ENTRY.CONTAINER": db.ASCENDING ,"AB_KEYWORD_ENTRY.SORTING": db.ASCENDING + ,"AB_KEYWORD_ENTRY.TITLE": db.ASCENDING }); \ No newline at end of file diff --git a/neonView/KeywordAttributeFilter_view/KeywordAttributeFilter_view.aod b/neonView/KeywordAttributeFilter_view/KeywordAttributeFilter_view.aod index 58405b8527..629a4295a1 100644 --- a/neonView/KeywordAttributeFilter_view/KeywordAttributeFilter_view.aod +++ b/neonView/KeywordAttributeFilter_view/KeywordAttributeFilter_view.aod @@ -18,6 +18,10 @@ <name>94fdd272-46f0-415e-aff8-76789a215921</name> <entityField>#ICON</entityField> </neonTableColumn> + <neonTableColumn> + <name>7efe2ae9-8b76-439f-95cb-547f7dec9057</name> + <entityField>CONTAINER</entityField> + </neonTableColumn> <neonTableColumn> <name>682fd08f-b121-469c-b86e-afdf013dbc7b</name> <entityField>NAME</entityField> @@ -26,10 +30,6 @@ <name>8d142e4d-c15d-409a-9a2c-251192e3e98e</name> <entityField>TYPE</entityField> </neonTableColumn> - <neonTableColumn> - <name>7efe2ae9-8b76-439f-95cb-547f7dec9057</name> - <entityField>CONTAINER</entityField> - </neonTableColumn> </columns> </tableViewTemplate> </children> diff --git a/neonView/KeywordEntryEdit_view/KeywordEntryEdit_view.aod b/neonView/KeywordEntryEdit_view/KeywordEntryEdit_view.aod index 5f5e927e38..90a553cbf1 100644 --- a/neonView/KeywordEntryEdit_view/KeywordEntryEdit_view.aod +++ b/neonView/KeywordEntryEdit_view/KeywordEntryEdit_view.aod @@ -25,6 +25,10 @@ <name>3fb4b999-853a-407e-b928-8f5e633c1dc5</name> <entityField>ISACTIVE</entityField> </entityFieldLink> + <entityFieldLink> + <name>fc93fdff-860e-4593-8355-9c2677877964</name> + <entityField>KEYID</entityField> + </entityFieldLink> </fields> </genericViewTemplate> </children> diff --git a/neonView/KeywordEntryFilter_view/KeywordEntryFilter_view.aod b/neonView/KeywordEntryFilter_view/KeywordEntryFilter_view.aod index 37211f010c..107d221157 100644 --- a/neonView/KeywordEntryFilter_view/KeywordEntryFilter_view.aod +++ b/neonView/KeywordEntryFilter_view/KeywordEntryFilter_view.aod @@ -18,6 +18,10 @@ <name>0e85b64c-6ce8-4221-8544-b8b5152a1292</name> <entityField>#ICON</entityField> </neonTableColumn> + <neonTableColumn> + <name>7f8c3b75-62dc-4826-bad3-99aa9d471067</name> + <entityField>CONTAINER</entityField> + </neonTableColumn> <neonTableColumn> <name>4dc50d75-d856-4fca-bd4d-d79eb3c8769f</name> <entityField>KEYID</entityField> @@ -31,8 +35,8 @@ <entityField>ISACTIVE</entityField> </neonTableColumn> <neonTableColumn> - <name>7f8c3b75-62dc-4826-bad3-99aa9d471067</name> - <entityField>CONTAINER</entityField> + <name>64a15e98-c6da-4c36-b20b-af1867b15602</name> + <entityField>SORTING</entityField> </neonTableColumn> </columns> </tableViewTemplate> -- GitLab