diff --git a/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Base_assembleSearchString.xml b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Base_assembleSearchString.xml index b088367ecf43bd55b493b85fafb46edf143b247b..154a3c8bac24c88d9d379786aac522f67b9bc5d0 100644 --- a/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Base_assembleSearchString.xml +++ b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Base_assembleSearchString.xml @@ -60,6 +60,7 @@ It is the reverse of Base_parseSearchString script.\n """\n MARKER = [\'\', None]\n +BOOLEAN_MARKER = MARKER + [0]\n request = context.REQUEST\n \n # one can specify a direct search string, \n @@ -140,12 +141,12 @@ for category in (\'contributor_title\',):\n \n # only my docs\n mine = kw.get(\'mine\', request.get(\'mine\', None))\n -if mine not in MARKER:\n +if mine not in BOOLEAN_MARKER:\n search_string += \' mine:yes\'\n \n # only newest versions\n newest = kw.get(\'newest\', request.get(\'newest\', None))\n -if newest not in MARKER:\n +if newest not in BOOLEAN_MARKER:\n search_string += \' newest:yes\'\n \n # search mode\n @@ -195,6 +196,7 @@ return search_string\n <string>kw</string> <string>None</string> <string>MARKER</string> + <string>BOOLEAN_MARKER</string> <string>_getattr_</string> <string>context</string> <string>request</string> diff --git a/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Base_getAdvancedSearchResultList.xml b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Base_getAdvancedSearchResultList.xml index 3805b4a4d546a6c145f565f4b1a9b88eb2312d26..05698cfb1fce6eee06930f1125b2c431d7379c0b 100644 --- a/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Base_getAdvancedSearchResultList.xml +++ b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Base_getAdvancedSearchResultList.xml @@ -125,13 +125,16 @@ if modification_to:\n if len(where_expression_list):\n query_kw[\'where_expression\'] = \' AND \'.join(where_expression_list)\n \n -if parsed_search_string.get(\'mine\'):\n +if parsed_search_string.get(\'mine\', None) is not None:\n # user wants only his documents\n query_kw[\'owner\'] = str(portal.portal_membership.getAuthenticatedMember())\n \n -# XXX: add contributor title\n +# add contributor title\n +contributor_title = parsed_search_string.get(\'contributor_title\', None)\n +if contributor_title is not None:\n + query_kw[\'contributor_title\'] = contributor_title\n \n -if parsed_search_string.get(\'newest\'):\n +if parsed_search_string.get(\'newest\', None) is not None:\n #...and now we check for only the newest versions\n # but we need to preserve order\n query_kw[\'group_by\'] = (\'reference\',)\n @@ -140,7 +143,6 @@ if parsed_search_string.get(\'newest\'):\n else:\n result = portal.portal_catalog(**query_kw)\n \n -context.log(portal.portal_catalog(src__=1, **query_kw))\n return result\n @@ -205,6 +207,7 @@ return result\n <string>modification_from</string> <string>modification_to</string> <string>str</string> + <string>contributor_title</string> <string>append</string> <string>$append0</string> <string>_apply_</string> diff --git a/bt5/erp5_dms/bt/revision b/bt5/erp5_dms/bt/revision index bf0a67dc5c6d9daa0cc813b0c127090457fe6b90..77bdd49b54fc4dab5d498705cf6d4df5982d6d55 100644 --- a/bt5/erp5_dms/bt/revision +++ b/bt5/erp5_dms/bt/revision @@ -1 +1 @@ -1084 \ No newline at end of file +1085 \ No newline at end of file