Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5-Boxiang
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Hamza
erp5-Boxiang
Commits
4d70b829
Commit
4d70b829
authored
Jul 24, 2015
by
wenjie.zheng
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into erp5_workflow
parents
d7008186
f3c81817
Changes
43
Hide whitespace changes
Inline
Side-by-side
Showing
43 changed files
with
852 additions
and
373 deletions
+852
-373
bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getAccountListForTrialBalance.xml
...ccounting/AccountModule_getAccountListForTrialBalance.xml
+39
-5
bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getTrialBalanceReportSectionList.xml
...unting/AccountModule_getTrialBalanceReportSectionList.xml
+2
-1
bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingPeriod_createBalanceTransaction.xml
..._accounting/AccountingPeriod_createBalanceTransaction.xml
+189
-197
bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_getAccountingTransactionLineList.xml
...ccountingTransaction_getAccountingTransactionLineList.xml
+1
-1
bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_period_workflow/scripts/checkTransactionsState.xml
...unting_period_workflow/scripts/checkTransactionsState.xml
+4
-0
bt5/erp5_full_text_mroonga_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_deferFullTextIndexActivity.xml
...p5_mysql_innodb/SQLCatalog_deferFullTextIndexActivity.xml
+3
-0
bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/ERP5Site_viewWorklistGadget.xml
.../portal_skins/erp5_gadget/ERP5Site_viewWorklistGadget.xml
+4
-2
bt5/erp5_system_event/WorkflowTemplateItem/portal_workflow/system_event_workflow.xml
...lowTemplateItem/portal_workflow/system_event_workflow.xml
+0
-1
bt5/erp5_system_event/WorkflowTemplateItem/portal_workflow/system_event_workflow/states/acknowledged.xml
...al_workflow/system_event_workflow/states/acknowledged.xml
+62
-0
bt5/erp5_system_event/WorkflowTemplateItem/portal_workflow/system_event_workflow/states/confirmed.xml
...ortal_workflow/system_event_workflow/states/confirmed.xml
+62
-0
bt5/erp5_system_event/WorkflowTemplateItem/portal_workflow/system_event_workflow/states/draft.xml
...em/portal_workflow/system_event_workflow/states/draft.xml
+63
-0
bt5/erp5_system_event/WorkflowTemplateItem/portal_workflow/system_event_workflow/states/expired.xml
.../portal_workflow/system_event_workflow/states/expired.xml
+62
-0
bt5/erp5_test_result/PortalTypePropertySheetTemplateItem/property_sheet_list.xml
...rtalTypePropertySheetTemplateItem/property_sheet_list.xml
+5
-0
bt5/erp5_test_result/PropertySheetTemplateItem/portal_property_sheets/CommandLineResult.xml
...TemplateItem/portal_property_sheets/CommandLineResult.xml
+66
-0
bt5/erp5_test_result/PropertySheetTemplateItem/portal_property_sheets/CommandLineResult/cmdline_property.xml
...al_property_sheets/CommandLineResult/cmdline_property.xml
+34
-0
bt5/erp5_test_result/PropertySheetTemplateItem/portal_property_sheets/CommandLineResult/stderr_property.xml
...tal_property_sheets/CommandLineResult/stderr_property.xml
+34
-0
bt5/erp5_test_result/PropertySheetTemplateItem/portal_property_sheets/CommandLineResult/stdout_property.xml
...tal_property_sheets/CommandLineResult/stdout_property.xml
+34
-0
bt5/erp5_test_result/SkinTemplateItem/portal_skins/erp5_test_result/TestResult_viewTestResultLineStdoutSet.xml
...p5_test_result/TestResult_viewTestResultLineStdoutSet.xml
+75
-0
bt5/erp5_test_result/bt/template_portal_type_property_sheet_list
...5_test_result/bt/template_portal_type_property_sheet_list
+3
-0
bt5/erp5_test_result/bt/template_property_sheet_id_list
bt5/erp5_test_result/bt/template_property_sheet_id_list
+1
-0
bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary.xml
...em/portal_skins/erp5_trade/Base_viewTradeFieldLibrary.xml
+0
-1
bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_dialog_mode_use_selection.xml
...se_viewTradeFieldLibrary/my_dialog_mode_use_selection.xml
+0
-96
bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/Alarm_runFullUpgrader.xml
...Item/portal_skins/erp5_upgrader/Alarm_runFullUpgrader.xml
+19
-26
bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/Alarm_runPostUpgrade.xml
...eItem/portal_skins/erp5_upgrader/Alarm_runPostUpgrade.xml
+3
-2
bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/Alarm_runPreUpgrade.xml
...teItem/portal_skins/erp5_upgrader/Alarm_runPreUpgrade.xml
+2
-1
bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/Alarm_runUpgrader.xml
...lateItem/portal_skins/erp5_upgrader/Alarm_runUpgrader.xml
+3
-2
bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/ERP5Site_checkUpgraderConsistency.xml
...skins/erp5_upgrader/ERP5Site_checkUpgraderConsistency.xml
+2
-1
bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/TemplateTool_checkWorkflowChainConsistency.xml
...5_upgrader/TemplateTool_checkWorkflowChainConsistency.xml
+4
-1
bt5/erp5_web_ecommerce_test/PathTemplateItem/portal_tests/erp5_web_e5g_ecommerce_ui_zuite/testE5gEcommerceBasicNavigation.xml
...5g_ecommerce_ui_zuite/testE5gEcommerceBasicNavigation.xml
+2
-3
bt5/erp5_web_ecrm_test/PathTemplateItem/portal_tests/erp5_web_e5g_ecrm_ui_zuite/testE5gEcrmBasicNavigation.xml
...erp5_web_e5g_ecrm_ui_zuite/testE5gEcrmBasicNavigation.xml
+3
-0
bt5/erp5_web_ehr_test/PathTemplateItem/portal_tests/erp5_web_e5g_ehr_ui_zuite/testE5gEhrBasicNavigation.xml
...s/erp5_web_e5g_ehr_ui_zuite/testE5gEhrBasicNavigation.xml
+3
-1
bt5/erp5_web_eproject_test/PathTemplateItem/portal_tests/erp5_web_e5g_eproject_ui_zuite/testE5gEprojectBasicNavigation.xml
..._e5g_eproject_ui_zuite/testE5gEprojectBasicNavigation.xml
+3
-1
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_bin_html.xml
.../PathTemplateItem/web_page_module/rjs_gadget_bin_html.xml
+4
-4
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_html.xml
...PathTemplateItem/web_page_module/rjs_gadget_erp5_html.xml
+4
-4
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_html.xml
...mplateItem/web_page_module/rjs_gadget_erp5_panel_html.xml
+4
-4
bt5/erp5_web_renderjs_ui/RegisteredSkinSelectionTemplateItem/registered_skin_selection.xml
...edSkinSelectionTemplateItem/registered_skin_selection.xml
+0
-4
bt5/erp5_web_renderjs_ui/bt/template_registered_skin_selection_list
...eb_renderjs_ui/bt/template_registered_skin_selection_list
+0
-1
erp5/tests/testERP5TestNode.py
erp5/tests/testERP5TestNode.py
+2
-0
erp5/util/testnode/ProcessManager.py
erp5/util/testnode/ProcessManager.py
+2
-2
erp5/util/testnode/testnode.py
erp5/util/testnode/testnode.py
+1
-1
product/ERP5/tests/testAccounting.py
product/ERP5/tests/testAccounting.py
+34
-0
product/ERP5Type/tests/ERP5TypeFunctionalTestCase.py
product/ERP5Type/tests/ERP5TypeFunctionalTestCase.py
+13
-10
product/Localizer/MessageCatalog.py
product/Localizer/MessageCatalog.py
+1
-1
No files found.
bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getAccountListForTrialBalance.xml
View file @
4d70b829
...
...
@@ -139,16 +139,50 @@ account_type_to_group_by_payment = [ \'account_type/asset/cash/bank\' ]\n
account_type_payable_receivable = [\n
\'account_type/asset/receivable\',\n
\'account_type/liability/payable\', ]\n
\n
\n
# For initial balance of third party accounts, we want the same bottom line figure for initial\n
# debit and initial debit wether or not we expand accounts.\n
#\n
# For example if we have this balance when enabling the detailed breakdown\n
# by third party for payable
&
recievable accounts:\n
#\n
# Account | Third Party | Initial Debit Balance | Initial Credit Balance |\n
# --------+-------------+-----------------------+------------------------|\n
# A1 | P1 | 100 | |\n
# A1 | P2 | | 30 |\n
#\n
# When the breakdown is disabled, we still want to have:\n
#\n
# Account | Initial Debit Balance | Initial Credit Balance |\n
# --------+-----------------------+------------------------|\n
# A1 | 100 | 30 |\n
#\n
# and not an initial debit balance of 70.\n
# This behaviour applies to initial balances, not movements in the period.\n
#\n
# Inventory API does not provide such feature of a getInventory(omit_input/output=True) that\n
# does a sum of getInventoryList(omit_input/output=True, group_by_node=True), so we sum this up\n
# in python, which becomes heavy when there are a lot of third parties (even if we do not\n
# enable the break down).\n
# If user does not enable detailed columns, then there is only one column for initial balance,\n
# so the complexity described above does not apply.\n
if expand_accounts:\n
account_type_to_group_by_mirror_section = account_type_payable_receivable\n
account_type_to_group_by_mirror_section_previous_period = account_type_payable_receivable\n
else:\n
account_type_to_group_by_mirror_section = []\n
account_type_to_group_by_mirror_section_previous_period = []\n
if show_detailed_balance_columns:\n
account_type_to_group_by_mirror_section_previous_period = account_type_payable_receivable\n
\n
\n
account_type_to_group_by_node = [at for at in balance_sheet_account_type_list\n
if at not in account_type_to_group_by_payment\n
and at not in account_type_to_group_by_mirror_section]\n
\n
account_type_to_group_by_node_previous_period = [at for at in account_type_to_group_by_node if at not in account_type_payable_receivable]\n
account_type_to_group_by_node_previous_period = [at for at in account_type_to_group_by_node\n
if at not in account_type_to_group_by_mirror_section_previous_period]\n
\n
\n
total_debit = 0\n
...
...
@@ -468,7 +502,7 @@ for node in getInventoryList(\n
# payable / receivable accounts {{{\n
# initial balance\n
for node in getInventoryList(\n
node_category_strict_membership=account_type_
payable_receivable
,\n
node_category_strict_membership=account_type_
to_group_by_mirror_section_previous_period
,\n
group_by_mirror_section=1,\n
group_by_node=1,\n
to_date=period_start_date,\n
...
...
@@ -478,7 +512,7 @@ for node in getInventoryList(\n
mirror_section_key = MARKER\n
if expand_accounts:\n
mirror_section_key = node[\'mirror_section_uid\']\n
\n
\n
account_props = line_per_account.setdefault(\n
getKey(node, mirror_section=mirror_section_key),\n
dict(debit=0, credit=0))\n
...
...
@@ -491,7 +525,7 @@ for node in getInventoryList(\n
found_balance=False\n
# Balance Transactions\n
for node in getInventoryList(\n
node_category_strict_membership=account_type_
payable_receivable
,\n
node_category_strict_membership=account_type_
to_group_by_mirror_section_previous_period
,\n
group_by_mirror_section=1,\n
group_by_node=1,\n
from_date=from_date,\n
...
...
@@ -801,7 +835,7 @@ return new_line_list\n
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
show_empty_accounts, expand_accounts, at_date, from_date, period_start_date, section_uid, simulation_state, precision, node_uid, gap_root=None, per_account_class_summary=0, portal_type=None, function=None, funding=None, project=None, group_analytic=[], mirror_section_category=None, **kw
</string>
</value>
<value>
<string>
show_empty_accounts, expand_accounts, at_date, from_date, period_start_date, section_uid, simulation_state, precision, node_uid, gap_root=None, per_account_class_summary=0, portal_type=None, function=None, funding=None, project=None, group_analytic=[], mirror_section_category=None,
show_detailed_balance_columns=False,
**kw
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
...
...
bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getTrialBalanceReportSectionList.xml
View file @
4d70b829
...
...
@@ -181,7 +181,8 @@ return [ ReportSection(\n
mirror_section_category,\n
per_account_class_summary=\n
per_account_class_summary,\n
gap_root=gap_root,), )]\n
gap_root=gap_root,\n
show_detailed_balance_columns=show_detailed_balance_columns), )]\n
</string>
</value>
</item>
<item>
...
...
bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingPeriod_createBalanceTransaction.xml
View file @
4d70b829
...
...
@@ -67,8 +67,8 @@ def roundCurrency(value, resource_relative_url):\n
qty_precision = precision_cache[resource_relative_url]\n
return round(value, qty_precision)\n
\n
# This tag is checked in accounting period workflow\n
activity_tag = \'BalanceTransactionCreation\'\n
activate_kw=dict(tag=activity_tag)\n
\n
at_date = context.getStopDate()\n
assert at_date\n
...
...
@@ -109,7 +109,7 @@ def getDependantSectionList(group, main_section):\n
section_list.extend(getDependantSectionList(subgroup, main_section))\n
\n
return section_list\n
\n
\n
group_value = section.getGroupValue()\n
section_list = [section]\n
if group_value is not None:\n
...
...
@@ -117,7 +117,6 @@ if group_value is not None:\n
\n
def createBalanceTransaction(section):\n
return portal.accounting_module.newContent(\n
activate_kw=activate_kw,\n
portal_type=\'Balance Transaction\',\n
start_date=(at_date + 1).earliestTime(),\n
title=context.getTitle() or Base_translateString(\'Balance Transaction\'),\n
...
...
@@ -125,221 +124,214 @@ def createBalanceTransaction(section):\n
resource=section_currency,\n
causality_value=context)\n
\n
for section in section_list:\n
section_uid = section.getUid()\n
balance_transaction = None\n
\n
group_by_node_node_category_list = []\n
group_by_mirror_section_node_category_list = []\n
group_by_payment_node_category_list = []\n
profit_and_loss_node_category_list = []\n
\n
node_category_list = portal.portal_categories\\\n
.account_type.getCategoryChildValueList()\n
for node_category in node_category_list:\n
node_category_url = node_category.getRelativeUrl()\n
if node_category_url in (\n
\'account_type/asset/cash/bank\',):\n
group_by_payment_node_category_list.append(node_category_url)\n
elif node_category_url in (\n
\'account_type/asset/receivable\',\n
\'account_type/liability/payable\'):\n
group_by_mirror_section_node_category_list.append(node_category_url)\n
elif node_category.isMemberOf(\'account_type/income\') or \\\n
node_category.isMemberOf(\'account_type/expense\'):\n
profit_and_loss_node_category_list.append(node_category_url)\n
else:\n
group_by_node_node_category_list.append(node_category_url)\n
\n
getInventoryList = portal.portal_simulation.getInventoryList\n
\n
inventory_param_dict = dict(section_uid=section_uid,\n
simulation_state=(\'delivered\',),\n
precision=section_currency_precision,\n
portal_type=portal.getPortalAccountingMovementTypeList(),\n
at_date=at_date.latestTime(),)\n
\n
# Calculate the sum of profit and loss accounts balances for that period.\n
# This must match the difference between assets, liability and equity accounts.\n
profit_and_loss_accounts_balance = portal.portal_simulation.getInventoryAssetPrice(\n
from_date=context.getStartDate(),\n
node_category_strict_membership=profit_and_loss_node_category_list,\n
**inventory_param_dict)\n
selected_profit_and_loss_account_balance = portal.portal_simulation.getInventoryAssetPrice(\n
node=profit_and_loss_account,\n
resource=section_currency,\n
**inventory_param_dict)\n
with context.defaultActivateParameterDict({\'tag\': activity_tag}, placeless=True):\n
for section in section_list:\n
section_uid = section.getUid()\n
balance_transaction = None\n
\n
group_by_node_node_category_list = []\n
group_by_mirror_section_node_category_list = []\n
group_by_payment_node_category_list = []\n
profit_and_loss_node_category_list = []\n
\n
node_category_list = portal.portal_categories\\\n
.account_type.getCategoryChildValueList()\n
for node_category in node_category_list:\n
node_category_url = node_category.getRelativeUrl()\n
if node_category_url in (\n
\'account_type/asset/cash/bank\',):\n
group_by_payment_node_category_list.append(node_category_url)\n
elif node_category_url in (\n
\'account_type/asset/receivable\',\n
\'account_type/liability/payable\'):\n
group_by_mirror_section_node_category_list.append(node_category_url)\n
elif node_category.isMemberOf(\'account_type/income\') or \\\n
node_category.isMemberOf(\'account_type/expense\'):\n
profit_and_loss_node_category_list.append(node_category_url)\n
else:\n
group_by_node_node_category_list.append(node_category_url)\n
\n
getInventoryList = portal.portal_simulation.getInventoryList\n
\n
inventory_param_dict = dict(section_uid=section_uid,\n
simulation_state=(\'delivered\',),\n
precision=section_currency_precision,\n
portal_type=portal.getPortalAccountingMovementTypeList(),\n
at_date=at_date.latestTime(),)\n
\n
section_currency_uid = context.getParentValue().getPriceCurrencyUid()\n
\n
profit_and_loss_quantity = 0\n
line_count = 0\n
\n
for inventory in getInventoryList(\n
node_category_strict_membership=group_by_node_node_category_list,\n
group_by_node=1,\n
group_by_resource=1,\n
**inventory_param_dict):\n
\n
total_price = roundCurrency(inventory.total_price or 0, section_currency)\n
quantity = roundCurrency(inventory.total_quantity or 0,\n
inventory.resource_relative_url)\n
\n
if not total_price and not quantity:\n
continue\n
\n
line_count += 1\n
if inventory.resource_uid != section_currency_uid:\n
# Calculate the sum of profit and loss accounts balances for that period.\n
# This must match the difference between assets, liability and equity accounts.\n
profit_and_loss_accounts_balance = portal.portal_simulation.getInventoryAssetPrice(\n
from_date=context.getStartDate(),\n
node_category_strict_membership=profit_and_loss_node_category_list,\n
**inventory_param_dict)\n
selected_profit_and_loss_account_balance = portal.portal_simulation.getInventoryAssetPrice(\n
node=profit_and_loss_account,\n
resource=section_currency,\n
**inventory_param_dict)\n
\n
section_currency_uid = context.getParentValue().getPriceCurrencyUid()\n
\n
profit_and_loss_quantity = 0\n
line_count = 0\n
\n
for inventory in getInventoryList(\n
node_category_strict_membership=group_by_node_node_category_list,\n
group_by_node=1,\n
group_by_resource=1,\n
**inventory_param_dict):\n
\n
total_price = roundCurrency(inventory.total_price or 0, section_currency)\n
quantity = roundCurrency(inventory.total_quantity or 0,\n
inventory.resource_relative_url)\n
\n
if not total_price and not quantity:\n
continue\n
\n
line_count += 1\n
if inventory.resource_uid != section_currency_uid:\n
profit_and_loss_quantity += total_price\n
\n
if balance_transaction is None:\n
balance_transaction = createBalanceTransaction(section)\n
balance_transaction.newContent(\n
id=\'%03d\' % line_count,\n
portal_type=\'Balance Transaction Line\',\n
destination=inventory.node_relative_url,\n
resource=inventory.resource_relative_url,\n
quantity=quantity,\n
destination_total_asset_price=total_price)\n
else:\n
if total_price != quantity:\n
# If this fail for you, your accounting doesn\'t use currencies with\n
# consistency\n
raise ValueError(\'Different price: %s != %s \' % (\n
total_price, quantity))\n
\n
if inventory.node_relative_url != profit_and_loss_account:\n
profit_and_loss_quantity += total_price\n
if balance_transaction is None:\n
balance_transaction = createBalanceTransaction(section)\n
balance_transaction.newContent(\n
id=\'%03d\' % line_count,\n
portal_type=\'Balance Transaction Line\',\n
destination=inventory.node_relative_url,\n
quantity=total_price)\n
\n
\n
for inventory in getInventoryList(\n
node_category_strict_membership=group_by_mirror_section_node_category_list,\n
group_by_node=1,\n
group_by_mirror_section=1,\n
group_by_resource=1,\n
**inventory_param_dict):\n
\n
total_price = roundCurrency(inventory.total_price or 0, section_currency)\n
quantity = roundCurrency(inventory.total_quantity or 0,\n
inventory.resource_relative_url)\n
\n
if not total_price and not quantity:\n
continue\n
profit_and_loss_quantity += total_price\n
\n
if balance_transaction is None:\n
balance_transaction = createBalanceTransaction(section)\n
balance_transaction.newContent(\n
line_count += 1\n
\n
if inventory.resource_uid != section_currency_uid:\n
if balance_transaction is None:\n
balance_transaction = createBalanceTransaction(section)\n
balance_transaction.newContent(\n
id=\'%03d\' % line_count,\n
portal_type=\'Balance Transaction Line\',\n
activate_kw=activate_kw,\n
destination=inventory.node_relative_url,\n
source_section_uid=inventory.mirror_section_uid,\n
resource=inventory.resource_relative_url,\n
quantity=quantity,\n
destination_total_asset_price=total_price)\n
else:\n
if total_price != quantity:\n
# If this fail for you, your accounting doesn\'t use currencies with\n
# consistency\n
raise ValueError(\'Different price: %s != %s \' % (\n
total_price, quantity))\n
\n
if inventory.node_relative_url != profit_and_loss_account:\n
profit_and_loss_quantity += total_price\n
else:\n
if total_price != quantity:\n
raise ValueError(\'Different price: %s != %s \' % (\n
total_price, quantity))\n
if balance_transaction is None:\n
balance_transaction = createBalanceTransaction(section)\n
balance_transaction.newContent(\n
id=\'%03d\' % line_count,\n
portal_type=\'Balance Transaction Line\',\n
activate_kw=activate_kw,\n
destination=inventory.node_relative_url,\n
source_section_uid=inventory.mirror_section_uid,\n
quantity=total_price)\n
\n
\n
for inventory in getInventoryList(\n
node_category_strict_membership=group_by_mirror_section_node_category_list,\n
group_by_node=1,\n
group_by_mirror_section=1,\n
group_by_resource=1,\n
**inventory_param_dict):\n
\n
total_price = roundCurrency(inventory.total_price or 0, section_currency)\n
quantity = roundCurrency(inventory.total_quantity or 0,\n
inventory.resource_relative_url)\n
\n
if not total_price and not quantity:\n
continue\n
profit_and_loss_quantity += total_price\n
line_count += 1\n
\n
if inventory.resource_uid != section_currency_uid:\n
if balance_transaction is None:\n
balance_transaction = createBalanceTransaction(section)\n
balance_transaction.newContent(\n
id=\'%03d\' % line_count,\n
portal_type=\'Balance Transaction Line\',\n
activate_kw=activate_kw,\n
destination=inventory.node_relative_url,\n
source_section_uid=inventory.mirror_section_uid,\n
resource=inventory.resource_relative_url,\n
quantity=quantity,\n
destination_total_asset_price=total_price)\n
else:\n
if total_price != quantity:\n
raise ValueError(\'Different price: %s != %s \' % (\n
total_price, quantity))\n
if balance_transaction is None:\n
for inventory in getInventoryList(\n
node_category_strict_membership=group_by_payment_node_category_list,\n
group_by_node=1,\n
group_by_payment=1,\n
group_by_resource=1,\n
**inventory_param_dict):\n
\n
total_price = roundCurrency(inventory.total_price or 0, section_currency)\n
quantity = roundCurrency(inventory.total_quantity or 0,\n
inventory.resource_relative_url)\n
\n
if not total_price and not quantity:\n
continue\n
profit_and_loss_quantity += total_price\n
\n
line_count += 1\n
\n
if inventory.resource_uid != section_currency_uid:\n
if balance_transaction is None:\n
balance_transaction = createBalanceTransaction(section)\n
balance_transaction.newContent(\n
id=\'%03d\' % line_count,\n
portal_type=\'Balance Transaction Line\',\n
destination=inventory.node_relative_url,\n
resource=inventory.resource_relative_url,\n
quantity=quantity,\n
destination_payment_uid=inventory.payment_uid,\n
destination_total_asset_price=total_price)\n
else:\n
if total_price != quantity:\n
raise ValueError(\'Different price: %s != %s \' % (\n
total_price, quantity))\n
if balance_transaction is None:\n
balance_transaction = createBalanceTransaction(section)\n
balance_transaction.newContent(\n
id=\'%03d\' % line_count,\n
portal_type=\'Balance Transaction Line\',\n
destination=inventory.node_relative_url,\n
destination_payment_uid=inventory.payment_uid,\n
quantity=total_price)\n
\n
if balance_transaction is None:\n
# we did not have any transaction for this section\n
\n
# One possible corner case is that we have only transactions that brings\n
# the balance of all balance sheets accounts to 0. In this case we want to\n
# create a balance transaction that notes that the current balance of profit\n
# and loss account is 0, so that the delta gets indexed. \n
if profit_and_loss_accounts_balance:\n
balance_transaction = createBalanceTransaction(section)\n
balance_transaction.newContent(\n
id=\'%03d\' % line_count,\n
portal_type=\'Balance Transaction Line\',\n
activate_kw=activate_kw,\n
destination=inventory.node_relative_url,\n
source_section_uid=inventory.mirror_section_uid,\n
quantity=total_price)\n
\n
\n
for inventory in getInventoryList(\n
node_category_strict_membership=group_by_payment_node_category_list,\n
group_by_node=1,\n
group_by_payment=1,\n
group_by_resource=1,\n
**inventory_param_dict):\n
\n
total_price = roundCurrency(inventory.total_price or 0, section_currency)\n
quantity = roundCurrency(inventory.total_quantity or 0,\n
inventory.resource_relative_url)\n
\n
if not total_price and not quantity:\n
balance_transaction.newContent(\n
portal_type=\'Balance Transaction Line\',\n
destination=profit_and_loss_account,\n
quantity=0)\n
balance_transaction.stop()\n
balance_transaction.deliver()\n
continue\n
profit_and_loss_quantity += total_price\n
\n
line_count += 1\n
\n
if inventory.resource_uid != section_currency_uid:\n
if balance_transaction is None:\n
balance_transaction = createBalanceTransaction(section)\n
balance_transaction.newContent(\n
id=\'%03d\' % line_count,\n
portal_type=\'Balance Transaction Line\',\n
activate_kw=activate_kw,\n
destination=inventory.node_relative_url,\n
resource=inventory.resource_relative_url,\n
quantity=quantity,\n
destination_payment_uid=inventory.payment_uid,\n
destination_total_asset_price=total_price)\n
else:\n
if total_price != quantity:\n
raise ValueError(\'Different price: %s != %s \' % (\n
total_price, quantity))\n
if balance_transaction is None:\n
balance_transaction = createBalanceTransaction(section)\n
balance_transaction.newContent(\n
id=\'%03d\' % line_count,\n
portal_type=\'Balance Transaction Line\',\n
activate_kw=activate_kw,\n
destination=inventory.node_relative_url,\n
destination_payment_uid=inventory.payment_uid,\n
quantity=total_price)\n
\n
if balance_transaction is None:\n
# we did not have any transaction for this section\n
\n
# One possible corner case is that we have only transactions that brings\n
# the balance of all balance sheets accounts to 0. In this case we want to\n
# create a balance transaction that notes that the current balance of profit\n
# and loss account is 0, so that the delta gets indexed. \n
if profit_and_loss_accounts_balance:\n
balance_transaction = createBalanceTransaction(section)\n
balance_transaction.newContent(\n
activate_kw=activate_kw,\n
portal_type=\'Balance Transaction Line\',\n
destination=profit_and_loss_account,\n
quantity=0)\n
balance_transaction.stop()\n
balance_transaction.deliver()\n
continue\n
\n
assert roundCurrency(profit_and_loss_accounts_balance, section_currency) == roundCurrency(\n
- roundCurrency(selected_profit_and_loss_account_balance, section_currency)\n
- roundCurrency(profit_and_loss_quantity, section_currency), section_currency)\n
\n
# add a final line for p&l\n
balance_transaction.newContent(\n
id=\'%03d\' % (line_count + 1),\n
activate_kw=activate_kw,\n
portal_type=\'Balance Transaction Line\',\n
destination=profit_and_loss_account,\n
quantity=-profit_and_loss_quantity)\n
assert roundCurrency(profit_and_loss_accounts_balance, section_currency) == roundCurrency(\n
- roundCurrency(selected_profit_and_loss_account_balance, section_currency)\n
- roundCurrency(profit_and_loss_quantity, section_currency), section_currency)\n
\n
# add a final line for p&l\n
balance_transaction.newContent(\n
id=\'%03d\' % (line_count + 1),\n
portal_type=\'Balance Transaction Line\',\n
destination=profit_and_loss_account,\n
quantity=-profit_and_loss_quantity)\n
\n
# and go to delivered state directly (the user is not supposed to edit this document)\n
balance_transaction.stop()\n
balance_transaction.deliver()\n
# and go to delivered state directly (the user is not supposed to edit this document)\n
balance_transaction.stop()\n
balance_transaction.deliver()\n
\n
# make sure this Accounting Period has an activity pending during the indexing\n
# of the balance transaction.\n
...
...
bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_getAccountingTransactionLineList.xml
View file @
4d70b829
...
...
@@ -63,7 +63,7 @@ sort_dict = { \'income\': 0,\n
def getAccountingTransactionLineSortKey(line):\n
return sort_dict.get(line.getId(), line.getIntIndex() or line.getIntId())\n
\n
return sorted(context.contentValues(portal_type=portal_type), key=getAccountingTransactionLineSortKey)\n
return sorted(context.contentValues(portal_type=portal_type
, checked_permission="View"
), key=getAccountingTransactionLineSortKey)\n
</string>
</value>
</item>
<item>
...
...
bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_period_workflow/scripts/checkTransactionsState.xml
View file @
4d70b829
...
...
@@ -60,6 +60,10 @@ portal = period.getPortalObject()\n
\n
period.Base_checkConsistency()\n
\n
# This tag is used in AccountingPeriod_createBalanceTransaction\n
if portal.portal_activities.countMessageWithTag(\'BalanceTransactionCreation\'):\n
raise ValidationFailed(translateString("Balance transaction creation already in progress. Please try again later."))\n
\n
valid_simulation_state_list = [\'cancelled\', \'delivered\', \'deleted\', \'rejected\']\n
all_state_list = [x[1] for x in\n
portal.Base_getTranslatedWorkflowStateItemList(wf_id=\'accounting_workflow\')]\n
...
...
bt5/erp5_full_text_mroonga_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_deferFullTextIndexActivity.xml
View file @
4d70b829
...
...
@@ -53,6 +53,7 @@
<value>
<string>
from Products.ERP5Type.Utils import UpperCase\n
from ZODB.POSException import ConflictError\n
from zExceptions import Unauthorized\n
from Products.ERP5.Document.Document import NotConvertedError\n
\n
method = context.z_catalog_fulltext_list\n
property_list = method.arguments_src.split()\n
...
...
@@ -78,6 +79,8 @@ for path in path_list:\n
raise\n
except Unauthorized: # should happen in tricky testERP5Catalog tests only \n
continue\n
except NotConvertedError:\n
continue\n
except Exception, e:\n
exception = e\n
failed_path_list.append(path)\n
...
...
bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/ERP5Site_viewWorklistGadget.xml
View file @
4d70b829
...
...
@@ -2,7 +2,7 @@
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"ERP5
Form"
module=
"Products.ERP5Form.Form
"
/>
<global
name=
"ERP5
Form"
module=
"erp5.portal_type
"
/>
</pickle>
<pickle>
<dictionary>
...
...
@@ -88,7 +88,9 @@
<item>
<key>
<string>
hidden
</string>
</key>
<value>
<list/>
<list>
<string>
listbox_link
</string>
</list>
</value>
</item>
<item>
...
...
bt5/erp5_system_event/WorkflowTemplateItem/portal_workflow/system_event_workflow.xml
View file @
4d70b829
...
...
@@ -48,7 +48,6 @@
<string>
View
</string>
<string>
Add portal content
</string>
<string>
Modify portal content
</string>
<string>
Delete objects
</string>
</tuple>
</value>
</item>
...
...
bt5/erp5_system_event/WorkflowTemplateItem/portal_workflow/system_event_workflow/states/acknowledged.xml
View file @
4d70b829
...
...
@@ -14,6 +14,12 @@
<key>
<string>
id
</string>
</key>
<value>
<string>
acknowledged
</string>
</value>
</item>
<item>
<key>
<string>
permission_roles
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Acknowledged
</string>
</value>
...
...
@@ -33,4 +39,60 @@
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
Access contents information
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
Add portal content
</string>
</key>
<value>
<tuple>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
Modify portal content
</string>
</key>
<value>
<tuple>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
View
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_system_event/WorkflowTemplateItem/portal_workflow/system_event_workflow/states/confirmed.xml
View file @
4d70b829
...
...
@@ -14,6 +14,12 @@
<key>
<string>
id
</string>
</key>
<value>
<string>
confirmed
</string>
</value>
</item>
<item>
<key>
<string>
permission_roles
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Submitted
</string>
</value>
...
...
@@ -37,4 +43,60 @@
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
Access contents information
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
Add portal content
</string>
</key>
<value>
<tuple>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
Modify portal content
</string>
</key>
<value>
<tuple>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
View
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_system_event/WorkflowTemplateItem/portal_workflow/system_event_workflow/states/draft.xml
View file @
4d70b829
...
...
@@ -14,6 +14,12 @@
<key>
<string>
id
</string>
</key>
<value>
<string>
draft
</string>
</value>
</item>
<item>
<key>
<string>
permission_roles
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Draft
</string>
</value>
...
...
@@ -36,4 +42,61 @@
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
Access contents information
</string>
</key>
<value>
<tuple>
<string>
Anonymous
</string>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
Add portal content
</string>
</key>
<value>
<tuple>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
Modify portal content
</string>
</key>
<value>
<tuple>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
View
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_system_event/WorkflowTemplateItem/portal_workflow/system_event_workflow/states/expired.xml
View file @
4d70b829
...
...
@@ -14,6 +14,12 @@
<key>
<string>
id
</string>
</key>
<value>
<string>
expired
</string>
</value>
</item>
<item>
<key>
<string>
permission_roles
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Expired
</string>
</value>
...
...
@@ -33,4 +39,60 @@
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
Access contents information
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
Add portal content
</string>
</key>
<value>
<tuple>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
Modify portal content
</string>
</key>
<value>
<tuple>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
View
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_test_result/PortalTypePropertySheetTemplateItem/property_sheet_list.xml
View file @
4d70b829
...
...
@@ -25,9 +25,14 @@
<item>
Task
</item>
</portal_type>
<portal_type
id=
"Test Result Line"
>
<item>
CommandLineResult
</item>
<item>
SortIndex
</item>
<item>
Task
</item>
</portal_type>
<portal_type
id=
"Test Result Node"
>
<item>
CommandLineResult
</item>
<item>
Task
</item>
</portal_type>
<portal_type
id=
"Test Suite"
>
<item>
Arrow
</item>
<item>
Reference
</item>
...
...
bt5/erp5_test_result/PropertySheetTemplateItem/portal_property_sheets/CommandLineResult.xml
0 → 100644
View file @
4d70b829
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Property Sheet"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_count
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
_mt_index
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
_tree
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
CommandLineResult
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Property Sheet
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"Length"
module=
"BTrees.Length"
/>
</pickle>
<pickle>
<int>
0
</int>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"OOBTree"
module=
"BTrees.OOBTree"
/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"OOBTree"
module=
"BTrees.OOBTree"
/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
</ZopeData>
bt5/erp5_test_result/PropertySheetTemplateItem/portal_property_sheets/CommandLineResult/cmdline_property.xml
0 → 100644
View file @
4d70b829
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Standard Property"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
elementary_type/string
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
cmdline_property
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Standard Property
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_test_result/PropertySheetTemplateItem/portal_property_sheets/CommandLineResult/stderr_property.xml
0 → 100644
View file @
4d70b829
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Standard Property"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
elementary_type/string
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
stderr_property
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Standard Property
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_test_result/PropertySheetTemplateItem/portal_property_sheets/CommandLineResult/stdout_property.xml
0 → 100644
View file @
4d70b829
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Standard Property"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
elementary_type/string
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
stdout_property
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Standard Property
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_test_result/SkinTemplateItem/portal_skins/erp5_test_result/TestResult_viewTestResultLineStdoutSet.xml
0 → 100644
View file @
4d70b829
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"PythonScript"
module=
"Products.PythonScripts.PythonScript"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
Script_magic
</string>
</key>
<value>
<int>
3
</int>
</value>
</item>
<item>
<key>
<string>
_bind_names
</string>
</key>
<value>
<object>
<klass>
<global
name=
"NameAssignments"
module=
"Shared.DC.Scripts.Bindings"
/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key>
<string>
_asgns
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
name_container
</string>
</key>
<value>
<string>
container
</string>
</value>
</item>
<item>
<key>
<string>
name_context
</string>
</key>
<value>
<string>
context
</string>
</value>
</item>
<item>
<key>
<string>
name_m_self
</string>
</key>
<value>
<string>
script
</string>
</value>
</item>
<item>
<key>
<string>
name_subpath
</string>
</key>
<value>
<string>
traverse_subpath
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
_body
</string>
</key>
<value>
<string>
"""\n
Web API intended for listing, one per line, the report URL (typically present\n
in node\'s stdout) of all nodes involved in a Test Result.\n
Multiline stdout values behaviour is undefined.\n
"""\n
for test_result_node in context.objectValues(portal_type=\'Test Result Node\'):\n
if test_result_node.getCmdline() == \'LOG url\':\n
print test_result_node.getStdout()\n
return printed\n
</string>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
TestResult_viewTestResultLineStdoutSet
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_test_result/bt/template_portal_type_property_sheet_list
View file @
4d70b829
...
...
@@ -8,8 +8,11 @@ Scalability Test Suite | ScalabilityTestSuite
Scalability Test Suite | TestSuite
Test Node | DublinCore
Test Node | TestNode
Test Result Line | CommandLineResult
Test Result Line | SortIndex
Test Result Line | Task
Test Result Node | CommandLineResult
Test Result Node | Task
Test Result | Comment
Test Result | SortIndex
Test Result | Task
...
...
bt5/erp5_test_result/bt/template_property_sheet_id_list
View file @
4d70b829
TestSuite
CommandLineResult
TestSuiteRepository
TestSuiteRepositoryConstraint
TestSuiteConstraint
...
...
bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary.xml
View file @
4d70b829
...
...
@@ -196,7 +196,6 @@
<string>
my_dialog_mode_order
</string>
<string>
my_dialog_mode_section_category
</string>
<string>
my_dialog_mode_order_simulation_state
</string>
<string>
my_dialog_mode_use_selection
</string>
<string>
my_dialog_mode_spreadsheet_format
</string>
<string>
my_dialog_mode_reference_as_prefix
</string>
<string>
my_dialog_mode_international_form
</string>
...
...
bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_dialog_mode_use_selection.xml
deleted
100644 → 0
View file @
d7008186
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"ProxyField"
module=
"Products.ERP5Form.ProxyField"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
delegated_list
</string>
</key>
<value>
<list>
<string>
title
</string>
</list>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_dialog_mode_use_selection
</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>
field_id
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
form_id
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
target
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
tales
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
field_id
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
form_id
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
target
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
values
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
field_id
</string>
</key>
<value>
<string>
my_checkbox
</string>
</value>
</item>
<item>
<key>
<string>
form_id
</string>
</key>
<value>
<string>
Base_viewFieldLibrary
</string>
</value>
</item>
<item>
<key>
<string>
target
</string>
</key>
<value>
<string>
Click to edit the target
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Use Current Selection
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/Alarm_runFullUpgrader.xml
View file @
4d70b829
...
...
@@ -50,52 +50,45 @@
</item>
<item>
<key>
<string>
_body
</string>
</key>
<value>
<string
encoding=
"cdata"
>
<![CDATA[
"""\n
<value>
<string>
"""\n
Run upgrader\n
"""\n
portal = context.getPortalObject()\n
portal_alarms = portal.portal_alarms\n
\n
def launchUpgraderAlarm(alarm_id, after_
method_id=[]
):\n
def launchUpgraderAlarm(alarm_id, after_
tag=None
):\n
""" Get the alarm and use sense and solve """\n
if after_tag is None:\n
after_tag = []\n
upgrader_alarm = getattr(portal_alarms, alarm_id, None)\n
if upgrader_alarm is not None and
upgrader_alarm.sense(
):\n
if upgrader_alarm is not None and
(force or upgrader_alarm.sense()
):\n
# call solve method\n
kw = dict(tag=alarm_id)
\n
if len(after_method_id) >
0:
\n
kw["after_method_id"] = after_method_id
\n
tag = alarm_id
\n
activate_kw = dict(tag=tag)
\n
activate_kw["after_tag"] = after_tag
\n
method_id = upgrader_alarm.getSolveMethodId()\n
if method_id not in (None, \'\'):\n
method = getattr(upgrader_alarm.activate(**kw), method_id)\n
method()\n
return [method_id] + after_method_id\n
return after_method_id\n
\n
previous_method_id = launchUpgraderAlarm(\'upgrader_check_pre_upgrade\')\n
method = getattr(upgrader_alarm.activate(**activate_kw), method_id)\n
method(force=force, activate_kw=activate_kw)\n
return [tag] + after_tag\n
return after_tag\n
\n
previous_method_id.extend([\'recursiveImmediateReindexObject\',\n
\'immediateReindexObject\',\n
\'Base_postCheckConsistencyResult\'])\n
previous_tag = launchUpgraderAlarm(\'upgrader_check_pre_upgrade\')\n
\n
previous_
method_id
= launchUpgraderAlarm(\'upgrader_check_upgrader\',\n
after_
method_id=previous_method_id
)\n
previous_
tag
= launchUpgraderAlarm(\'upgrader_check_upgrader\',\n
after_
tag=previous_tag
)\n
\n
previous_method_id.append(\'updateBusinessTemplateFromUrl\')\n
previous_method_id = launchUpgraderAlarm(\'upgrader_check_post_upgrade\',\n
after_method_id=previous_method_id)\n
previous_tag = launchUpgraderAlarm(\'upgrader_check_post_upgrade\',\n
after_tag=previous_tag)\n
\n
# Nothing else to do, so we can disable.\n
context.setEnabled(False)\n
return\n
]]>
</string>
</value>
</string>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
**kw
</string>
</value>
<value>
<string>
force=0,
**kw
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
...
...
bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/Alarm_runPostUpgrade.xml
View file @
4d70b829
...
...
@@ -58,7 +58,7 @@ active_process = context.newActiveProcess()\n
\n
# We should not run post upgrade if upgrader was not solved or never executed\n
alarm = getattr(portal_alarms, \'upgrader_check_upgrader\')\n
if alarm.sense() in (None, True):\n
if
not(force) and
alarm.sense() in (None, True):\n
active_process.postActiveResult(summary=context.getTitle(),\n
severity=1,\n
detail="Is required run upgrade before solve it. " +\\\n
...
...
@@ -66,6 +66,7 @@ if alarm.sense() in (None, True):\n
return\n
\n
context.ERP5Site_checkUpgraderConsistency(fixit=True,\n
activate_kw=activate_kw,\n
active_process=active_process,\n
filter_dict={"constraint_type": "post_upgrade"})\n
\n
...
...
@@ -75,7 +76,7 @@ return\n
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
**kw
</string>
</value>
<value>
<string>
force=0, activate_kw={},
**kw
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
...
...
bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/Alarm_runPreUpgrade.xml
View file @
4d70b829
...
...
@@ -54,6 +54,7 @@
Run Pre upgrade\n
"""\n
context.ERP5Site_checkUpgraderConsistency(fixit=True,\n
activate_kw=activate_kw,\n
active_process=context.newActiveProcess(),\n
filter_dict={"constraint_type": "pre_upgrade"})\n
\n
...
...
@@ -63,7 +64,7 @@ return\n
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
**kw
</string>
</value>
<value>
<string>
force=0, activate_kw={},
**kw
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
...
...
bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/Alarm_runUpgrader.xml
View file @
4d70b829
...
...
@@ -67,7 +67,7 @@ active_process = context.newActiveProcess()\n
\n
# We should not run upgrader if pre upgrade was not solved or never executed \n
alarm = getattr(portal_alarms, \'upgrader_check_pre_upgrade\')\n
if alarm.sense() in (None, True):\n
if
not(force) and
alarm.sense() in (None, True):\n
active_process.postActiveResult(summary=context.getTitle(),\n
severity=1,\n
detail="Is required solve Pre Upgrade first. " +\\\n
...
...
@@ -90,6 +90,7 @@ for portal_type in portal_type_list:\n
if portal.portal_catalog.countResults(\n
portal_type=portal_type_list)[0][0] > REINDEX_SPLIT_COUNT:\n
portal.portal_catalog.searchAndActivate(\'Base_postCheckConsistencyResult\',\n
activate_kw=activate_kw,\n
portal_type=portal_type,\n
method_kw=method_kw)\n
else:\n
...
...
@@ -104,7 +105,7 @@ return\n
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
**kw
</string>
</value>
<value>
<string>
force=0, activate_kw={},
**kw
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
...
...
bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/ERP5Site_checkUpgraderConsistency.xml
View file @
4d70b829
...
...
@@ -64,6 +64,7 @@ for portal_type, constraint_type_list in constraint_type_per_type.iteritems():\n
if portal_type_list:\n
context.getPortalObject().portal_catalog.searchAndActivate(\n
\'Base_postCheckConsistencyResult\',\n
activate_kw=activate_kw,\n
portal_type=portal_type_list,\n
method_kw={\n
\'fixit\': fixit,\n
...
...
@@ -75,7 +76,7 @@ if portal_type_list:\n
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
active_process, fixit=False, filter_dict={}
</string>
</value>
<value>
<string>
active_process,
activate_kw={},
fixit=False, filter_dict={}
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
...
...
bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/TemplateTool_checkWorkflowChainConsistency.xml
View file @
4d70b829
...
...
@@ -82,7 +82,10 @@ for _, bt5_id in resolved_list:\n
workflow_id = group_dict[\'workflow_id\']\n
workflow_id_list = portal_type_dict.setdefault("%s" % portal_type, [])\n
if workflow_id.startswith(\'-\'):\n
workflow_id_list.remove(workflow_id.replace(\'-\', \'\'))\n
try:\n
workflow_id_list.remove(workflow_id.replace(\'-\', \'\'))\n
except ValueError:\n
pass\n
continue\n
elif workflow_id in workflow_id_list:\n
continue\n
...
...
bt5/erp5_web_ecommerce_test/PathTemplateItem/portal_tests/erp5_web_e5g_ecommerce_ui_zuite/testE5gEcommerceBasicNavigation.xml
View file @
4d70b829
...
...
@@ -108,6 +108,7 @@
</tr>
\n
\n
<!-- Initialize -->
\n
<!-- DISABLE FOR NOW\n
<tr>\n
<td>open</td>\n
<td>${base_url}/web_site_module/e5g_ecommerce/</td>\n
...
...
@@ -128,7 +129,6 @@
<td>5000</td>\n
<td></td>\n
</tr>\n
<!-- DEBUG \n
<tr>\n
<td>storeEval</td>\n
<td>function x(el){var n,a=[],w=document.createTreeWalker(el,NodeFilter.SHOW_TEXT,{acceptNode:function(m){if(!/^\\\\s*$/.test(m.data)){return NodeFilter.FILTER_ACCEPT;}}},false);while(n=w.nextNode())a.push(n);return a;}var i,len,t="",list=x(document.getElementById("selenium_myiframe").contentDocument.querySelector("body div"));for(i=0,len=list.length;i<len;i++){t+=list[i].nodeValue+" "}</td>\n
...
...
@@ -139,7 +139,6 @@
<td>${my_global_text}</td>\n
<td></td>\n
</tr>\n
-->
\n
<tr>\n
<td>waitForTextPresent</td>\n
<td>Super Product</td>\n
...
...
@@ -150,7 +149,7 @@
<td>//h2</td>\n
<td>Super Product 0</td>\n
</tr>\n
\n
-->
\n
\n
</tbody>
\n
</table>
\n
...
...
bt5/erp5_web_ecrm_test/PathTemplateItem/portal_tests/erp5_web_e5g_ecrm_ui_zuite/testE5gEcrmBasicNavigation.xml
View file @
4d70b829
...
...
@@ -108,6 +108,8 @@
</tr>
\n
\n
<!-- Initialize -->
\n
<!-- DISABLE FOR NOW -->
\n
<!--\n
<tr>\n
<td>open</td>\n
<td>${base_url}/web_site_module/e5g_ecrm/</td>\n
...
...
@@ -133,6 +135,7 @@
<td>//a[@href="#jio_key=bug_module%2Fbug_0&view=view"]</td>\n
<td>Super Bug 0</td>\n
</tr>\n
-->
\n
\n
\n
</tbody>
\n
...
...
bt5/erp5_web_ehr_test/PathTemplateItem/portal_tests/erp5_web_e5g_ehr_ui_zuite/testE5gEhrBasicNavigation.xml
View file @
4d70b829
...
...
@@ -109,6 +109,8 @@
\n
\n
<!-- Initialize -->
\n
<!-- DISABLE FOR NOW -->
\n
<!--\n
<tr>\n
<td>open</td>\n
<td>${base_url}/web_site_module/e5g_ehr/</td>\n
...
...
@@ -154,7 +156,7 @@
<td>//a[@href="#jio_key=position_module%2Fposition_0&view=view"]</td>\n
<td>Super Position 0</td>\n
</tr>\n
\n
-->
\n
\n
</tbody>
\n
</table>
\n
...
...
bt5/erp5_web_eproject_test/PathTemplateItem/portal_tests/erp5_web_e5g_eproject_ui_zuite/testE5gEprojectBasicNavigation.xml
View file @
4d70b829
...
...
@@ -109,6 +109,8 @@
\n
\n
<!-- Initialize -->
\n
<!-- DISABLE FOR NOW -->
\n
<!--\n
<tr>\n
<td>open</td>\n
<td>${base_url}/web_site_module/e5g_eproject/</td>\n
...
...
@@ -139,7 +141,7 @@
<td>//a[@href="#jio_key=task_module%2Ftask_0&view=view"]</td>\n
<td>Super Task 0</td>\n
</tr>\n
\n
-->
\n
\n
</tbody>
\n
</table>
\n
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_bin_html.xml
View file @
4d70b829
...
...
@@ -115,7 +115,7 @@
<link
rel=
"stylesheet"
href=
"gadget_bin.css"
>
\n
<script
src=
"rsvp.js"
type=
"text/javascript"
></script>
\n
<script
src=
"renderjs.js"
type=
"text/javascript"
></script>
\n
<script
src=
"jquery
/core/jquery-2.1.min
.js"
type=
"text/javascript"
></script>
\n
<script
src=
"jquery.js"
type=
"text/javascript"
></script>
\n
<script
src=
"jquerymobile.js"
>
type="text/javascript">
</script>
\n
<script
src=
"handlebars.js"
type=
"text/javascript"
></script>
\n
<script
src=
"gadget_bin.js"
type=
"text/javascript"
></script>
\n
...
...
@@ -322,7 +322,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
944.
23995.20237.27067
</string>
</value>
<value>
<string>
944.
36243.1568.23552
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -340,8 +340,8 @@
</tuple>
<state>
<tuple>
<float>
143
6852011.35
</float>
<string>
GMT
+9
</string>
<float>
143
7641133.89
</float>
<string>
GMT
</string>
</tuple>
</state>
</object>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_html.xml
View file @
4d70b829
...
...
@@ -125,7 +125,7 @@
<script
src=
"rsvp.js"
type=
"text/javascript"
></script>
\n
<script
src=
"renderjs.js"
type=
"text/javascript"
></script>
\n
<script
src=
"URI.js"
type=
"text/javascript"
></script>
\n
<script
src=
"jquery
/core/jquery-2.1.min
.js"
type=
"text/javascript"
></script>
\n
<script
src=
"jquery.js"
type=
"text/javascript"
></script>
\n
<script
src=
"jquerymobile.js"
type=
"text/javascript"
></script>
\n
<script
src=
"gadget_global.js"
type=
"text/javascript"
></script>
\n
<script
src=
"gadget_erp5.js"
type=
"text/javascript"
></script>
\n
...
...
@@ -293,7 +293,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
944.
23995.20237.27067
</string>
</value>
<value>
<string>
944.
36243.11855.44902
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -311,8 +311,8 @@
</tuple>
<state>
<tuple>
<float>
143
6852011.45
</float>
<string>
GMT
+9
</string>
<float>
143
7641105.38
</float>
<string>
GMT
</string>
</tuple>
</state>
</object>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_html.xml
View file @
4d70b829
...
...
@@ -117,7 +117,7 @@
<script
src=
"renderjs.js"
type=
"text/javascript"
></script>
\n
<script
src=
"handlebars.js"
type=
"text/javascript"
></script>
\n
<script
src=
"gadget_global.js"
type=
"text/javascript"
></script>
\n
<script
src=
"jquery
/core/jquery-2.1.min
.js"
type=
"text/javascript"
></script>
\n
<script
src=
"jquery.js"
type=
"text/javascript"
></script>
\n
<script
src=
"jquerymobile.js"
type=
"text/javascript"
></script>
\n
\n
<script
id=
"panel-template-header"
type=
"text/x-handlebars-template"
>
\n
...
...
@@ -319,7 +319,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
944.
23995.20237.27067
</string>
</value>
<value>
<string>
944.
36243.6132.18568
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -337,8 +337,8 @@
</tuple>
<state>
<tuple>
<float>
143
6852011.47
</float>
<string>
GMT
+9
</string>
<float>
143
7641090.96
</float>
<string>
GMT
</string>
</tuple>
</state>
</object>
...
...
bt5/erp5_web_renderjs_ui/RegisteredSkinSelectionTemplateItem/registered_skin_selection.xml
View file @
4d70b829
<registered_skin_selection>
<skin_folder_selection>
<skin_folder>
erp5_jquery
</skin_folder>
<skin_selection>
RJS
</skin_selection>
</skin_folder_selection>
<skin_folder_selection>
<skin_folder>
erp5_web_renderjs_ui
</skin_folder>
<skin_selection>
RJS
</skin_selection>
...
...
bt5/erp5_web_renderjs_ui/bt/template_registered_skin_selection_list
View file @
4d70b829
erp5_jquery | RJS
erp5_web_renderjs_ui | RJS
\ No newline at end of file
erp5/tests/testERP5TestNode.py
View file @
4d70b829
...
...
@@ -232,10 +232,12 @@ extends = %(temp_dir)s/testnode/foo/rep0/software.cfg
[rep1]
repository = %(temp_dir)s/testnode/foo/rep1
branch = master
develop = false
[rep2]
repository = %(temp_dir)s/testnode/foo/rep2
branch = foo
develop = false
"""
%
{
'temp_dir'
:
self
.
_temp_dir
}
else
:
revision1
=
"azerty"
...
...
erp5/util/testnode/ProcessManager.py
View file @
4d70b829
...
...
@@ -106,7 +106,7 @@ def killCommand(pid, log):
everyone at the same time
"""
process
=
psutil
.
Process
(
pid
)
new_child_set
=
set
([
x
.
pid
for
x
in
process
.
get_
children
(
recursive
=
True
)])
new_child_set
=
set
([
x
.
pid
for
x
in
process
.
children
(
recursive
=
True
)])
child_set
=
None
os
.
kill
(
pid
,
signal
.
SIGSTOP
)
while
new_child_set
!=
child_set
:
...
...
@@ -117,7 +117,7 @@ def killCommand(pid, log):
os
.
kill
(
child_pid
,
signal
.
SIGSTOP
)
time
.
sleep
(
1
)
child_set
=
new_child_set
new_child_set
=
set
([
x
.
pid
for
x
in
process
.
get_
children
(
recursive
=
True
)])
new_child_set
=
set
([
x
.
pid
for
x
in
process
.
children
(
recursive
=
True
)])
log
(
"killCommand, finishing, child_set : %r"
%
(
child_set
,))
for
child_pid
in
child_set
:
os
.
kill
(
child_pid
,
signal
.
SIGKILL
)
...
...
erp5/util/testnode/testnode.py
View file @
4d70b829
...
...
@@ -339,7 +339,7 @@ develop = false
except
:
log
(
"testnode, error during requesting getTestType() method
\
from the distributor."
)
raise
NotImplementedError
raise
# Select runner according to the test type
if
my_test_type
==
'UnitTest'
:
runner
=
UnitTestRunner
(
self
)
...
...
product/ERP5/tests/testAccounting.py
View file @
4d70b829
...
...
@@ -2499,6 +2499,40 @@ class TestClosingPeriod(AccountingTestCase):
section_uid
=
self
.
section
.
getUid
(),
node_uid
=
self
.
account_module
.
receivable
.
getUid
()))
def
test_ParrallelClosingRefused
(
self
):
organisation_module
=
self
.
organisation_module
stool
=
self
.
portal
.
portal_simulation
period
=
self
.
section
.
newContent
(
portal_type
=
'Accounting Period'
)
period
.
setStartDate
(
DateTime
(
2006
,
1
,
1
))
period
.
setStopDate
(
DateTime
(
2006
,
12
,
31
))
period
.
start
()
period2
=
self
.
section
.
newContent
(
portal_type
=
'Accounting Period'
)
period2
.
setStartDate
(
DateTime
(
2007
,
1
,
1
))
period2
.
setStopDate
(
DateTime
(
2007
,
12
,
31
))
period2
.
start
()
pl
=
self
.
portal
.
account_module
.
newContent
(
portal_type
=
'Account'
,
account_type
=
'equity'
)
transaction1
=
self
.
_makeOne
(
start_date
=
DateTime
(
2006
,
1
,
1
),
destination_section_value
=
organisation_module
.
client_1
,
portal_type
=
'Sale Invoice Transaction'
,
simulation_state
=
'delivered'
,
lines
=
(
dict
(
source_value
=
self
.
account_module
.
goods_sales
,
source_credit
=
100
),
dict
(
source_value
=
self
.
account_module
.
receivable
,
source_debit
=
100
)))
self
.
portal
.
portal_workflow
.
doActionFor
(
period
,
'stop_action'
,
profit_and_loss_account
=
pl
.
getRelativeUrl
())
self
.
assertRaises
(
ValidationFailed
,
self
.
getPortal
().
portal_workflow
.
doActionFor
,
period2
,
'stop_action'
)
class
TestAccountingExport
(
AccountingTestCase
):
...
...
product/ERP5Type/tests/ERP5TypeFunctionalTestCase.py
View file @
4d70b829
...
...
@@ -132,6 +132,7 @@ class Browser:
def run(self, url, display):
self.clean()
self.environ = os.environ.copy()
self._setEnviron()
self._setDisplay(display)
self._run(url)
...
...
@@ -151,21 +152,25 @@ class Browser:
def _setDisplay(self, display):
if display:
os.environ["DISPLAY"] = display
self.environ["DISPLAY"] = display
else:
xauth = os.path.expanduser('
~/
.
Xauthority
')
if os.path.exists(xauth):
self.environ["XAUTHORITY"] = xauth
def _runCommand(self, *args):
print " ".join(args)
self.process = subprocess.Popen(args, close_fds=True)
self.process = subprocess.Popen(args, close_fds=True
, env=self.environ
)
class Firefox(Browser):
""" Use firefox to open run all the tests"""
def _setEnviron(self):
os
.environ['
MOZ_NO_REMOTE
'] = '
1
'
os
.environ['
HOME
'] = self.profile_dir
os
.environ['
LC_ALL
'] = '
C
'
os
.environ["MOZ_CRASHREPORTER_DISABLE"] = "1"
os
.environ["NO_EM_RESTART"] = "1"
self
.environ['
MOZ_NO_REMOTE
'] = '
1
'
self
.environ['
HOME
'] = self.profile_dir
self
.environ['
LC_ALL
'] = '
C
'
self
.environ["MOZ_CRASHREPORTER_DISABLE"] = "1"
self
.environ["NO_EM_RESTART"] = "1"
# This disables unwanted SCIM as it fails with Xvfb, at least on Mandriva
# 2010.0, because Firefox tries to start scim-bridge which SIGSEGV and
...
...
@@ -174,7 +179,7 @@ class Firefox(Browser):
'
XIM_PROGRAM
',
'
XMODIFIERS
',
'
QT_IM_MODULE
'):
os
.environ.pop(remove_environment_variable, None)
self
.environ.pop(remove_environment_variable, None)
def _run(self, url):
# Prepare to run
...
...
@@ -183,8 +188,6 @@ class Firefox(Browser):
self._runCommand(firefox_bin, "-no-remote",
"-profile", self.profile_dir, url)
os.environ['
MOZ_NO_REMOTE
'] = '
0
'
def getPrefJs(self):
from App.config import getConfiguration
return """
...
...
product/Localizer/MessageCatalog.py
View file @
4d70b829
...
...
@@ -276,7 +276,7 @@ class MessageCatalog(LanguageManager, ObjectManager, SimpleItem):
as a translation for unknown messages.
"""
if
not
isinstance
(
message
,
basestring
):
raise
TypeError
,
'only strings can be translated.'
raise
TypeError
(
'only strings can be translated, not: %r'
%
(
message
,))
if
default
is
None
:
default
=
message
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment