diff --git a/bt5/erp5_public_accounting_budget/SkinTemplateItem/portal_skins/erp5_public_accounting_budget/OrderLine_viewBudget/my_title.xml b/bt5/erp5_public_accounting_budget/SkinTemplateItem/portal_skins/erp5_public_accounting_budget/OrderLine_viewBudget/my_title.xml index e87b597510b4660d660303e1af8986ac8d08bbbd..ef309226fd90d5ae28f312c8cc57561e420f08fb 100644 --- a/bt5/erp5_public_accounting_budget/SkinTemplateItem/portal_skins/erp5_public_accounting_budget/OrderLine_viewBudget/my_title.xml +++ b/bt5/erp5_public_accounting_budget/SkinTemplateItem/portal_skins/erp5_public_accounting_budget/OrderLine_viewBudget/my_title.xml @@ -32,15 +32,15 @@ <value> <dictionary> <item> - <key> <string>extra_context</string> </key> + <key> <string>field_id</string> </key> <value> <string></string> </value> </item> <item> - <key> <string>field_id</string> </key> + <key> <string>form_id</string> </key> <value> <string></string> </value> </item> <item> - <key> <string>form_id</string> </key> + <key> <string>target</string> </key> <value> <string></string> </value> </item> </dictionary> @@ -51,15 +51,15 @@ <value> <dictionary> <item> - <key> <string>extra_context</string> </key> + <key> <string>field_id</string> </key> <value> <string></string> </value> </item> <item> - <key> <string>field_id</string> </key> + <key> <string>form_id</string> </key> <value> <string></string> </value> </item> <item> - <key> <string>form_id</string> </key> + <key> <string>target</string> </key> <value> <string></string> </value> </item> </dictionary> @@ -69,19 +69,17 @@ <key> <string>values</string> </key> <value> <dictionary> - <item> - <key> <string>extra_context</string> </key> - <value> - <list/> - </value> - </item> <item> <key> <string>field_id</string> </key> - <value> <string>my_title</string> </value> + <value> <string>my_view_mode_title</string> </value> </item> <item> <key> <string>form_id</string> </key> - <value> <string>OrderLine_viewFieldLibrary</string> </value> + <value> <string>Base_viewFieldLibrary</string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string>Click to edit the target</string> </value> </item> </dictionary> </value> diff --git a/bt5/erp5_public_accounting_budget/SkinTemplateItem/portal_skins/erp5_public_accounting_budget/PurchaseOrder_viewBudget/my_title.xml b/bt5/erp5_public_accounting_budget/SkinTemplateItem/portal_skins/erp5_public_accounting_budget/PurchaseOrder_viewBudget/my_title.xml index 16e50983e80cf76cc77992f5bf815e2f81357d4a..bd8e6d703dd29f2518f3e3572f5624273a7859fe 100644 --- a/bt5/erp5_public_accounting_budget/SkinTemplateItem/portal_skins/erp5_public_accounting_budget/PurchaseOrder_viewBudget/my_title.xml +++ b/bt5/erp5_public_accounting_budget/SkinTemplateItem/portal_skins/erp5_public_accounting_budget/PurchaseOrder_viewBudget/my_title.xml @@ -33,38 +33,6 @@ <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_context</string> </key> - <value> <string></string> </value> - </item> <item> <key> <string>field_id</string> </key> <value> <string></string> </value> @@ -74,11 +42,7 @@ <value> <string></string> </value> </item> <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> + <key> <string>target</string> </key> <value> <string></string> </value> </item> </dictionary> @@ -89,15 +53,15 @@ <value> <dictionary> <item> - <key> <string>extra_context</string> </key> + <key> <string>field_id</string> </key> <value> <string></string> </value> </item> <item> - <key> <string>field_id</string> </key> + <key> <string>form_id</string> </key> <value> <string></string> </value> </item> <item> - <key> <string>form_id</string> </key> + <key> <string>target</string> </key> <value> <string></string> </value> </item> </dictionary> @@ -111,19 +75,17 @@ <key> <string>editable</string> </key> <value> <int>0</int> </value> </item> - <item> - <key> <string>extra_context</string> </key> - <value> - <list/> - </value> - </item> <item> <key> <string>field_id</string> </key> - <value> <string>my_title</string> </value> + <value> <string>my_view_mode_title</string> </value> </item> <item> <key> <string>form_id</string> </key> - <value> <string>PurchaseOrder_viewFieldLibrary</string> </value> + <value> <string>Base_viewFieldLibrary</string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string>Click to edit the target</string> </value> </item> </dictionary> </value> diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/ERP5Site_checkNamingConventions.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/ERP5Site_checkNamingConventions.xml index 8740f9cc506df59c4f34fb7a79dbefb7c56627f2..7b8eb9e8331598b6b105e8550304d71ee4524ebe 100644 --- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/ERP5Site_checkNamingConventions.xml +++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/ERP5Site_checkNamingConventions.xml @@ -124,6 +124,11 @@ def checkField(folder, form, field):\n path = folder.id + \'/\' + form.id\n error_message = checkTitle(path, field.id, field.title(), field)\n template_field = getFieldFromProxyField(field)\n + if path.endswith("FieldLibrary"):\n + if not(template_field is field):\n + if not(1 in [field.id.startswith(x) for x in (\'my_view_mode_\',\n + \'my_core_mode_\', \'my_report_mode_\', \'my_list_mode_\', \'my_dialog_mode_\')]):\n + error_message += "%s: %s : Bad ID for a Field Library Field" % (path, field.id)\n if template_field is None:\n if field.get_value(\'enabled\'):\n error_message += "Could not get a field from a proxy field %s" % field.id\n @@ -210,6 +215,9 @@ for folder in context.portal_skins.objectValues(spec=(\'Folder\',)):\n message = checkTitle(\'/\'.join([folder.id, form.id]), \'Title of the Form itself\', form.title)\n if message:\n message_list.append(message)\n + if form.id.endswith("FieldLibrary"):\n + if not(form.id.startswith("Base_")):\n + message_list.append("%s/%s : Bad Form ID for a Field Library Form" % (folder.id, form.id))\n for group in form.get_groups():\n if group == \'hidden\':\n continue\n @@ -262,6 +270,8 @@ for ptype in context.portal_types.objectValues():\n if message:\n message_list.append(message)\n \n +if batch_mode:\n + return message_list\n if message_list:\n return ("%d problems found:\\n\\n" % len(message_list)) + \'\\n\'.join(message_list)\n return "OK"\n @@ -271,7 +281,7 @@ return "OK"\n </item> <item> <key> <string>_params</string> </key> - <value> <string></string> </value> + <value> <string>batch_mode=False</string> </value> </item> <item> <key> <string>id</string> </key> diff --git a/product/ERP5Type/tests/testERP5NamingConvention.py b/product/ERP5Type/tests/testERP5NamingConvention.py index f7c88268980b86cebe4676c13af7afcf684b4e0e..6b40958d52d3cad2efc595ba291d3c22540c65de 100644 --- a/product/ERP5Type/tests/testERP5NamingConvention.py +++ b/product/ERP5Type/tests/testERP5NamingConvention.py @@ -28,13 +28,14 @@ import unittest from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase +from Testing import ZopeTestCase class TestNamingConvention(ERP5TypeTestCase): def getBusinessTemplateList(self): # include all standard Business Templates, i.e. erp5_* return ( - 'erp5_core_proxy_field_legacy', 'erp5_base', 'erp5_pdm', + 'erp5_base', 'erp5_pdm', 'erp5_simulation', 'erp5_trade', 'erp5_accounting', 'erp5_apparel', 'erp5_mrp', 'erp5_project', 'erp5_ingestion_mysql_innodb_catalog', 'erp5_ingestion', @@ -53,7 +54,7 @@ class TestNamingConvention(ERP5TypeTestCase): 'erp5_secure_payment', 'erp5_paypal_secure_payment', 'erp5_payzen_secure_payment', 'erp5_public_accounting_budget', 'erp5_publication', 'erp5_run_my_doc', 'erp5_short_message', 'erp5_simplified_invoicing', 'erp5_trade_knowledge_pad', - 'erp5_trade_proxy_field_legacy', 'erp5_trade_ui_test', 'erp5_ace_editor', + 'erp5_trade_ui_test', 'erp5_ace_editor', 'erp5_authentication_policy', 'erp5_bearer_token', 'erp5_bespin', 'erp5_certificate_authority', 'erp5_code_mirror', 'erp5_computer_immobilisation', 'erp5_credential_oauth2', 'erp5_data_protection', 'erp5_data_set', @@ -84,8 +85,38 @@ class TestNamingConvention(ERP5TypeTestCase): return "Naming Convention" def testNamingConvention(self): - result = self.portal.ERP5Site_checkNamingConventions() - self.assertEqual("OK", result, result) + result_list = self.portal.ERP5Site_checkNamingConventions(batch_mode=True) + final_result_list = [] + ignored_result_list = [] + for result in result_list: + # Thre is too much mess in Field Library, so enforce only some business + # template until more cleanup is done + if result.find("Field Library") >= 0: + for skin_folder in ('erp5_simulation', 'erp5_accounting', 'erp5_apparel', + 'erp5_mrp', 'erp5_project', 'erp5_ingestion', 'erp5_web', + 'erp5_dms', 'erp5_crm', 'erp5_budget', 'erp5_item', + 'erp5_ui_test', 'erp5_invoicing', 'erp5_banking_core', + 'erp5_banking_inventory', 'erp5_consulting', 'erp5_forge', + 'erp5_payroll', 'erp5_pdf_editor', 'erp5_administration', + 'erp5_advanced_invoicing', 'erp5_archive', 'erp5_barcode', + 'erp5_calendar', 'erp5_knowledge_pad', 'erp5_km_theme', + 'erp5_odt_style', 'erp5_run_my_doc', 'erp5_development', + 'erp5_tax_resource', 'erp5_immobilisation', 'erp5_software_pdm', + 'erp5_syncml', 'erp5_workflow', 'erp5_wizard', 'erp5_configurator', + 'erp5_configurator_wizard', 'erp5_base', 'erp5_pdm', + 'erp5_core_proxy_field_legacy'): + if result.startswith(skin_folder): + ignored_result_list.append(result) + break + else: + final_result_list.append(result) + else: + final_result_list.append(result) + ZopeTestCase._print("\n==============================") + ZopeTestCase._print("\nResult we ignore until cleanup is done:\n") + ZopeTestCase._print("\n".join(["(ignored): %s" % x for x in ignored_result_list])) + ZopeTestCase._print("\n==============================\n") + self.assertEqual(0, len(final_result_list), "\n".join(final_result_list)) def test_suite(): suite = unittest.TestSuite()