Reimplement amount generator and use new simulation by default
authorJulien Muchembled <jm@nexedi.com>
Thu, 4 Nov 2010 16:42:21 +0000 (16:42 +0000)
committerJulien Muchembled <jm@nexedi.com>
Thu, 4 Nov 2010 16:42:21 +0000 (16:42 +0000)
commit89e22c9457b96305a71b0c6ccd49a735f2329ddf
tree6434ebb228522090702dde7a5a9f1550b9b1e7f5
parent5ad691346d37a1dce5ef05fecf60d14d47a3c59e
parentf6e2b212bf38ce6965ae85f0d683c8f979522eff
Reimplement amount generator and use new simulation by default

Main changes are:
- new amount generator
- new simulation is used by default but legacy simulation is still available
- BT refactoring

New amount generator:
- compatible with linear amount generator lines.
- 'create_line' property is deprecated: a amount is generated only if a resource
  is set.
- non-linear amount generator lines need to be migrated:
  - an empty base_application can't be used anymore to generate a fixed quantity
  - support of 'calculation_script_id' is dropped: it is replaced by a
    type-based Xxx_getBaseAmountQuantityMethod script.
  - 'target_level' property is replaced by 'target_delivery'
  - 'create_line' propret

About new simulation, the most visible changes are:
- movements (or deliveries) must be linked (directly or not) to a configured
  Business Process, otherwise 'expand' fails
- specialise values are propagated through simulation
- erp5_* BT do not provide rules anymore, nor erp5_default_business_process
- deliveries and movements can not contain Trade Model Lines (or any other kind
  of Amount Generator Line) anymore
- rules can't contain "cells" anymore (like in Invoice Transcation Rule):
  this is now configured with Trade Model Paths on the Business Process

BT refactoring:
- 'erp5_simulation' is not experimental anymore: it should contain everything
  related to simulation. It is required even if legacy simulation is used.
- old simulation is provided via BT: it can be used by installing
  'erp5_simulation_legacy' and specific BT like 'erp5_trade_simulation_legacy',
  'erp5_accounting_simulation_legacy', etc.
- 'erp5_simulation_test' BT contains 'erp5_default_business_process' and new
  rules for unit tests

ERP5Legacy is required for legacy simulation, but it can also be installed without any issue if it is unused.

Unit tests:
Tests in ERP5 product test new simulation. Many of those testing simulation are
duplicated in ERP5Legacy in order to be tested with legacy simulation.
Some tests fail with new simulation or need to be rewritten.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39918 20353a03-c40f-0410-a6d1-a30d3c3de9de
product/ERP5/Document/BusinessTemplate.py
product/ERP5/Document/SolverProcess.py
product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewFieldLibrary.xml