[MERGE] Read ir.ui.view's arch from disk in development mode
A new switch named `--dev` has been added to the openerp.cli's arguments.
This development mode's purpose is to activate some specific behaviours in order to ease development.
For the moment, the only effect of `--dev` is to make the ir.ui.view's arch function field read the data from the original xml file (if any), allowing the developer to change a view and check the effect without having to update it's database.
This feature will currently work only with existing views. If you add a view you still have to update your database.
If a selection field is defined by a list as selection, such as:
state = fields.Selection([('a', 'A'), ('b', 'B')])
one can extend it by inheritance by redefining the field, as:
state = fields.Selection(selection_add=[('c', 'C')])
The result is that the selection field will have the list
[('a', 'A'), ('b', 'B'), ('c', 'C')] as selection.
As `_inherits` fields are now handled via `related`
fields (not stored, obviously), a new descriptor
`searchable` has been added to `fields_get()` result
to indicated if the field is searchable or not.
Singleton object was required while access model properties, but search returns multiple results and hence caused traceback while accessing record.property
The one2many field 'user_ids' was initialized with an incorrect value for the
inverse field 'wizard_id', using a res.users id. The latter was causing a
MissingError exception. The fix is simply to not define explicitly the inverse
field in the one2many.
Also did a small cleanup of the code of the wizard.
The existing code was buggy when writing on *2many fields with a list of
commands: the value was converted for the cache, but taking an empty recordset
as the current value of the field.
The onchange_product_id method used to only change the description if the stock.move is not saved yet. That does not make much sense.
opw 607347, bug lp:1314700
The name_search was hardcoding ilike operator while it could be different. This means that a name_search "name != Agrolait" would return accounts with agrolait.
A side effect of this was the impossibility to import account_analytic_account whose parent is a substring of another - opw 607315
Before, the field purchase_ok was set as readonly on the product form if the product wasn't a variant, to avoid users to set all the products variants associated to the product template to be set as purchase able in one action.
We now consider that this can be done by the end user
It is not useful to try to create foreign keys when the destination model is
a PostgreSQL view for example.
We already do this kind of verifications but ir.actions and transient models
but did not for _auto.
- simplify the code by removing unused cases
- do not modify input argument 'value' of create/write
- do not call BaseModel.read() with reified group fields (this causes warnings)
of switching back to default screen.
This is used by the soon to be merged restaurant addon to create new orders
and display them at a particular screen. However, this behaviour is more
confusing in the other cases, so I'll think of a better way to solve this.