The testing framework was done with an old version of qunit. We had to
program our layer on top of it to provide support for promises in tests.
The last version of qunit now supports promises, and the testing
framework needs to be reworked anyway with the new modules.
This compatibility file reexports every symbols from the modules to the
old openerp namespace. The goal is to allow old unconverted odoo addons
to interact seamlessly with the new web client.
This commit introduces a new module system for the javascript code.
Instead of using global (namespaced) variables everywhere (like
openerp.web.whatever, ...), each file declare one (or more) module
with its dependencies. Each module will be loaded after its
dependencies, and will be given a reference to the return values.
This change is a massive departure from the way the client worked
previously. It will sadly break some/most history, but I am sure that
the future git ecosystem will allow you to easily browse the history
past this revision (one can dream).
This commit feature:
* main namespace is now odoo instead of openerp
* a way to define modules and dependencies (inspired by requirejs)
* many files have been splitted in simpler subfiles
* basic support for debugging in odoo.__DEBUG__
* no global variable (i.e. nothing in window.openerp)
* many bug fixes, many new bugs
Future vision: this modularization should simplify future code
development, simplify debugging and will allow a serious testing effort
These two addons were doing evil things with the way registries works.
1. they create a new registry to add something in it,
2. they replace the existing reference with another
3. they don't use the "add" method.
Seriously, original coder, what were you thinking?
being able to create and write on many2one and many2many records in a form view.
Indeed before this commit users had always the possibility to create or edit records
leading to a crash if no access rights were granted. Now the option is
not displayed if the user has no rights to do it.
Tests have been added for this feature.
invoice_exists field has been removed, because invoice_count can be used when the
old field was used.
invoiced_rate field has been removed, because it was never used except in a
test.
Also added a stat button with deliveries on sale order.