diff --git a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web/WebSection_generateSectionFromCategory.xml b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web/WebSection_generateSectionFromCategory.xml index 33091228134a7938810d0f6007c71c4694e9bd6d..3f9e14c64b145e3cc5c356c40edf55b89cdb7376 100644 --- a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web/WebSection_generateSectionFromCategory.xml +++ b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web/WebSection_generateSectionFromCategory.xml @@ -60,13 +60,13 @@ category -- the category to use\n """\n from ZODB.POSException import ConflictError\n -\n +portal = context.getPortalObject()\n translateString = context.Base_translateString\n category_tool = context.portal_categories\n global section_count\n section_count = 0\n failed_list = []\n -\n +portal_type_list = portal.getPortalDocumentTypeList()\n valid_char = "abcdefghijklmnopqrstuvwxyz0123456789-_"\n \n def getNiceID(s):\n @@ -125,7 +125,9 @@ def createWebSectionFromCategoryValue(container, category, depth, section_id=Non , visible = True\n , membership_criterion_base_category = (base_category_id,)\n , membership_criterion_category = (category_url,)\n + , criterion_property_list = [\'portal_type\']\n )\n + new_section.setCriterion(\'portal_type\', identity=portal_type_list)\n new_section.updateLocalRolesOnSecurityGroups()\n except ConflictError:\n raise\n @@ -145,7 +147,9 @@ def createWebSectionFromCategoryValue(container, category, depth, section_id=Non , visible = True\n , membership_criterion_base_category = (base_category_id,)\n , membership_criterion_category = (category_url,)\n + , criterion_property_list = [\'portal_type\']\n )\n + new_section.setCriterion(\'portal_type\', identity=portal_type_list)\n new_section.updateLocalRolesOnSecurityGroups()\n # Call the function recursively\n if new_section is not None:\n @@ -173,7 +177,10 @@ if update_existing:\n # use the base category as a category to select all\n category_url = \'%s/%s\' % (category, category) \n section_value.edit(membership_criterion_base_category = (base_category_id,),\n - membership_criterion_category = (category_url,))\n + membership_criterion_category = (category_url,),\n + criterion_property_list = [\'portal_type\'])\n + section_value.setCriterion(\'portal_type\', identity=portal_type_list)\n +\n section_value.updateLocalRolesOnSecurityGroups()\n \n \n diff --git a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web/WebSection_viewGenerateSectionFromCategoryDialog.xml b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web/WebSection_viewGenerateSectionFromCategoryDialog.xml index 03a151b4cc4e033aa1a6aeff169cddc5861ac184..a6e5164c16875e6daa4149e5c7e63c3e58972f02 100644 --- a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web/WebSection_viewGenerateSectionFromCategoryDialog.xml +++ b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web/WebSection_viewGenerateSectionFromCategoryDialog.xml @@ -88,6 +88,7 @@ <string>your_depth</string> <string>your_update_existing</string> <string>your_remove_missing</string> + <string>your_generate_nice_id</string> </list> </value> </item> diff --git a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web/WebSection_viewGenerateSectionFromCategoryDialog/your_generate_nice_id.xml b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web/WebSection_viewGenerateSectionFromCategoryDialog/your_generate_nice_id.xml new file mode 100644 index 0000000000000000000000000000000000000000..9548248851708f0ac75de87c5c3c416aff9ed7d1 --- /dev/null +++ b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web/WebSection_viewGenerateSectionFromCategoryDialog/your_generate_nice_id.xml @@ -0,0 +1,168 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="CheckBoxField" module="Products.Formulator.StandardFields"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>id</string> </key> + <value> <string>your_generate_nice_id</string> </value> + </item> + <item> + <key> <string>message_values</string> </key> + <value> + <dictionary> + <item> + <key> <string>external_validator_failed</string> </key> + <value> <string>The input failed the external validator.</string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>overrides</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string>Generate a nice ID from the reference, the title or the short title instead of the category ID</string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Generate Nice ID</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData>