for some reason, the web tests interface loads base.css, in which the .openerp is overflow:hidden, which is not fun in the tests.
The correct fix is actually to remove base.css from the tests, but the way I did it had some problems. So, this is a simple workaround that can be safely removed if base.css is removed from the view.
The search view architecture allowed an 'invisible' attribute in fields. These fields were ignored for the autocompletion and did not appear in the interface. The goal was to allow default parameters to create facets, without displaying the field in the interface. Since that functionality is not used and the new search view does not support it right now, the tests can be removed.
The search view tries to evaluate the category of a filter in order
to put it in the filters or in the group by sub menu. The pyeval.eval
function could throw an exception, which is not cool if it crashes the
client. This fix make sure that the exception is caught.
notable: disable the group by integration in graph view, because of crash (the search view was rewritten and too much search logic was in the graph view. This is a temporary measure, the graph view will be split into pivot/graph views, and the search integration will be done correctly in the near future.
The goal is to split the graph view into two views: pivot table view (short: 'pivot') and graph view (with charts). This patch lays the foundation for that work.
The mail client actions did not integrate with the search view. (it is actually an ugly hack to fake a view manager and instantiate a search view. of course it was broken when the search view was refactored)
With the search view refactoring, the add to dashboard functionality was unavailable. Weep no longer, it is fixed. The dashboard button is now an action in the favorites submenu instead of a search input
large rewrite of action manager, view manager and
viewmanageraction. The goal is to lay the foundation
for the redesign of the advanced search view.
This commit includes:
* improvements to the display order (no/less flickering)
* large simplification of the breadcrumbs code
* much better html layout for the header (no table)
* bootstrapisation of the view manager
* lots of optimizations/simplification
* a base.css.map, courtesy of the last sass version
This commit adds a way to configure scheduled emails on events. It replaces
existing automatic emails at confirmation and subscription. It proposes to
configure some schedulers, based on subscription or event, using a template
and a configurable timedelta.
A cron is added that regularly checks for event mailing schedulers to execute
and launch them. The granularity of send emails is therefore limited to the
granularity of the cron, aka 1 hour.
[TEST] Added tests for this feature.
Also cleaned a bit event, country_id is now a pure related instead
of a computed field trying to be a related. Also removed default templates
on event category. Configuration in the event itself should be easy
enough for most use cases.
This way, the query method can be used with a custom domain. Such a domain
could match on a 'transaction_ref' field as well as on 'ref' and 'name'.
Example of implementation:
class account_bank_statement_line(orm.Model):
_inherit = 'account.bank.statement.line'
def _domain_reconciliation_proposition(self, cr, uid, st_line,
excluded_ids=None, context=None):
_super = super(account_bank_statement_line, self)
_get_domain = _super._domain_reconciliation_proposition
domain = _get_domain(cr, uid, st_line, excluded_ids=excluded_ids,
context=context)
new_domain = []
for criterium in domain:
if len(criterium) == 3:
field, op, value = criterium
if (field, op) == ('ref', '='):
new_domain += [
'|',
('transaction_ref', '=', value),
]
new_domain.append(criterium)
return new_domain
def _domain_move_lines_for_reconciliation(self, cr, uid, st_line,
excluded_ids=None, str=False,
additional_domain=None,
context=None):
_super = super(account_bank_statement_line, self)
_domain_meth = _super._domain_move_lines_for_reconciliation
domain = _domain_meth(cr, uid, st_line, excluded_ids=excluded_ids,
str=str, additional_domain=additional_domain,
context=context)
if not str and str != '/':
return domain
domain = domain[:]
domain.insert(-1, '|')
domain.append(('transaction_ref', 'ilike', str))
return domain
this is due to commit 6ed774de61 and a37bad205b which removes the active_id from context if the target==curent which is the case of this widget, we therefore can not use active_id here.
fix#2385
The setup of relational fields may be problematic, as they may refer to unknown
models via custom relational fields. In a partial setup, do not try to skip
the field setup, but let it go and silently catch any exception if it crashes.