diff --git a/entity/Activity_entity/Activity_entity.aod b/entity/Activity_entity/Activity_entity.aod index b333645e3d46e87cff240e0a14dca2f228eaa0e4..b8c9b45e40a40d95acda8de2cd0e60232d3f8e61 100644 --- a/entity/Activity_entity/Activity_entity.aod +++ b/entity/Activity_entity/Activity_entity.aod @@ -565,6 +565,15 @@ <recordfield>ACTIVITY.ENTRYDATE</recordfield> </dbRecordFieldMapping> </recordFieldMappings> + <filterExtensions> + <filterExtensionSet> + <name>Attribute_filter</name> + <filterFieldsProcess>%aditoprj%/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js</filterFieldsProcess> + <filterValuesProcess>%aditoprj%/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js</filterValuesProcess> + <filterConditionProcess>%aditoprj%/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess> + <filtertype>BASIC</filtertype> + </filterExtensionSet> + </filterExtensions> </dbRecordContainer> </recordContainers> </entity> diff --git a/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js b/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..65d6b67c6e0affc794a04043f264fa103f4c2ba0 --- /dev/null +++ b/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var sqlCond = AttributeFilterExtensionMaker.makeFilterConditionSql(); +result.string(sqlCond); \ No newline at end of file diff --git a/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js b/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..209ddd39ef4a15b1190ef2bd4955ccdc78f5808b --- /dev/null +++ b/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var fields = AttributeFilterExtensionMaker.makeFilterFields(); +result.string(fields); \ No newline at end of file diff --git a/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js b/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..942b0a0495a179f9c25d19330bb8cd59c5563ec0 --- /dev/null +++ b/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var values = AttributeFilterExtensionMaker.makeFilterValues(); +result.object(values); \ No newline at end of file diff --git a/entity/Campaign_entity/Campaign_entity.aod b/entity/Campaign_entity/Campaign_entity.aod index 22112d6261d7caff704c11dc267205868e1f5e4e..177e7d9fbbdac4d15c175fb3ea6a4c0a39380365 100644 --- a/entity/Campaign_entity/Campaign_entity.aod +++ b/entity/Campaign_entity/Campaign_entity.aod @@ -568,6 +568,15 @@ <expression>%aditoprj%/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js</expression> </dbRecordFieldMapping> </recordFieldMappings> + <filterExtensions> + <filterExtensionSet> + <name>Attribute_filter</name> + <filterFieldsProcess>%aditoprj%/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js</filterFieldsProcess> + <filterValuesProcess>%aditoprj%/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js</filterValuesProcess> + <filterConditionProcess>%aditoprj%/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess> + <filtertype>BASIC</filtertype> + </filterExtensionSet> + </filterExtensions> </dbRecordContainer> </recordContainers> </entity> diff --git a/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js b/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..65d6b67c6e0affc794a04043f264fa103f4c2ba0 --- /dev/null +++ b/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var sqlCond = AttributeFilterExtensionMaker.makeFilterConditionSql(); +result.string(sqlCond); \ No newline at end of file diff --git a/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js b/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..209ddd39ef4a15b1190ef2bd4955ccdc78f5808b --- /dev/null +++ b/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var fields = AttributeFilterExtensionMaker.makeFilterFields(); +result.string(fields); \ No newline at end of file diff --git a/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js b/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..942b0a0495a179f9c25d19330bb8cd59c5563ec0 --- /dev/null +++ b/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var values = AttributeFilterExtensionMaker.makeFilterValues(); +result.object(values); \ No newline at end of file diff --git a/entity/Competition_entity/Competition_entity.aod b/entity/Competition_entity/Competition_entity.aod index 364d1c995d01e77921d5835559dde04ca9de5745..da041d148539f436d8615e237c131ce4539ef817 100644 --- a/entity/Competition_entity/Competition_entity.aod +++ b/entity/Competition_entity/Competition_entity.aod @@ -378,6 +378,15 @@ <recordfield>COMPETITION.COMPETITIONID</recordfield> </dbRecordFieldMapping> </recordFieldMappings> + <filterExtensions> + <filterExtensionSet> + <name>Attribute_filter</name> + <filterFieldsProcess>%aditoprj%/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js</filterFieldsProcess> + <filterValuesProcess>%aditoprj%/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js</filterValuesProcess> + <filterConditionProcess>%aditoprj%/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess> + <filtertype>BASIC</filtertype> + </filterExtensionSet> + </filterExtensions> </dbRecordContainer> </recordContainers> </entity> diff --git a/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js b/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..65d6b67c6e0affc794a04043f264fa103f4c2ba0 --- /dev/null +++ b/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var sqlCond = AttributeFilterExtensionMaker.makeFilterConditionSql(); +result.string(sqlCond); \ No newline at end of file diff --git a/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js b/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..209ddd39ef4a15b1190ef2bd4955ccdc78f5808b --- /dev/null +++ b/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var fields = AttributeFilterExtensionMaker.makeFilterFields(); +result.string(fields); \ No newline at end of file diff --git a/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js b/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..942b0a0495a179f9c25d19330bb8cd59c5563ec0 --- /dev/null +++ b/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var values = AttributeFilterExtensionMaker.makeFilterValues(); +result.object(values); \ No newline at end of file diff --git a/entity/Contract_entity/Contract_entity.aod b/entity/Contract_entity/Contract_entity.aod index 4489c3e872770c478a02bb219206cc6be3370192..368ab12dee80471005b1f0e8338ff39a459b5e97 100644 --- a/entity/Contract_entity/Contract_entity.aod +++ b/entity/Contract_entity/Contract_entity.aod @@ -502,6 +502,15 @@ <filtertype>EXTENDED</filtertype> </consumerMapping> </recordFieldMappings> + <filterExtensions> + <filterExtensionSet> + <name>Attribute_filter</name> + <filterFieldsProcess>%aditoprj%/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js</filterFieldsProcess> + <filterValuesProcess>%aditoprj%/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js</filterValuesProcess> + <filterConditionProcess>%aditoprj%/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess> + <filtertype>BASIC</filtertype> + </filterExtensionSet> + </filterExtensions> </dbRecordContainer> <indexRecordContainer> <name>index</name> diff --git a/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js b/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..65d6b67c6e0affc794a04043f264fa103f4c2ba0 --- /dev/null +++ b/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var sqlCond = AttributeFilterExtensionMaker.makeFilterConditionSql(); +result.string(sqlCond); \ No newline at end of file diff --git a/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js b/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..209ddd39ef4a15b1190ef2bd4955ccdc78f5808b --- /dev/null +++ b/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var fields = AttributeFilterExtensionMaker.makeFilterFields(); +result.string(fields); \ No newline at end of file diff --git a/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js b/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..942b0a0495a179f9c25d19330bb8cd59c5563ec0 --- /dev/null +++ b/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var values = AttributeFilterExtensionMaker.makeFilterValues(); +result.object(values); \ No newline at end of file diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod index 3a5c970b4966fa6e987df6955f64962e358214d4..003bca5d4b7924356d41d3bd49d128f93b867c37 100644 --- a/entity/Offer_entity/Offer_entity.aod +++ b/entity/Offer_entity/Offer_entity.aod @@ -1109,6 +1109,15 @@ <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/isolanguage.displayvalue/expression.js</expression> </dbRecordFieldMapping> </recordFieldMappings> + <filterExtensions> + <filterExtensionSet> + <name>Attribute_filter</name> + <filterFieldsProcess>%aditoprj%/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js</filterFieldsProcess> + <filterValuesProcess>%aditoprj%/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js</filterValuesProcess> + <filterConditionProcess>%aditoprj%/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess> + <filtertype>BASIC</filtertype> + </filterExtensionSet> + </filterExtensions> </dbRecordContainer> <indexRecordContainer> <name>index</name> diff --git a/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js b/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..65d6b67c6e0affc794a04043f264fa103f4c2ba0 --- /dev/null +++ b/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var sqlCond = AttributeFilterExtensionMaker.makeFilterConditionSql(); +result.string(sqlCond); \ No newline at end of file diff --git a/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js b/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..209ddd39ef4a15b1190ef2bd4955ccdc78f5808b --- /dev/null +++ b/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var fields = AttributeFilterExtensionMaker.makeFilterFields(); +result.string(fields); \ No newline at end of file diff --git a/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js b/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..942b0a0495a179f9c25d19330bb8cd59c5563ec0 --- /dev/null +++ b/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var values = AttributeFilterExtensionMaker.makeFilterValues(); +result.object(values); \ No newline at end of file diff --git a/entity/Order_entity/Order_entity.aod b/entity/Order_entity/Order_entity.aod index 8c872f0e8ab4f59f05e2628b58e97fc5e7ad3977..2d80f57976a725693e6603d72184afcde9aa901e 100644 --- a/entity/Order_entity/Order_entity.aod +++ b/entity/Order_entity/Order_entity.aod @@ -634,6 +634,15 @@ <expression>%aditoprj%/entity/Order_entity/recordcontainers/db/recordfieldmappings/isolanguage.displayvalue/expression.js</expression> </dbRecordFieldMapping> </recordFieldMappings> + <filterExtensions> + <filterExtensionSet> + <name>Attribute_filter</name> + <filterFieldsProcess>%aditoprj%/entity/Order_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js</filterFieldsProcess> + <filterValuesProcess>%aditoprj%/entity/Order_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js</filterValuesProcess> + <filterConditionProcess>%aditoprj%/entity/Order_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess> + <filtertype>BASIC</filtertype> + </filterExtensionSet> + </filterExtensions> </dbRecordContainer> <indexRecordContainer> <name>index</name> diff --git a/entity/Order_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js b/entity/Order_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..65d6b67c6e0affc794a04043f264fa103f4c2ba0 --- /dev/null +++ b/entity/Order_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var sqlCond = AttributeFilterExtensionMaker.makeFilterConditionSql(); +result.string(sqlCond); \ No newline at end of file diff --git a/entity/Order_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js b/entity/Order_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..209ddd39ef4a15b1190ef2bd4955ccdc78f5808b --- /dev/null +++ b/entity/Order_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var fields = AttributeFilterExtensionMaker.makeFilterFields(); +result.string(fields); \ No newline at end of file diff --git a/entity/Order_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js b/entity/Order_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..942b0a0495a179f9c25d19330bb8cd59c5563ec0 --- /dev/null +++ b/entity/Order_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var values = AttributeFilterExtensionMaker.makeFilterValues(); +result.object(values); \ No newline at end of file diff --git a/entity/Product_entity/Product_entity.aod b/entity/Product_entity/Product_entity.aod index bf96fe63732564671c7873fe2b515d7d63003e45..8663ddc8633f81f4255b72ef120582c298564b59 100644 --- a/entity/Product_entity/Product_entity.aod +++ b/entity/Product_entity/Product_entity.aod @@ -563,6 +563,15 @@ <filtertype>EXTENDED</filtertype> </consumerMapping> </recordFieldMappings> + <filterExtensions> + <filterExtensionSet> + <name>Attribute_filter</name> + <filterFieldsProcess>%aditoprj%/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js</filterFieldsProcess> + <filterValuesProcess>%aditoprj%/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js</filterValuesProcess> + <filterConditionProcess>%aditoprj%/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess> + <filtertype>BASIC</filtertype> + </filterExtensionSet> + </filterExtensions> </dbRecordContainer> <indexRecordContainer> <name>index</name> diff --git a/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js b/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..65d6b67c6e0affc794a04043f264fa103f4c2ba0 --- /dev/null +++ b/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var sqlCond = AttributeFilterExtensionMaker.makeFilterConditionSql(); +result.string(sqlCond); \ No newline at end of file diff --git a/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js b/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..209ddd39ef4a15b1190ef2bd4955ccdc78f5808b --- /dev/null +++ b/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var fields = AttributeFilterExtensionMaker.makeFilterFields(); +result.string(fields); \ No newline at end of file diff --git a/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js b/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..942b0a0495a179f9c25d19330bb8cd59c5563ec0 --- /dev/null +++ b/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var values = AttributeFilterExtensionMaker.makeFilterValues(); +result.object(values); \ No newline at end of file diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod index 4bfc2bc067dcb47f39a25a5983b44cdebe6ab8e5..11343db7d4ad56431574077b84dea11fe5f1f034 100644 --- a/entity/Salesproject_entity/Salesproject_entity.aod +++ b/entity/Salesproject_entity/Salesproject_entity.aod @@ -792,6 +792,15 @@ <isFilterable v="true" /> </dbRecordFieldMapping> </recordFieldMappings> + <filterExtensions> + <filterExtensionSet> + <name>Attribute_filter</name> + <filterFieldsProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js</filterFieldsProcess> + <filterValuesProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js</filterValuesProcess> + <filterConditionProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess> + <filtertype>BASIC</filtertype> + </filterExtensionSet> + </filterExtensions> </dbRecordContainer> <indexRecordContainer> <name>index</name> diff --git a/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js b/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..65d6b67c6e0affc794a04043f264fa103f4c2ba0 --- /dev/null +++ b/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var sqlCond = AttributeFilterExtensionMaker.makeFilterConditionSql(); +result.string(sqlCond); \ No newline at end of file diff --git a/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js b/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..209ddd39ef4a15b1190ef2bd4955ccdc78f5808b --- /dev/null +++ b/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var fields = AttributeFilterExtensionMaker.makeFilterFields(); +result.string(fields); \ No newline at end of file diff --git a/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js b/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..942b0a0495a179f9c25d19330bb8cd59c5563ec0 --- /dev/null +++ b/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("AttributeFilter_lib"); + +var values = AttributeFilterExtensionMaker.makeFilterValues(); +result.object(values); \ No newline at end of file diff --git a/process/AttributeFilter_lib/process.js b/process/AttributeFilter_lib/process.js index 6278c014c9e75e3d5882962ea723b5882548721b..ed66d3825bb8cd716e99f87b0b8028b6fbf44239 100644 --- a/process/AttributeFilter_lib/process.js +++ b/process/AttributeFilter_lib/process.js @@ -1,3 +1,4 @@ +import("system.translate"); import("Entity_lib"); import("system.vars"); import("Context_lib"); @@ -7,6 +8,8 @@ import("Attribute_lib"); import("system.entities"); import("system.util"); +//TODO: comment lib + function AttributeSearchNameCoder(){} AttributeSearchNameCoder.encode = function (pUid, pAttributeType) @@ -40,10 +43,14 @@ AttributeFilterExtensionMaker.getFilterFields = function(pObjectType) .addParameter("ObjectType_param", pObjectType); var attributeRows = entities.getRows(loadingConfig); - attributeRows.forEach(function(row){ var attributeType = row["ATTRIBUTE_TYPE"]; var contentType = AttributeTypeUtil.getContentType(attributeType); + + if (attributeType.trim() == $AttributeTypes.VOID.toString()) + { + contentType = "BOOLEAN"; + } if (contentType) { @@ -72,11 +79,12 @@ AttributeFilterExtensionMaker.makeFilterFields = function() AttributeFilterExtensionMaker.getFilterValues = function(pFilter) { var filter = JSON.parse(pFilter); - var name = name = AttributeSearchNameCoder.decode(filter.name); + var name = AttributeSearchNameCoder.decode(filter.name); var attributeId = name.id; var attrType = name.type; - + if (attrType == $AttributeTypes.VOID.toString()) + attrType = $AttributeTypes.BOOLEAN.toString(); var res = AttributeUtil.getPossibleListValues(attributeId, attrType); if (res == null) res = []; @@ -90,27 +98,47 @@ AttributeFilterExtensionMaker.makeFilterValues = function() return res; }; -AttributeFilterExtensionMaker.getFilterCondition = function(pObjectType, pFilterName, pCondition, pIdTableName, pIdColumnName) +AttributeFilterExtensionMaker.getFilterCondition = function(pObjectType, pFilterName, pCondition, pRawValue, pOperatorName, pIdTableName, pIdColumnName) { + var resSql; + var preparedValues = []; var name = pFilterName; name = AttributeSearchNameCoder.decode(name); var attributeId = name.id; - var dbField = AttributeTypeUtil.getDatabaseField(name.type); - - var condition = pCondition; - condition = condition.replace("{'table.column'}", dbField, "g"); - - var preparedValues = [ - [pObjectType, SqlUtils.getSingleColumnType("AB_ATTRIBUTERELATION.OBJECT_TYPE")], - [attributeId, SqlUtils.getSingleColumnType("AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID")] - ]; - var resSql = pIdColumnName + " in (select " + pIdTableName + "." + pIdColumnName + " \n\ - from " + pIdTableName + " \n\ - left join AB_ATTRIBUTERELATION on (AB_ATTRIBUTERELATION.OBJECT_ROWID = " + pIdTableName + "." + pIdColumnName + " \n\ - and AB_ATTRIBUTERELATION.OBJECT_TYPE = ? \n\ - and AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID = ?) \n\ - where " + condition + " )"; - + var attributeType = name.type; + + if (attributeType == $AttributeTypes.VOID.toString()) + { + preparedValues.push([pObjectType, SqlUtils.getSingleColumnType("AB_ATTRIBUTERELATION.OBJECT_TYPE")]); + preparedValues.push([attributeId, SqlUtils.getSingleColumnType("AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID")]); + + resSql = "(select count(*) \n\ + from AB_ATTRIBUTERELATION \n\ + where OBJECT_ROWID = " + pIdTableName + "." + pIdColumnName +" \n\ + and OBJECT_TYPE = ? \n\ + and AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID = ?)"; + + if (pOperatorName == "IS NOT NULL" || pRawValue == "1" && pOperatorName == "LIKE" || pRawValue == "0" && pOperatorName == "NOT LIKE") + resSql += " > 0 "; + else + resSql += " = 0 "; + } + else + { + var dbField = AttributeTypeUtil.getDatabaseField(name.type); + + var condition = pCondition; + condition = condition.replace("{'table.column'}", dbField, "g"); + preparedValues.push([pObjectType, SqlUtils.getSingleColumnType("AB_ATTRIBUTERELATION.OBJECT_TYPE")]); + preparedValues.push([attributeId, SqlUtils.getSingleColumnType("AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID")]); + + resSql = pIdTableName + "." + pIdColumnName + " in (select " + pIdTableName + "." + pIdColumnName + " \n\ + from " + pIdTableName + " \n\ + left join AB_ATTRIBUTERELATION on (AB_ATTRIBUTERELATION.OBJECT_ROWID = " + pIdTableName + "." + pIdColumnName + " \n\ + and AB_ATTRIBUTERELATION.OBJECT_TYPE = ? \n\ + and AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID = ?) \n\ + where " + condition + " )"; + } resSql = db.translateCondition([resSql, preparedValues]); return resSql; }; @@ -120,7 +148,9 @@ AttributeFilterExtensionMaker.makeFilterConditionSql = function() var objectType = ContextUtils.getCurrentContextId(); var filterName = vars.get("$local.name"); var filterCond = vars.get("$local.condition"); + var filterRawValue = vars.get("$local.rawvalue"); + var filterOpratorName = vars.get("$local.operator2").trim(); var uidInfo = EntityUtils.parseUidColumn(vars.get("$sys.uidcolumn")); - var res = AttributeFilterExtensionMaker.getFilterCondition(objectType, filterName, filterCond, uidInfo.table, uidInfo.column); + var res = AttributeFilterExtensionMaker.getFilterCondition(objectType, filterName, filterCond, filterRawValue, filterOpratorName, uidInfo.table, uidInfo.column); return res; }; \ No newline at end of file