diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_findTermFromPropertySheet.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_findTermFromPropertySheet.xml index 091eccdae9cfcd693e3cca6fbf6a128136476757..49ea04eacb2293632e333161b9dc24b8a0e11321 100644 --- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_findTermFromPropertySheet.xml +++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_findTermFromPropertySheet.xml @@ -65,22 +65,37 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>result = context.GlossaryModule_getTermDictListFromPropertySheet(property_sheet_list)\n + <value> <string encoding="cdata"><![CDATA[ + +result = context.GlossaryModule_getTermDictListFromPropertySheet(property_sheet_list)\n \n if export_tsv:\n for i in result:\n - print \'\\t\'.join(map(lambda x:\'"%s"\'%x, (i[\'reference\'], i[\'language\'], i[\'business_field\'],\n + print \'\\t\'.join(map(lambda x:\'"%s"\'%x, (i[\'reference\'], i[\'language\'],\n + i[\'business_field\'],\n i[\'title\'], i[\'description\'],)))\n return printed\n else:\n + portal_catalog = context.portal_catalog\n for i in result:\n + item_list = portal_catalog(portal_type=\'Glossary Term\',\n + reference=i[\'reference\'], language=i[\'language\'],\n + business_field=i[\'business_field\'],\n + validation_state="!=deleted")\n + if len(item_list)>0:\n + continue\n +\n new_id = context.generateNewId()\n - context.newContent(id=new_id, portal_type=\'Glossary Term\', container=context,\n - reference=i[\'reference\'], language=i[\'language\'], business_field=i[\'business_field\'],\n + context.newContent(id=new_id, portal_type=\'Glossary Term\',\n + container=context,\n + reference=i[\'reference\'], language=i[\'language\'],\n + business_field=i[\'business_field\'],\n title=i[\'title\'], description=i[\'description\'])\n \n -context.REQUEST.RESPONSE.redirect(context.absolute_url())\n -</string> </value> +context.Base_redirect()\n + + +]]></string> </value> </item> <item> <key> <string>_code</string> </key> @@ -135,6 +150,9 @@ context.REQUEST.RESPONSE.redirect(context.absolute_url())\n <string>i</string> <string>map</string> <string>_getitem_</string> + <string>portal_catalog</string> + <string>item_list</string> + <string>len</string> <string>new_id</string> </tuple> </value> diff --git a/bt5/erp5_forge/bt/change_log b/bt5/erp5_forge/bt/change_log index d3c999845e345580b77327ab9040f9ee70f22856..dca92420f374cab167168922c591d992f543f310 100644 --- a/bt5/erp5_forge/bt/change_log +++ b/bt5/erp5_forge/bt/change_log @@ -1,3 +1,6 @@ +2008-2-2 Yusei +* Prevent adding duplicate term. + 2008-2-1 Yusei * Fixed wrong name of scripts of erp5_glossary. Use proxy-roled script to find terms. diff --git a/bt5/erp5_forge/bt/revision b/bt5/erp5_forge/bt/revision index 80945bc4363d59056a852d30423fbd3517241b17..66321c084ca9a642e8b308c01850cfd0351b48d1 100644 --- a/bt5/erp5_forge/bt/revision +++ b/bt5/erp5_forge/bt/revision @@ -1 +1 @@ -183 \ No newline at end of file +189 \ No newline at end of file