[REF] project_issue: remove dependency towards crm (but added dependency to sales_team). Main change: channel_id is now channel, a char field that holds the source channel.
Improved calendar's favorite meeting list and added a input box to directly
insert the partner in favorite list and 'X' to remove the partner's name
from the favorite meeting list in calendar view.
[REF] mail, crm, hr_recruitment, project, project_issue: simplified repl.y-to of notification emails (now displaying 'YourCompany -docname- ' instead of 'Followers of ...'; added same_thread directly on the mail.message model to ease the reply_to and message-id computation; factorized a bit the reply-to generation for a batch of records; udpated tests accordingly.
This way, it's easier to create an inherited view 'on-the-fly' from the developer mode.
And it's even more handy if you want to inspect or modify an existing inherited view.
[IMP] mail: added headers field on mail.mail, allowing to store headers data when sending notification emails. This commit in master improves the commit 839815fdd4 (saas-5) that was using computed but not stored values.
- output "error" if any qunit tests failed
- failed js tests are logged as errors
- when running phantomjs considere empty waiting condition or initialisation code as "true"
- lint phantomtest.js file
When searching for a record in a m2o field, if we click on 'search more' we loose the focus on the field and select the first suggestion (which triggers potential on_change). This prevents the selection for this case.
When a module is uninstalled, this will also uninstall modules depending of it. To avoid unexpected loss of data, this patch list the modules that will get impacted during the installation.
This also affects the configuration pages with on change warnings.
[MERGE] http routing: fix handle_exception logic and _authenticate exceptions
* Better separate JsonRequest and HttpRequest handling
for exceptions, so each type of request handles exception
the right way. Previously HttpRequest would supersede
JsonRequest in some cases and generate pure HTML
responses where a JSON result was expected.
* Also ensure that ir.http._authenticate() only raises
two possible exception types, hiding any other kind
of internal errors:
- openerp.exceptions.AccessDenied
- openerp.http.SessionExpiredException