diff --git a/.liquibase/Data_alias/basic/2019.1.4/changelog.xml b/.liquibase/Data_alias/basic/2019.1.4/changelog.xml index e08a486b9962f856bca6909569ee295e2591f03c..b1975265893aeb7cb35729c05479aaccd569cfbc 100644 --- a/.liquibase/Data_alias/basic/2019.1.4/changelog.xml +++ b/.liquibase/Data_alias/basic/2019.1.4/changelog.xml @@ -83,7 +83,6 @@ <include relativeToChangelogFile="true" file="update_Salesproject_Forecast.xml"/> <include relativeToChangelogFile="true" file="update_Offer.xml"/> - <include relativeToChangelogFile="true" file="update_Salesorder.xml"/> <include relativeToChangelogFile="true" file="update_Salesproject_Competition.xml"/> <include relativeToChangelogFile="true" file="update_Salesproject_Member.xml"/> <include relativeToChangelogFile="true" file="update_Memberrole_InternExtern.xml"/> @@ -187,4 +186,5 @@ <include relativeToChangelogFile="true" file="create_ordertype_keyword.xml"/> <include relativeToChangelogFile="true" file="create_dunninglevel_keyword.xml"/> + <include relativeToChangelogFile="true" file="update_Salesorder.xml"/> </databaseChangeLog> diff --git a/.liquibase/Data_alias/basic/2019.1.4/update_Salesorder.xml b/.liquibase/Data_alias/basic/2019.1.4/update_Salesorder.xml index d29fe7b6f374a37b533c75c4f3f0e18d5dfc6879..0a03c722c22d925534c243e06bb6080dfbf0906a 100644 --- a/.liquibase/Data_alias/basic/2019.1.4/update_Salesorder.xml +++ b/.liquibase/Data_alias/basic/2019.1.4/update_Salesorder.xml @@ -1,6 +1,6 @@ <?xml version="1.1" encoding="UTF-8" standalone="no"?> <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> - <changeSet author="m.mansour" id="1fc81acb-5347-4ff4-89c8-868fcb486d7e"> + <changeSet author="m.mansour" id="a48f9e54-16ac-4bb8-8f2a-395f3035c55e"> <addColumn tableName="SALESORDER"> <column name="OBJECT_TYPE" type="NVARCHAR(63)"> @@ -11,6 +11,7 @@ <column name="OBJECT_TYPE" value="Salesproject" /> <where>OBJECT_ROWID = '0833465c-8851-4fbb-b7e3-8c1d73c903da' </where> </update> + <addNotNullConstraint tableName="SALESORDER" diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod index bae8b488090c76d4380bc96370931410b03f60c8..5a18b0f65be61d7654c9e84e851b3d43f8ab5a28 100644 --- a/aliasDefinition/Data_alias/Data_alias.aod +++ b/aliasDefinition/Data_alias/Data_alias.aod @@ -4399,32 +4399,6 @@ </customBooleanProperty> </customProperties> </entityFieldDb> - <entityFieldDb> - <name>SALESPROJECT_ID</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title>Salesproject</title> - <description></description> - <customProperties> - <customBooleanProperty> - <name>log</name> - <global v="false" /> - <property v="true" /> - </customBooleanProperty> - <customJDitoProperty> - <name>translate4Log</name> - <global v="false" /> - <property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/salesorder/entityfields/salesproject_id/customproperties/translate4log/property.js</property> - </customJDitoProperty> - </customProperties> - </entityFieldDb> <entityFieldDb> <name>STATUS</name> <dbName></dbName> @@ -4722,6 +4696,34 @@ <title></title> <description></description> </entityFieldDb> + <entityFieldDb> + <name>OBJECT_TYPE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="63" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>OBJECT_ROWID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> </entityFields> </entityDb> <entityDb> diff --git a/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/salesorder/entityfields/salesproject_id/customproperties/translate4log/property.js b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/salesorder/entityfields/salesproject_id/customproperties/translate4log/property.js deleted file mode 100644 index d92ff2dc841e7ce025d71bdd381ed45b90924885..0000000000000000000000000000000000000000 --- a/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/salesorder/entityfields/salesproject_id/customproperties/translate4log/property.js +++ /dev/null @@ -1,8 +0,0 @@ -import("Loghistory_lib"); -import("system.vars"); -import("system.result"); -import("Salesproject_lib"); - -var params = Translate4LogParams.load(); -var id = params.value; -result.string(Salesproject.getSalesProjectTitleById(id)); diff --git a/entity/Context_entity/Context_entity.aod b/entity/Context_entity/Context_entity.aod index b4361237ebe8e722bbe4d3c222c3d3b9f18f7363..6cad5fcef7de0ba7bca0d0a4f34eb72dacac9a49 100644 --- a/entity/Context_entity/Context_entity.aod +++ b/entity/Context_entity/Context_entity.aod @@ -65,6 +65,12 @@ <fieldName>Contexts</fieldName> <isConsumer v="false" /> </entityDependency> + <entityDependency> + <name>98695ca8-7f46-489d-a479-f856f6d2b5ca</name> + <entityName>Order_entity</entityName> + <fieldName>Contexts</fieldName> + <isConsumer v="false" /> + </entityDependency> </dependencies> <children> <entityParameter> diff --git a/entity/Object_entity/Object_entity.aod b/entity/Object_entity/Object_entity.aod index f15093d953267655e934d0b16945e6ff6e3860ae..7396acca1bd8a2cb4aeba6e3f323099138ef009a 100644 --- a/entity/Object_entity/Object_entity.aod +++ b/entity/Object_entity/Object_entity.aod @@ -198,6 +198,12 @@ <fieldName>Objects</fieldName> <isConsumer v="false" /> </entityDependency> + <entityDependency> + <name>6a7a34e0-22ae-4bd7-b762-84a332a0a937</name> + <entityName>Order_entity</entityName> + <fieldName>Objects</fieldName> + <isConsumer v="false" /> + </entityDependency> </dependencies> <children> <entityParameter> diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod index e9400dd1aa56744d0adfa5b7e64cbc24fe1c8629..ff5478a884d61d663753f354c24510df9866086a 100644 --- a/entity/Offer_entity/Offer_entity.aod +++ b/entity/Offer_entity/Offer_entity.aod @@ -646,6 +646,11 @@ <titleProcess>%aditoprj%/entity/Offer_entity/entityfields/object_rowid/titleProcess.js</titleProcess> <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/object_rowid/valueProcess.js</valueProcess> <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/object_rowid/displayValueProcess.js</displayValueProcess> + <onValueChangeTypes> + <element>MASK</element> + <element>PROCESS</element> + <element>PROCESS_SETVALUE</element> + </onValueChangeTypes> </entityField> <entityField> <name>OBJECT_TYPE</name> diff --git a/entity/Order_entity/Order_entity.aod b/entity/Order_entity/Order_entity.aod index e9c71dfe2f6965a36c34f577e5fbe065c9bccf20..ecb08c01ed058930b37dc0d203b7fc1f7cc1f9a7 100644 --- a/entity/Order_entity/Order_entity.aod +++ b/entity/Order_entity/Order_entity.aod @@ -65,17 +65,6 @@ <element>MASK</element> </onValueChangeTypes> </entityField> - <entityField> - <name>SALESPROJECT_ID</name> - <title>Salesproject</title> - <consumer>Salesprojects</consumer> - <linkedContext>Salesproject</linkedContext> - <mandatory v="true" /> - <state>INVISIBLE</state> - <stateProcess>%aditoprj%/entity/Order_entity/entityfields/salesproject_id/stateProcess.js</stateProcess> - <valueProcess>%aditoprj%/entity/Order_entity/entityfields/salesproject_id/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Order_entity/entityfields/salesproject_id/displayValueProcess.js</displayValueProcess> - </entityField> <entityField> <name>STATUS</name> <title>Status</title> @@ -161,12 +150,6 @@ <valueProcess>%aditoprj%/entity/Order_entity/entityfields/totalgross/valueProcess.js</valueProcess> <displayValueProcess>%aditoprj%/entity/Order_entity/entityfields/totalgross/displayValueProcess.js</displayValueProcess> </entityField> - <entityParameter> - <name>SalesprojectId_param</name> - <expose v="true" /> - <mandatory v="false" /> - <description>PARAMETER</description> - </entityParameter> <entityField> <name>LANGUAGE</name> <title>Language</title> @@ -207,7 +190,7 @@ <entityParameter> <name>ContactId_param</name> <expose v="true" /> - <mandatory v="false" /> + <mandatory v="true" /> <description>PARAMETER</description> </entityParameter> <entityField> @@ -273,8 +256,14 @@ <dependency> <name>dependency</name> <entityName>Salesproject_entity</entityName> - <fieldName>#PROVIDER</fieldName> + <fieldName>Salesprojects</fieldName> </dependency> + <children> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Order_entity/entityfields/salesprojects/children/contactid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> </entityConsumer> <entityField> <name>ADDRESS</name> @@ -546,6 +535,76 @@ </entityParameter> </children> </entityConsumer> + <entityField> + <name>OBJECT_ROWID</name> + <title>Link</title> + <consumer>Objects</consumer> + <linkedContextProcess>%aditoprj%/entity/Order_entity/entityfields/object_rowid/linkedContextProcess.js</linkedContextProcess> + <mandatory v="true" /> + <mandatoryProcess>%aditoprj%/entity/Order_entity/entityfields/object_rowid/mandatoryProcess.js</mandatoryProcess> + <titleProcess>%aditoprj%/entity/Order_entity/entityfields/object_rowid/titleProcess.js</titleProcess> + <valueProcess>%aditoprj%/entity/Order_entity/entityfields/object_rowid/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Order_entity/entityfields/object_rowid/displayValueProcess.js</displayValueProcess> + <onValueChangeTypes> + <element>MASK</element> + <element>PROCESS</element> + <element>PROCESS_SETVALUE</element> + </onValueChangeTypes> + </entityField> + <entityField> + <name>OBJECT_TYPE</name> + <title>Connection Type</title> + <consumer>Contexts</consumer> + <mandatoryProcess>%aditoprj%/entity/Order_entity/entityfields/object_type/mandatoryProcess.js</mandatoryProcess> + <state>INVISIBLE</state> + <valueProcess>%aditoprj%/entity/Order_entity/entityfields/object_type/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Order_entity/entityfields/object_type/displayValueProcess.js</displayValueProcess> + </entityField> + <entityConsumer> + <name>Objects</name> + <dependency> + <name>dependency</name> + <entityName>Object_entity</entityName> + <fieldName>FilteredObjects</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Order_entity/entityfields/objects/children/contactid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Order_entity/entityfields/objects/children/objecttype_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Contexts</name> + <dependency> + <name>dependency</name> + <entityName>Context_entity</entityName> + <fieldName>Context</fieldName> + </dependency> + <children> + <entityParameter> + <name>Whitelist</name> + <valueProcess>%aditoprj%/entity/Order_entity/entityfields/contexts/children/whitelist/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityParameter> + <name>PossibleConnectionTypes</name> + <valueProcess>%aditoprj%/entity/Order_entity/entityfields/possibleconnectiontypes/valueProcess.js</valueProcess> + <expose v="true" /> + </entityParameter> + <entityParameter> + <name>ObjectRowId_param</name> + <expose v="true" /> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <expose v="true" /> + </entityParameter> </entityFields> <recordContainers> <dbRecordContainer> @@ -719,6 +778,14 @@ <name>PAYDUEDATE.value</name> <recordfield>SALESORDER.PAYDUEDATE</recordfield> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>OBJECT_ROWID.value</name> + <recordfield>SALESORDER.OBJECT_ROWID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>OBJECT_ROWID.displayValue</name> + <expression>%aditoprj%/entity/Order_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js</expression> + </dbRecordFieldMapping> </recordFieldMappings> </dbRecordContainer> <indexRecordContainer> diff --git a/entity/Order_entity/entityfields/contexts/children/whitelist/valueProcess.js b/entity/Order_entity/entityfields/contexts/children/whitelist/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..928bc6a94ca7787626928dc47c2262baabb82854 --- /dev/null +++ b/entity/Order_entity/entityfields/contexts/children/whitelist/valueProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.get("$param.PossibleConnectionTypes")) \ No newline at end of file diff --git a/entity/Order_entity/entityfields/object_rowid/displayValueProcess.js b/entity/Order_entity/entityfields/object_rowid/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..8946bb43f89fb25fd1cb96ccdd34a37c23ec64ad --- /dev/null +++ b/entity/Order_entity/entityfields/object_rowid/displayValueProcess.js @@ -0,0 +1,11 @@ +import("system.neon"); +import("system.vars"); +import("system.db"); +import("system.result"); +import("Context_lib"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value")) { + result.string(""); +} else if (vars.exists("$field.OBJECT_TYPE") && vars.get("$field.OBJECT_TYPE")) { + result.string(db.cell(ContextUtils.getNameSql(vars.get("$field.OBJECT_TYPE"), vars.get("$field.OBJECT_ROWID")))); +} \ No newline at end of file diff --git a/entity/Order_entity/entityfields/object_rowid/linkedContextProcess.js b/entity/Order_entity/entityfields/object_rowid/linkedContextProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..0d20a44e4ae74665b6b607aef5513cc742508221 --- /dev/null +++ b/entity/Order_entity/entityfields/object_rowid/linkedContextProcess.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.result"); +import("Context_lib"); + +result.string(ContextUtils.getContextName(vars.get("$field.OBJECT_TYPE"))) diff --git a/entity/Order_entity/entityfields/object_rowid/mandatoryProcess.js b/entity/Order_entity/entityfields/object_rowid/mandatoryProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..4736fe4bfc8bfa641c18710e9b5a5303e967b9a6 --- /dev/null +++ b/entity/Order_entity/entityfields/object_rowid/mandatoryProcess.js @@ -0,0 +1,7 @@ +import("system.vars"); +import("system.result"); +import("Contact_lib"); + +var type = ContactUtils.getContactType(vars.get("$field.CONTACT_ID"), vars.get("$field.CONTACT_PERSON_ID"), vars.get("$field.CONTACT_ORG_ID")); + +result.string(type != 2); diff --git a/entity/Order_entity/entityfields/object_rowid/titleProcess.js b/entity/Order_entity/entityfields/object_rowid/titleProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..cf72d33d2860670c7b42bf809006b499c9f49432 --- /dev/null +++ b/entity/Order_entity/entityfields/object_rowid/titleProcess.js @@ -0,0 +1,21 @@ +import("system.translate"); +import("system.result"); +import("system.vars"); +import("Context_lib"); + +var possibleTypes = vars.getString("$param.PossibleConnectionTypes"); +var title = translate.text("Link"); + +if (possibleTypes) +{ + possibleTypes = JSON.parse(possibleTypes); + if (possibleTypes.length == 1) + { + var contextTitle = ContextUtils.getTitle(possibleTypes[0]); + if (contextTitle) + title = contextTitle; + } +} + +result.string(title); + \ No newline at end of file diff --git a/entity/Order_entity/entityfields/object_rowid/valueProcess.js b/entity/Order_entity/entityfields/object_rowid/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..487f3796607ca533ac64223afd8f1284b3baca38 --- /dev/null +++ b/entity/Order_entity/entityfields/object_rowid/valueProcess.js @@ -0,0 +1,8 @@ +import("system.logging"); +import("system.neon"); +import("system.vars"); +import("system.result"); + +logging.log("--- " + JSON.stringify(vars.get("$sys.recordstate"), vars.exists("$param.ObjectRowId_param"), null, "\t")) +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.ObjectRowId_param") && vars.get("$param.ObjectRowId_param")) + result.string(vars.get("$param.ObjectRowId_param")); \ No newline at end of file diff --git a/entity/Order_entity/entityfields/object_type/displayValueProcess.js b/entity/Order_entity/entityfields/object_type/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..d7b4dedc2e4402d6ce48c1acd8eb730acc2601d2 --- /dev/null +++ b/entity/Order_entity/entityfields/object_type/displayValueProcess.js @@ -0,0 +1,10 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); +import("system.project"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$field.OBJECT_TYPE")) { + result.string(""); +} else if (vars.exists("$field.OBJECT_TYPE") && vars.get("$field.OBJECT_TYPE")) { + result.string(project.getDataModel(project.DATAMODEL_KIND_CONTEXT, vars.get("$field.OBJECT_TYPE"))[1]); +} diff --git a/entity/Order_entity/entityfields/object_type/mandatoryProcess.js b/entity/Order_entity/entityfields/object_type/mandatoryProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..4736fe4bfc8bfa641c18710e9b5a5303e967b9a6 --- /dev/null +++ b/entity/Order_entity/entityfields/object_type/mandatoryProcess.js @@ -0,0 +1,7 @@ +import("system.vars"); +import("system.result"); +import("Contact_lib"); + +var type = ContactUtils.getContactType(vars.get("$field.CONTACT_ID"), vars.get("$field.CONTACT_PERSON_ID"), vars.get("$field.CONTACT_ORG_ID")); + +result.string(type != 2); diff --git a/entity/Order_entity/entityfields/object_type/valueProcess.js b/entity/Order_entity/entityfields/object_type/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..55bd8cc69a8e1aaf581a117bfa22becd8581c312 --- /dev/null +++ b/entity/Order_entity/entityfields/object_type/valueProcess.js @@ -0,0 +1,19 @@ +import("system.neon"); +import("system.vars"); +import("system.result"); +import("Context_lib") + +if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value")) +{ + if (vars.exists("$param.ObjectType_param") && vars.get("$param.ObjectType_param")) + { + result.string(vars.get("$param.ObjectType_param")); + } + else if (vars.exists("$param.PossibleConnectionTypes") && vars.get("$param.PossibleConnectionTypes")) + { + var possible = JSON.parse(vars.getString("$param.PossibleConnectionTypes")); + if (possible.length > 0) + result.string(possible[0]); + } +} + \ No newline at end of file diff --git a/entity/Order_entity/entityfields/objects/children/contactid_param/valueProcess.js b/entity/Order_entity/entityfields/objects/children/contactid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..c5efd0f6d8a6d05a0f2f5e4585dfbc47fbbfdeb2 --- /dev/null +++ b/entity/Order_entity/entityfields/objects/children/contactid_param/valueProcess.js @@ -0,0 +1,10 @@ +import("system.result"); +import("system.vars"); +import("Contact_lib"); + +if (vars.get("$field.CONTACT_ID")) +{ + var ids = ContactUtils.getPersOrgIds(vars.getString("$field.CONTACT_ID")); + if (ids.length >= 3 && ids[2]) + result.string(ids[2]); +} \ No newline at end of file diff --git a/entity/Order_entity/entityfields/objects/children/objecttype_param/valueProcess.js b/entity/Order_entity/entityfields/objects/children/objecttype_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..4238ef7d3313d43079cfa870caa675f766839cf6 --- /dev/null +++ b/entity/Order_entity/entityfields/objects/children/objecttype_param/valueProcess.js @@ -0,0 +1,4 @@ +import("system.result"); +import("system.vars"); + +result.string(vars.get("$field.OBJECT_TYPE")); \ No newline at end of file diff --git a/entity/Order_entity/entityfields/possibleconnectiontypes/valueProcess.js b/entity/Order_entity/entityfields/possibleconnectiontypes/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..e4878ba3eaca6d7a3944c9e2b9e100142f47c298 --- /dev/null +++ b/entity/Order_entity/entityfields/possibleconnectiontypes/valueProcess.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.object(["Salesproject"]); \ No newline at end of file diff --git a/entity/Order_entity/entityfields/salesproject_id/displayValueProcess.js b/entity/Order_entity/entityfields/salesproject_id/displayValueProcess.js deleted file mode 100644 index 65afbf6e950eebef0268138074bc97f00869eb0a..0000000000000000000000000000000000000000 --- a/entity/Order_entity/entityfields/salesproject_id/displayValueProcess.js +++ /dev/null @@ -1,5 +0,0 @@ -import("system.vars"); -import("system.result"); -import("Salesproject_lib"); - -result.string(Salesproject.getSalesProjectTitleById(vars.getString("$field.SALESPROJECT_ID"))); \ No newline at end of file diff --git a/entity/Order_entity/entityfields/salesproject_id/stateProcess.js b/entity/Order_entity/entityfields/salesproject_id/stateProcess.js deleted file mode 100644 index a88395a1cc7e5206b5396eba14e7dcf6c927214a..0000000000000000000000000000000000000000 --- a/entity/Order_entity/entityfields/salesproject_id/stateProcess.js +++ /dev/null @@ -1,13 +0,0 @@ -import("system.neon"); -import("system.result"); -import("system.vars"); - - -switch (vars.get("$sys.recordstate")) -{ - case neon.OPERATINGSTATE_NEW: - result.object(neon.COMPONENTSTATE_EDITABLE); - break; - default: - result.object(neon.COMPONENTSTATE_READONLY); -} \ No newline at end of file diff --git a/entity/Order_entity/entityfields/salesproject_id/valueProcess.js b/entity/Order_entity/entityfields/salesproject_id/valueProcess.js deleted file mode 100644 index 2bc1715fbb0c785208505ce16d09447aa660a160..0000000000000000000000000000000000000000 --- a/entity/Order_entity/entityfields/salesproject_id/valueProcess.js +++ /dev/null @@ -1,7 +0,0 @@ -import("system.result"); -import("system.vars"); - -if (vars.exists("$param.SalesprojectId_param")) -{ - result.string(vars.get("$param.SalesprojectId_param")); -} \ No newline at end of file diff --git a/entity/Order_entity/entityfields/salesprojects/children/contactid_param/valueProcess.js b/entity/Order_entity/entityfields/salesprojects/children/contactid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..9232f51b2e090002d80c469239ab003444411400 --- /dev/null +++ b/entity/Order_entity/entityfields/salesprojects/children/contactid_param/valueProcess.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.result"); +import("Entity_lib"); + +result.string(ProcessHandlingUtils.getOnValidationValue(vars.get("$field.CONTACT_ORG_ID"))); diff --git a/entity/Order_entity/recordcontainers/db/conditionProcess.js b/entity/Order_entity/recordcontainers/db/conditionProcess.js index 11dd858114ebf04db6ef1e00f817003e5a0c2b7b..708518b4c62e378292e1b48f777ae508941ae9c1 100644 --- a/entity/Order_entity/recordcontainers/db/conditionProcess.js +++ b/entity/Order_entity/recordcontainers/db/conditionProcess.js @@ -1,9 +1,15 @@ +import("system.vars"); import("system.db"); import("system.result"); import("Sql_lib"); var cond = new SqlCondition(); -cond.andPrepareVars("SALESORDER.SALESPROJECT_ID", "$param.SalesprojectId_param"); +if(vars.exists("$param.ContactId_param") && vars.get("$param.ContactId_param")) + cond.andPrepareVars("SALESORDER.CONTACT_ID", "$param.ContactId_param"); +else { + cond.andPrepareVars("SALESORDER.OBJECT_ROWID", "$param.ObjectRowId_param"); + cond.andPrepareVars("SALESORDEER.OBJECT_TYPE", "$param.ObjectType_param"); +} //TODO: use a preparedCondition when available #1030812 #1034026 result.string(db.translateCondition(cond.build("1 = 1"))); \ No newline at end of file diff --git a/entity/Order_entity/recordcontainers/db/fromClauseProcess.js b/entity/Order_entity/recordcontainers/db/fromClauseProcess.js index 4b856fef61de20128e1110bf14de27b0fa400d97..c0acd1b6df72701dc2416d176ef19d66fe0028e3 100644 --- a/entity/Order_entity/recordcontainers/db/fromClauseProcess.js +++ b/entity/Order_entity/recordcontainers/db/fromClauseProcess.js @@ -4,4 +4,4 @@ result.string("SALESORDER \n\ left join CONTACT on CONTACT.CONTACTID = SALESORDER.CONTACT_ID \n\ left join ORGANISATION on ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID \n\ left join PERSON on PERSON.PERSONID = CONTACT.PERSON_ID \n\ - left join SALESPROJECT on SALESPROJECTID = SALESPROJECT_ID"); \ No newline at end of file + left join SALESPROJECT on SALESPROJECTID = SALESORDER.OBJECT_ROWID"); \ No newline at end of file diff --git a/entity/Order_entity/recordcontainers/db/onDBDelete.js b/entity/Order_entity/recordcontainers/db/onDBDelete.js index 2a29a4332ab1899ecb81858d6c92d04fc18c5ea6..775affb9539fc8a3f14c9fa5d98913ff4064c3c1 100644 --- a/entity/Order_entity/recordcontainers/db/onDBDelete.js +++ b/entity/Order_entity/recordcontainers/db/onDBDelete.js @@ -1,4 +1,4 @@ import("system.vars"); import("system.db"); -db.deleteData("SALESORDERITEM", "SALESORDERITEM.SALESORDER_ID = '" + vars.getString("$field.SALESORDERID") + "'"); \ No newline at end of file +db.deleteData("SALESORDERITEM", "SALESORDERITEM.SALESORDER_ID = '" + vars.getString("$field.OFFER_ID") + "'"); \ No newline at end of file diff --git a/entity/Order_entity/recordcontainers/db/onDBInsert.js b/entity/Order_entity/recordcontainers/db/onDBInsert.js index 940a4ff0f9a833f00b45814bab915e9ed2014fb6..f40d760016e5a464f44ba9ed7913fa09a9bba9e5 100644 --- a/entity/Order_entity/recordcontainers/db/onDBInsert.js +++ b/entity/Order_entity/recordcontainers/db/onDBInsert.js @@ -1,12 +1,6 @@ import("system.neon"); import("system.vars"); -import("Sql_lib"); -import("Order_lib"); +import("Offer_lib"); -if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.OfferId_param")) -{ - var orderId = vars.getString("$field.SALESORDERID"); - var offerId = vars.getString("$param.OfferId_param"); - - OrderUtils.copyOfferItemsToOrder(offerId, orderId); //copy all offerItems -} +if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.OfferOriginal_Id_param")) + OfferUtils.copyOfferItems(vars.getString("$param.OfferOriginal_Id_param"), vars.get("$field.OFFER_ID")); diff --git a/entity/Order_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js b/entity/Order_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..4ac0690f62f32b1b0ad6df14648740404256a945 --- /dev/null +++ b/entity/Order_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js @@ -0,0 +1,4 @@ +import("system.result"); +import("Context_lib"); + +result.string(ContextUtils.getNameSubselectSql("OBJECT_TYPE", "OBJECT_ROWID")) \ No newline at end of file diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod index c767317136d1e5b4e0aba79ea7607604c745a13f..f98437a49d7e07bba22482116e1e2aeca8c1e96b 100644 --- a/entity/Salesproject_entity/Salesproject_entity.aod +++ b/entity/Salesproject_entity/Salesproject_entity.aod @@ -17,12 +17,6 @@ <entityProvider> <name>#PROVIDER</name> <dependencies> - <entityDependency> - <name>497657f7-ebd7-4c9c-b8ab-da447a1556e5</name> - <entityName>Order_entity</entityName> - <fieldName>Salesprojects</fieldName> - <isConsumer v="false" /> - </entityDependency> <entityDependency> <name>f010781d-453d-4df3-b330-75c1336e4d4c</name> <entityName>Object_entity</entityName> @@ -434,6 +428,12 @@ <fieldName>Salesprojects</fieldName> <isConsumer v="false" /> </entityDependency> + <entityDependency> + <name>cb529e29-37cb-4e8d-9e89-f15cff56df68</name> + <entityName>Order_entity</entityName> + <fieldName>Salesprojects</fieldName> + <isConsumer v="false" /> + </entityDependency> </dependencies> <children> <entityParameter> diff --git a/neonView/OrderEdit_view/OrderEdit_view.aod b/neonView/OrderEdit_view/OrderEdit_view.aod index 5b0773ec4807f859095dcde0e5df405b1fabd997..3c6ebeeba30217a48db453d2b50b2ad892c1ccf6 100644 --- a/neonView/OrderEdit_view/OrderEdit_view.aod +++ b/neonView/OrderEdit_view/OrderEdit_view.aod @@ -40,10 +40,6 @@ <name>7ab3eb65-b713-4251-9eb1-3119432565f5</name> <entityField>LANGUAGE</entityField> </entityFieldLink> - <entityFieldLink> - <name>ac6f81a2-5012-461a-bcf1-4534182b0973</name> - <entityField>SALESPROJECT_ID</entityField> - </entityFieldLink> <entityFieldLink> <name>cf2fd509-eaa5-4b35-8775-063f31dafc2c</name> <entityField>OFFER_ID</entityField> @@ -80,6 +76,14 @@ <name>c14ed3d5-0442-4b3e-8410-2a3285a2e8fd</name> <entityField>CANCELLATION</entityField> </entityFieldLink> + <entityFieldLink> + <name>c9efcb50-ed61-453b-baa3-02071d99e4b0</name> + <entityField>OBJECT_ROWID</entityField> + </entityFieldLink> + <entityFieldLink> + <name>acb42613-102e-42cc-984f-5820b36ad2a8</name> + <entityField>OBJECT_TYPE</entityField> + </entityFieldLink> </fields> </genericViewTemplate> <neonViewReference>