diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod index 19a1998c19ddf86e19a14c5ebab490af54800509..f63c1362a9581dc1f1048202588a27538fa20bb5 100644 --- a/aliasDefinition/Data_alias/Data_alias.aod +++ b/aliasDefinition/Data_alias/Data_alias.aod @@ -733,8 +733,8 @@ <name>OBJECT_ID</name> <dbName></dbName> <primaryKey v="false" /> - <columnType v="5" /> - <size v="5" /> + <columnType v="12" /> + <size v="36" /> <scale v="0" /> <notNull v="false" /> <isUnique v="false" /> diff --git a/entity/HistoryLink_entity/HistoryLink_entity.aod b/entity/HistoryLink_entity/HistoryLink_entity.aod new file mode 100644 index 0000000000000000000000000000000000000000..3985f14fba0f804550fe492029c3501725c08205 --- /dev/null +++ b/entity/HistoryLink_entity/HistoryLink_entity.aod @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="UTF-8"?> +<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.1.0"> + <name>HistoryLink_entity</name> + <title>Connections</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <recordContainer>db</recordContainer> + <entityFields> + <entityIncomingField> + <name>#INCOMING</name> + </entityIncomingField> + <entityField> + <name>DATE_EDIT</name> + <valueProcess>%aditoprj%/entity/HistoryLink_entity/entityfields/date_edit/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>DATE_NEW</name> + <valueProcess>%aditoprj%/entity/HistoryLink_entity/entityfields/date_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>HISTORY_ID</name> + </entityField> + <entityField> + <name>HISTORYLINKID</name> + </entityField> + <entityField> + <name>OBJECT_ID</name> + <title>Object</title> + </entityField> + <entityField> + <name>ROW_ID</name> + <title>Dataset</title> + <linkedContextProcess>%aditoprj%/entity/HistoryLink_entity/entityfields/row_id/linkedContextProcess.js</linkedContextProcess> + </entityField> + <entityField> + <name>USER_EDIT</name> + <valueProcess>%aditoprj%/entity/HistoryLink_entity/entityfields/user_edit/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>USER_NEW</name> + <valueProcess>%aditoprj%/entity/HistoryLink_entity/entityfields/user_new/valueProcess.js</valueProcess> + </entityField> + <entityParameter> + <name>HistoryId_param</name> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="false" /> + <description>PARAMETER</description> + </entityParameter> + <entityParameter> + <name>ObjectId_param</name> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="false" /> + <description>PARAMETER</description> + </entityParameter> + <entityParameter> + <name>RowId_param</name> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="false" /> + <description>PARAMETER</description> + </entityParameter> + <entityIncomingField> + <name>HistoryLink_dfi</name> + <fieldType>DEPENDENCY_IN</fieldType> + <recordContainer>db</recordContainer> + <dependencies> + <entityDependency> + <name>472f9572-006e-4a4f-b20e-99180269e414</name> + <entityName>History_entity</entityName> + <fieldName>HistoryLink_dfo</fieldName> + <isOutgoing v="false" /> + </entityDependency> + </dependencies> + </entityIncomingField> + </entityFields> + <recordContainers> + <dbRecordContainer> + <name>db</name> + <title>Connections</title> + <alias>Data_alias</alias> + <conditionProcess>%aditoprj%/entity/HistoryLink_entity/recordcontainers/db/conditionProcess.js</conditionProcess> + <linkInformation> + <linkInformation> + <name>50ec41d7-69e0-4e04-aa52-8e9f656c1b9e</name> + <tableName>HISTORYLINK</tableName> + <primaryKey>HISTORYLINKID</primaryKey> + <isUIDTable v="true" /> + <readonly v="false" /> + </linkInformation> + </linkInformation> + <recordFieldMappings> + <dbRecordFieldMapping> + <name>DATE_EDIT.value</name> + <recordfield>HISTORYLINK.DATE_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_NEW.value</name> + <recordfield>HISTORYLINK.DATE_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>HISTORY_ID.value</name> + <recordfield>HISTORYLINK.HISTORYID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>HISTORYLINKID.value</name> + <recordfield>HISTORYLINK.HISTORYLINKID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>OBJECT_ID.value</name> + <recordfield>HISTORYLINK.OBJECT_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>ROW_ID.value</name> + <recordfield>HISTORYLINK.ROW_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_EDIT.value</name> + <recordfield>HISTORYLINK.USER_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_NEW.value</name> + <recordfield>HISTORYLINK.USER_NEW</recordfield> + </dbRecordFieldMapping> + </recordFieldMappings> + </dbRecordContainer> + </recordContainers> +</entity> diff --git a/entity/HistoryLink_entity/entityfields/date_edit/valueProcess.js b/entity/HistoryLink_entity/entityfields/date_edit/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..00e95d744eab3b281e0f6ae5ee325cee91419534 --- /dev/null +++ b/entity/HistoryLink_entity/entityfields/date_edit/valueProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); + +if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_EDIT) + result.string(vars.getString("$sys.date")); \ No newline at end of file diff --git a/entity/HistoryLink_entity/entityfields/date_new/valueProcess.js b/entity/HistoryLink_entity/entityfields/date_new/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..7ace62531432fbfb08b15fc33e25d271dc34bd6a --- /dev/null +++ b/entity/HistoryLink_entity/entityfields/date_new/valueProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); + +if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW) + result.string(vars.getString("$sys.date")); \ No newline at end of file diff --git a/entity/HistoryLink_entity/entityfields/row_id/linkedContextProcess.js b/entity/HistoryLink_entity/entityfields/row_id/linkedContextProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..0053823c5b2e09d97cc0f1338ca57e72b7a77c8d --- /dev/null +++ b/entity/HistoryLink_entity/entityfields/row_id/linkedContextProcess.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.result"); +import("Context_lib"); + +result.string(ContextUtils.getContextName(vars.get("$field.OBJECT_ID"))) \ No newline at end of file diff --git a/entity/HistoryLink_entity/entityfields/user_edit/valueProcess.js b/entity/HistoryLink_entity/entityfields/user_edit/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..67c86b14ca987054658978c88cecf6bd03fa44af --- /dev/null +++ b/entity/HistoryLink_entity/entityfields/user_edit/valueProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); + +if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_EDIT) + result.string(vars.getString("$sys.user")); \ No newline at end of file diff --git a/entity/HistoryLink_entity/entityfields/user_new/valueProcess.js b/entity/HistoryLink_entity/entityfields/user_new/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..81966a3fbcd9b3cf25a186c93baa1928abc9d6d2 --- /dev/null +++ b/entity/HistoryLink_entity/entityfields/user_new/valueProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); + +if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW) + result.string(vars.getString("$sys.user")); \ No newline at end of file diff --git a/entity/HistoryLink_entity/recordcontainers/db/conditionProcess.js b/entity/HistoryLink_entity/recordcontainers/db/conditionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..5d794fb7dc36534d7e88ccf4869b87107913a065 --- /dev/null +++ b/entity/HistoryLink_entity/recordcontainers/db/conditionProcess.js @@ -0,0 +1,11 @@ +import("system.db"); +import("system.result"); +import("Sql_lib"); + +var cond = SqlCondition.begin() + .andPrepareVars("HISTORYLINK.HISTORY_ID", "$param.HistoryId_param") + .andPrepareVars("HISTORYLINK.ROW_ID", "$param.RowId_param") + .andPrepareVars("HISTORYLINK.OBJECT_ID", "$param.ObjectId_param"); + +//TODO: use a preparedCondition when available +result.string(db.translateCondition(cond.build("1 = 1"))); \ No newline at end of file diff --git a/entity/History_entity/History_entity.aod b/entity/History_entity/History_entity.aod index c232c3fa69648f2d6fbfc2135be5f1c0090e8094..bdf6150ff3d46ff77b2b94e00c2df9ecbcdc5246 100644 --- a/entity/History_entity/History_entity.aod +++ b/entity/History_entity/History_entity.aod @@ -137,6 +137,51 @@ <mandatory v="false" /> <description>PARAMETER</description> </entityParameter> + <entityField> + <name>DATE_EDIT</name> + <valueProcess>%aditoprj%/entity/History_entity/entityfields/date_edit/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>USER_EDIT</name> + <valueProcess>%aditoprj%/entity/History_entity/entityfields/user_edit/valueProcess.js</valueProcess> + </entityField> + <entityOutgoingField> + <name>HistoryLink_dfo</name> + <title>Connections</title> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>HistoryLink_entity</entityName> + <fieldName>HistoryLink_dfi</fieldName> + </dependency> + <children> + <entityParameter> + <name>HistoryId_param</name> + <code>%aditoprj%/entity/History_entity/entityfields/historylink_dfo/children/historyid_param/code.js</code> + </entityParameter> + </children> + </entityOutgoingField> + <entityParameter> + <name>ObjectId_param</name> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="false" /> + <description>PARAMETER</description> + </entityParameter> + <entityField> + <name>ObjectId</name> + <title>Object</title> + <description>Only for displaying the param</description> + <state>READONLY</state> + <valueProcess>%aditoprj%/entity/History_entity/entityfields/objectid/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>RowId</name> + <title>Dataset</title> + <description>Only for displaying the param</description> + <state>READONLY</state> + <valueProcess>%aditoprj%/entity/History_entity/entityfields/rowid/valueProcess.js</valueProcess> + </entityField> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/History_entity/entityfields/date_edit/valueProcess.js b/entity/History_entity/entityfields/date_edit/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..00e95d744eab3b281e0f6ae5ee325cee91419534 --- /dev/null +++ b/entity/History_entity/entityfields/date_edit/valueProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); + +if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_EDIT) + result.string(vars.getString("$sys.date")); \ No newline at end of file diff --git a/entity/History_entity/entityfields/historylink_dfo/children/historyid_param/code.js b/entity/History_entity/entityfields/historylink_dfo/children/historyid_param/code.js new file mode 100644 index 0000000000000000000000000000000000000000..045d0b2e5c9b16ae0134c7226f385a43e8ae3884 --- /dev/null +++ b/entity/History_entity/entityfields/historylink_dfo/children/historyid_param/code.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.get("$field.HISTORYID")) \ No newline at end of file diff --git a/entity/History_entity/entityfields/objectid/valueProcess.js b/entity/History_entity/entityfields/objectid/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..d158186750f3a3b90b044d2e65a32631987a9df3 --- /dev/null +++ b/entity/History_entity/entityfields/objectid/valueProcess.js @@ -0,0 +1,10 @@ +import("system.result"); +import("system.vars"); +if (vars.exists("$param.ObjectId_param")) +{ + result.string(vars.get("$param.ObjectId_param")); +} +else +{ + result.string(""); +} \ No newline at end of file diff --git a/entity/History_entity/entityfields/rowid/valueProcess.js b/entity/History_entity/entityfields/rowid/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..ac57c2420cd6b3286deff112021267a5a0dc606f --- /dev/null +++ b/entity/History_entity/entityfields/rowid/valueProcess.js @@ -0,0 +1,10 @@ +import("system.result"); +import("system.vars"); +if (vars.exists("$param.ObjectId_param")) +{ + result.string(vars.get("$param.RowId_param")); +} +else +{ + result.string(""); +} \ No newline at end of file diff --git a/entity/History_entity/entityfields/user_edit/valueProcess.js b/entity/History_entity/entityfields/user_edit/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..67c86b14ca987054658978c88cecf6bd03fa44af --- /dev/null +++ b/entity/History_entity/entityfields/user_edit/valueProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); + +if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_EDIT) + result.string(vars.getString("$sys.user")); \ No newline at end of file diff --git a/entity/History_entity/recordcontainers/db/onDBInsert.js b/entity/History_entity/recordcontainers/db/onDBInsert.js index 10db22cf0452e0bc6ba7f737923d798aac94dcb9..af32465b974c03a4b10ce3f07e2d2dd7d9e467a8 100644 --- a/entity/History_entity/recordcontainers/db/onDBInsert.js +++ b/entity/History_entity/recordcontainers/db/onDBInsert.js @@ -2,11 +2,14 @@ import("system.util"); import("system.db"); import("system.neon"); import("system.vars"); +import("Context_lib"); -if (vars.exists("$param.RowId_param") && vars.get("$param.RowId_param") != null ) -{ - var cols = ["HISTORYLINKID", "OBJECT_ID", "ROW_ID", "HISTORY_ID", "USER_NEW", "DATE_NEW"]; - var vals = [util.getNewUUID(), 1, vars.get("$param.RowId_param"), vars.getString("$field.HISTORYID"), vars.getString("$sys.user"), vars.getString("$sys.date")]; // use new OBJECT_ID for context - var colTypes = db.getColumnTypes("HISTORYLINK", cols); - db.insertData("HISTORYLINK", cols, colTypes, vals); +if (vars.exists("$param.RowId_param") && vars.get("$param.RowId_param") + && vars.exists("$param.ObjectId_param") && vars.get("$param.ObjectId_param")) +{ + db.insertData( + "HISTORYLINK", + ["HISTORYLINKID", "OBJECT_ID", "ROW_ID", "HISTORY_ID", "USER_NEW", "DATE_NEW"], + null, + [util.getNewUUID(), vars.get("$param.ObjectId_param"), vars.get("$param.RowId_param"), vars.getString("$field.HISTORYID"), vars.getString("$sys.user"), vars.getString("$sys.date")]); } \ No newline at end of file diff --git a/entity/Org_entity/Org_entity.aod b/entity/Org_entity/Org_entity.aod index 9cd7b47cd745b25bf3166987087c31c1a141da67..a9ec788b6816ac420dfdc9c7d218889eac004853 100644 --- a/entity/Org_entity/Org_entity.aod +++ b/entity/Org_entity/Org_entity.aod @@ -123,6 +123,10 @@ <code>%aditoprj%/entity/Org_entity/entityfields/orghistory_dfo/children/rowid_param/code.js</code> <triggerRecalculation v="true" /> </entityParameter> + <entityParameter> + <name>ObjectId_param</name> + <code>%aditoprj%/entity/Org_entity/entityfields/orghistory_dfo/children/objectid_param/code.js</code> + </entityParameter> </children> </entityOutgoingField> <entityOutgoingField> diff --git a/entity/Org_entity/entityfields/orghistory_dfo/children/objectid_param/code.js b/entity/Org_entity/entityfields/orghistory_dfo/children/objectid_param/code.js new file mode 100644 index 0000000000000000000000000000000000000000..008915f61deac19ccdd40fff81701de63eb3b6a2 --- /dev/null +++ b/entity/Org_entity/entityfields/orghistory_dfo/children/objectid_param/code.js @@ -0,0 +1,4 @@ +import("system.result"); +import("Context_lib"); + +result.string(ContextUtils.getCurrentContextId()); \ No newline at end of file diff --git a/entity/Pers_entity/Pers_entity.aod b/entity/Pers_entity/Pers_entity.aod index 9da804104180a08874a1a16a76c2a7c3ee064673..28b4c5d9733879a1a15ad51367ce3c4809bd70c1 100644 --- a/entity/Pers_entity/Pers_entity.aod +++ b/entity/Pers_entity/Pers_entity.aod @@ -120,6 +120,10 @@ <name>RowId_param</name> <code>%aditoprj%/entity/Pers_entity/entityfields/pershistory_dfo/children/rowid_param/code.js</code> </entityParameter> + <entityParameter> + <name>ObjectId_param</name> + <code>%aditoprj%/entity/Pers_entity/entityfields/pershistory_dfo/children/objectid_param/code.js</code> + </entityParameter> </children> </entityOutgoingField> <entityField> diff --git a/entity/Pers_entity/entityfields/pershistory_dfo/children/objectid_param/code.js b/entity/Pers_entity/entityfields/pershistory_dfo/children/objectid_param/code.js new file mode 100644 index 0000000000000000000000000000000000000000..008915f61deac19ccdd40fff81701de63eb3b6a2 --- /dev/null +++ b/entity/Pers_entity/entityfields/pershistory_dfo/children/objectid_param/code.js @@ -0,0 +1,4 @@ +import("system.result"); +import("Context_lib"); + +result.string(ContextUtils.getCurrentContextId()); \ No newline at end of file diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod index 60feafd15b73cdc88b115b86ef8b13959a7e9353..48149565f0d6be01c672aa9ec2f51c63ba0e4d3c 100644 --- a/entity/Salesproject_entity/Salesproject_entity.aod +++ b/entity/Salesproject_entity/Salesproject_entity.aod @@ -232,6 +232,10 @@ <code>%aditoprj%/entity/Salesproject_entity/entityfields/salesprojecthistory_dfo/children/rowid_param/code.js</code> <triggerRecalculation v="true" /> </entityParameter> + <entityParameter> + <name>ObjectId_param</name> + <code>%aditoprj%/entity/Salesproject_entity/entityfields/salesprojecthistory_dfo/children/objectid_param/code.js</code> + </entityParameter> </children> </entityOutgoingField> <entityOutgoingField> diff --git a/entity/Salesproject_entity/entityfields/salesprojecthistory_dfo/children/objectid_param/code.js b/entity/Salesproject_entity/entityfields/salesprojecthistory_dfo/children/objectid_param/code.js new file mode 100644 index 0000000000000000000000000000000000000000..008915f61deac19ccdd40fff81701de63eb3b6a2 --- /dev/null +++ b/entity/Salesproject_entity/entityfields/salesprojecthistory_dfo/children/objectid_param/code.js @@ -0,0 +1,4 @@ +import("system.result"); +import("Context_lib"); + +result.string(ContextUtils.getCurrentContextId()); \ No newline at end of file diff --git a/neonContext/HistoryLink_context/HistoryLink_context.aod b/neonContext/HistoryLink_context/HistoryLink_context.aod new file mode 100644 index 0000000000000000000000000000000000000000..a6ddda15de5b868763a6a58b03e57e679b9ef840 --- /dev/null +++ b/neonContext/HistoryLink_context/HistoryLink_context.aod @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.0.0"> + <name>HistoryLink_context</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <filterview>HistoryLinkFilter_view</filterview> + <entity>HistoryLink_entity</entity> + <references> + <neonViewReference> + <name>9fe94a17-0d0f-4d43-b233-7fde1c408b34</name> + <view>HistoryLinkFilter_view</view> + </neonViewReference> + </references> +</neonContext> diff --git a/neonView/HistoryEdit_view/HistoryEdit_view.aod b/neonView/HistoryEdit_view/HistoryEdit_view.aod index f47ee350a629476d0ef3d385a77a2c697657915e..8a00f4821205f79743a4d51aa282fcbba8b413d9 100644 --- a/neonView/HistoryEdit_view/HistoryEdit_view.aod +++ b/neonView/HistoryEdit_view/HistoryEdit_view.aod @@ -36,6 +36,14 @@ <name>a8cd83af-272b-4539-a4e9-02338e04106d</name> <entityField>MEDIUM</entityField> </entityFieldLink> + <entityFieldLink> + <name>278a193a-ba73-444b-b9e4-655ca529337c</name> + <entityField>ObjectId</entityField> + </entityFieldLink> + <entityFieldLink> + <name>fd3e13cf-eda1-4b44-be38-51b21154016d</name> + <entityField>RowId</entityField> + </entityFieldLink> </fields> </genericViewTemplate> </children> diff --git a/neonView/HistoryLinkFilter_view/HistoryLinkFilter_view.aod b/neonView/HistoryLinkFilter_view/HistoryLinkFilter_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..037292c09ca768e1e9f47866eaf44ef9ceca91c8 --- /dev/null +++ b/neonView/HistoryLinkFilter_view/HistoryLinkFilter_view.aod @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1"> + <name>HistoryLinkFilter_view</name> + <title>Connections</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <tableViewTemplate> + <name>HistroyLinkFilter_template</name> + <entityField>#ENTITY</entityField> + <columns> + <neonTableColumn> + <name>a529b696-f7e2-4890-8455-a5754035c830</name> + <entityField>OBJECT_ID</entityField> + </neonTableColumn> + <neonTableColumn> + <name>048fde66-f67e-423d-90ba-400b7f79fcef</name> + <entityField>ROW_ID</entityField> + </neonTableColumn> + </columns> + </tableViewTemplate> + </children> +</neonView> diff --git a/neonView/HistoryPreview_view/HistoryPreview_view.aod b/neonView/HistoryPreview_view/HistoryPreview_view.aod index 18522ce74646b23d91aa5cb39fb56346ea63b6af..24bae424a4a211ddd5adc2dcabbbbb1486f8badf 100644 --- a/neonView/HistoryPreview_view/HistoryPreview_view.aod +++ b/neonView/HistoryPreview_view/HistoryPreview_view.aod @@ -34,5 +34,10 @@ </entityFieldLink> </fields> </genericViewTemplate> + <neonViewReference> + <name>0285e0a3-44cc-42bd-b9c4-63c7def5399e</name> + <entityField>HistoryLink_dfo</entityField> + <view>HistoryLinkFilter_view</view> + </neonViewReference> </children> </neonView> diff --git a/others/db_changes/data/example_history/example_history.xml b/others/db_changes/data/example_history/example_history.xml index a6784ae72031ca4a1b6dd30f3abb4854f6eb20e8..17f6b8682190e3bb7f40e86952289f12efa300ad 100644 --- a/others/db_changes/data/example_history/example_history.xml +++ b/others/db_changes/data/example_history/example_history.xml @@ -17,7 +17,7 @@ <column name="ROW_ID" value="a589b58a-f120-42d8-9a64-0b176501eac7"/> <column name="USER_NEW" value="Gwendoline"/> <column name="DATE_NEW" valueDate="2018-08-03T12:02:52"/> - <column name="OBJECT_ID" valueNumeric="1"/> + <column name="OBJECT_ID" value="Org_context"/> </insert> <rollback> <delete tableName="HISTORYLINK"> diff --git a/others/db_changes/data/example_history/example_history_gfk.xml b/others/db_changes/data/example_history/example_history_gfk.xml index 25030e18f7ef9c5c703c237bac8ff3cdf39e0f4f..aff86c02d6716040e43d13a42338ce269b78663d 100644 --- a/others/db_changes/data/example_history/example_history_gfk.xml +++ b/others/db_changes/data/example_history/example_history_gfk.xml @@ -14,7 +14,7 @@ <insert tableName="HISTORYLINK"> <column name="HISTORYLINKID" value="5a4d249a-e3e4-48e5-80a5-2fd1567a82b8"/> <column name="HISTORY_ID" value="661a7b87-68ae-4d52-bc22-6bf96184e6fe"/> - <column name="OBJECT_ID" valueNumeric="1"/> + <column name="OBJECT_ID" value="Org_context"/> <column name="ROW_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2018-08-03T12:02:52"/> @@ -32,7 +32,7 @@ <insert tableName="HISTORYLINK"> <column name="HISTORYLINKID" value="b0fae79b-0b1e-4650-8d94-853d17cca7bd"/> <column name="HISTORY_ID" value="9dda39bf-966c-4560-be03-5ddbbc1da84a"/> - <column name="OBJECT_ID" valueNumeric="1"/> + <column name="OBJECT_ID" value="Org_context"/> <column name="ROW_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2018-07-31T12:02:52"/> @@ -50,7 +50,7 @@ <insert tableName="HISTORYLINK"> <column name="HISTORYLINKID" value="01ff4193-d5b4-41eb-b2db-ea31e5ed7df4"/> <column name="HISTORY_ID" value="94365b81-cddd-4f56-8379-7ba0a98840a4"/> - <column name="OBJECT_ID" valueNumeric="1"/> + <column name="OBJECT_ID" value="Org_context"/> <column name="ROW_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2018-08-03T12:02:52"/> @@ -68,7 +68,7 @@ <insert tableName="HISTORYLINK"> <column name="HISTORYLINKID" value="80d3de8f-fd86-401b-aeae-63b389b9310c"/> <column name="HISTORY_ID" value="6397161c-afed-40cf-a1bd-12e657054ce4"/> - <column name="OBJECT_ID" valueNumeric="1"/> + <column name="OBJECT_ID" value="Org_context"/> <column name="ROW_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2018-08-06T12:02:52"/> @@ -86,7 +86,7 @@ <insert tableName="HISTORYLINK"> <column name="HISTORYLINKID" value="5ad45b3e-72a0-419e-a183-17aaead38158"/> <column name="HISTORY_ID" value="b378876d-dba5-4e41-865f-9ac056bffa60"/> - <column name="OBJECT_ID" valueNumeric="1"/> + <column name="OBJECT_ID" value="Org_context"/> <column name="ROW_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2018-08-04T12:02:52"/> @@ -104,7 +104,7 @@ <insert tableName="HISTORYLINK"> <column name="HISTORYLINKID" value="6c212e64-a9db-4395-a118-5279dbc6761d"/> <column name="HISTORY_ID" value="beda92e0-bbd6-423a-8b49-78da30064e84"/> - <column name="OBJECT_ID" valueNumeric="1"/> + <column name="OBJECT_ID" value="Org_context"/> <column name="ROW_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2018-08-09T12:02:52"/> @@ -122,7 +122,7 @@ <insert tableName="HISTORYLINK"> <column name="HISTORYLINKID" value="8d384436-9989-4571-a193-cc3061249f97"/> <column name="HISTORY_ID" value="56c78f3d-e126-4e36-8031-d5eef9877243"/> - <column name="OBJECT_ID" valueNumeric="1"/> + <column name="OBJECT_ID" value="Org_context"/> <column name="ROW_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2018-08-04T12:02:52"/> @@ -140,7 +140,7 @@ <insert tableName="HISTORYLINK"> <column name="HISTORYLINKID" value="20a50d5d-fe87-4ed2-8f94-b2571b6b34e7"/> <column name="HISTORY_ID" value="9f498736-c523-4c63-8c53-28e49324b52b"/> - <column name="OBJECT_ID" valueNumeric="1"/> + <column name="OBJECT_ID" value="Org_context"/> <column name="ROW_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2018-08-12T12:02:52"/> @@ -158,7 +158,7 @@ <insert tableName="HISTORYLINK"> <column name="HISTORYLINKID" value="46d9d317-1b7d-4046-8278-9a4957cc1dfe"/> <column name="HISTORY_ID" value="1c711078-8324-4fcf-93ec-2c8aa29c0cc6"/> - <column name="OBJECT_ID" valueNumeric="1"/> + <column name="OBJECT_ID" value="Org_context"/> <column name="ROW_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2018-08-11T12:02:52"/> diff --git a/others/db_changes/data/example_history/extendHLink_62330df6.xml b/others/db_changes/data/example_history/extendHLink_62330df6.xml index fc451b436fce925345f39157677fd49314e04a16..5803f9afaa078e5dadf3bed16a03152be3a707b3 100644 --- a/others/db_changes/data/example_history/extendHLink_62330df6.xml +++ b/others/db_changes/data/example_history/extendHLink_62330df6.xml @@ -16,7 +16,7 @@ <column name="ROW_ID" value="a8e084e2-d68a-4f1e-a7bb-f8d46ad6293d"/> <column name="USER_NEW" value="Lisa Sommer"/> <column name="DATE_NEW" valueDate="2018-08-03T12:12:52"/> - <column name="OBJECT_ID" valueNumeric="3"/> + <column name="OBJECT_ID" value="3"/> </insert> <rollback> <delete tableName="HISTORYLINK"> diff --git a/others/db_changes/data/example_org/ORG_gfk.xml b/others/db_changes/data/example_org/ORG_gfk.xml index 00fb666f003699c091ada44196c42c051933f11f..517e169ce491db193079817d25fc8a96d8e1f740 100644 --- a/others/db_changes/data/example_org/ORG_gfk.xml +++ b/others/db_changes/data/example_org/ORG_gfk.xml @@ -80,7 +80,7 @@ <column name="ROW_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/> <column name="USER_NEW" value="admin"/> <column name="DATE_NEW" valueDate="2018-08-03T12:02:52"/> - <column name="OBJECT_ID" valueNumeric="1"/> + <column name="OBJECT_ID" value="Org_context"/> </insert> <insert tableName="HISTORY"> @@ -99,7 +99,7 @@ <column name="ROW_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/> <column name="USER_NEW" value="admin"/> <column name="DATE_NEW" valueDate="2018-08-03T17:33:52"/> - <column name="OBJECT_ID" valueNumeric="1"/> + <column name="OBJECT_ID" value="Org_context"/> </insert> @@ -119,7 +119,7 @@ <column name="ROW_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/> <column name="USER_NEW" value="admin"/> <column name="DATE_NEW" valueDate="2018-08-03T12:02:52"/> - <column name="OBJECT_ID" valueNumeric="1"/> + <column name="OBJECT_ID" value="Org_context"/> </insert> <rollback> diff --git a/others/db_changes/data/example_pers/PERS_pfiffig.xml b/others/db_changes/data/example_pers/PERS_pfiffig.xml index 7abd97f39edff20098bc195b22ae8495dbd03b16..4f365b0a9e2aef6a1a7e001044d0df16f19c5f8c 100644 --- a/others/db_changes/data/example_pers/PERS_pfiffig.xml +++ b/others/db_changes/data/example_pers/PERS_pfiffig.xml @@ -73,7 +73,7 @@ <column name="ROW_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/> <column name="USER_NEW" value="admin"/> <column name="DATE_NEW" valueDate="2018-06-03T14:02:52"/> - <column name="OBJECT_ID" valueNumeric="1"/> + <column name="OBJECT_ID" value="Pers_context"/> </insert> <rollback> <delete tableName="HISTORYLINK"> diff --git a/others/db_changes/data/example_pers/PERS_sommer.xml b/others/db_changes/data/example_pers/PERS_sommer.xml index 5e30b999b964d910491fbc315fb5244008a2fef5..30afcd62b575a81e0e3467b1e10f6092c84fc141 100644 --- a/others/db_changes/data/example_pers/PERS_sommer.xml +++ b/others/db_changes/data/example_pers/PERS_sommer.xml @@ -73,7 +73,7 @@ <column name="ROW_ID" value="56e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/> <column name="USER_NEW" value="admin"/> <column name="DATE_NEW" valueDate="2018-02-12T14:02:52"/> - <column name="OBJECT_ID" valueNumeric="1"/> + <column name="OBJECT_ID" value="Pers_context"/> </insert> <rollback> <delete tableName="HISTORYLINK"> diff --git a/others/db_changes/struct/create_historylink.xml b/others/db_changes/struct/create_historylink.xml index 09f8e3b8957e6737a240917d37fa7d934b0e6f87..2946acbaafda479f09aef2bf7c942d120026e06b 100644 --- a/others/db_changes/struct/create_historylink.xml +++ b/others/db_changes/struct/create_historylink.xml @@ -19,7 +19,7 @@ <column name="HISTORY_ID" type="CHAR(36)"> <constraints nullable="false" foreignKeyName="FK_HISTORYLINK_HISTORY_ID" references="HISTORY(HISTORYID)"/> </column> - <column name="OBJECT_ID" type="SMALLINT"/> + <column name="OBJECT_ID" type="NVARCHAR(36)"/> </createTable> <createIndex indexName="HISTORYLINK_ROW_OBJECT" tableName="HISTORYLINK"> diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js index 7bf597f1b96b2062472eb026905c2ac7ea834d9c..0e8909df452f5c452dca3ba97bd3cd22ca881697 100644 --- a/process/Context_lib/process.js +++ b/process/Context_lib/process.js @@ -9,26 +9,28 @@ import("system.vars"); function ContextUtils() {} /** + * Get the id of the current context * TODO: We need a function to either get the current contextname or BETTER: a function to get a UUID of the current context which doesn't change * * @return {String} Id of the current context */ ContextUtils.getCurrentContextId = function() { - + var entityName = vars.getString("$sys.currententityname"); // TODO: replace with Core-method instead of switch-case!!! - switch (vars.getString("$sys.currententityname")) + switch (entityName) { - case "Salesproject_entity": - return "Salesproject_context" + // if an Entity doesn't have a fitting context, add a case. default: - throw new Error("Context id doesn't exist for entity " + vars.getString("$sys.currententityname")) + // TODO: workaround: remove "entity" and add "context". This is a Workaround and has to be changed (see above todo)! + return entityName.substr(0, entityName.length-6) + "context"; + } } /** * TODO: use System function - * Returns the Name of a context + * Returns the Name of a context by the Id * * @param {String} pContextId the id of a context * @return {String} Name of the current context diff --git a/process/History_lib/History_lib.aod b/process/History_lib/History_lib.aod new file mode 100644 index 0000000000000000000000000000000000000000..78e2b760fd708b866d7b35ebc03c25545d45862a --- /dev/null +++ b/process/History_lib/History_lib.aod @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.7" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.1.7"> + <name>History_lib</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <process>%aditoprj%/process/History_lib/process.js</process> +</process> diff --git a/process/History_lib/process.js b/process/History_lib/process.js new file mode 100644 index 0000000000000000000000000000000000000000..7942202d900f37770443a8de9796f2b9a8a17cdd --- /dev/null +++ b/process/History_lib/process.js @@ -0,0 +1,27 @@ +import("Context_lib"); + +/** + * Methods for the History + * Do not create an instance of this! + * + * @class + */ +function HistoryUtils() {} + +/** + * + * @return {String} + */ +ContextUtils.getCurrentContextId = function() +{ + +} + +/** + * + * @return {String} + */ +ContextUtils.getContextName = function(pContextId) +{ + +} \ No newline at end of file