Barcodes are detected by catching keypresses. When a keypress is not
part of a barcode, it is 'released' by forging a keypress event.
For security reasons, a non-native keypress doesn't trigger the native
input mechanism. So in order to make both barcode-scanning and manual
keypresses work in a field, it is necessary to have a handler listen
to the 'false' keypresses and simulate the native input behaviour.
lxml.HTMLParser detect the content encoding by itself if not specified.
in the issue leading to this fix, content in a mail with u'\xa4'
( ) was transformed intto u'\xc2\xa4' (Â ) since HTMLParser
selected the wrong encoding (latin-1 instead of utf-8 for example).
this commit specify the known encoding and revert 3d00c210f which was
another attempt at this issue.
Would trigger a UnicodeWarning when looking to update ir.model.fields
in _field_create (final loop): the unicode value from the database
would be compared with the str value from the model, the str would
fail to decode triggering the warning and assuming a False test,
probably also triggering an unnecessary database UPDATE.
This one has been settled there for ages
but gives the wrong impression it is only editable in draft and sent state.
Nevertheless readonly=True is not define.
Thus this confusing dict is useless.
Closes#3734
* Fix alignement/layout problems since the reintroduction of
bootstrap grid gutter.
* Fix mobile layout problems.
* Fix various Firefox problems.
* Use odoo variables and simplify LESS.
* Use input type="text" instead of input without type.
- In the chat, when loading more messages, automatically scroll to the previous
oldest message instead of staying at the top;
- In the chat, don't use the event 'scrollTop < 50' to load more messages as
it won't work on mobile (all the webclient is scrolling, so the client action's
scrollTop will always be 0);
- Generalize the way to load more messages between chat and chatter by moving
the logic to the MailThreadMixin and creating a common template;
- Improve the style of this 'load more messages' button
mail.channel doesn't have the normal behavior of mail.thread,
but the test are based on mail.channel (which is thus a not so good idea).
res.partner is the other model available in mail module, implementing
the correct behavior of mail.thread, but trigger AccessError. The tests
are commented from now, since TDE and I rewrite the test with a complete
module dedicated to the test and implementing the expected behavior of a mail.thread.
Sometimes, the variable partner_id is False (on first connections). This leads to a
crash because partner_id is a boolean instead of an integer. This commits simply
sidestep the problem.