Commit Graph
98825 Commits
Author SHA1 Message Date
Nicolas Martinelli dda5eb7dff [FIX] website_quote: remove loading attribute if missing data
In commit bc43417b, a loading attribute is set on any submit button. The
problem is that this attribute is the first thing to be set. Therefore,
we cannot prevent its propagation.

Since Bootstrap sets this 'loading' attribute in a setTimeout, we need
to remove it in a setTimeout as well.
2015-10-01 17:01:23 +02:00
Thibault Delavallée 86e50baefc [REF] mail: small method refactoring to ease chat integration 2015-10-01 16:36:24 +02:00
Christophe Simonis 7bdee12038 [FIX] survey: invalid route forced in POST. 2015-10-01 16:21:22 +02:00
Christophe Matthieu c81609eb43 [FIX] web: inverse extend attributes to use the overwrite of render_cell 2015-10-01 15:35:26 +02:00
Christophe Matthieu ce30ee7066 [FIX] web: use _.clone to avoid change of 'default_value' 2015-10-01 15:35:26 +02:00
Christophe Simonis d750206c49 [MERGE] forward port of branch saas-6 up to e9f1ee4 2015-10-01 15:16:59 +02:00
Christophe Simonis e360464742 [FIX] yaml import: correctly handle menuitem action 2015-10-01 15:14:40 +02:00
David Monjoie 3ff35206ce [IMP] mail: renamed to Discuss
To have the same as the "Discuss" menu. Otherwise people look
for the "Discuss" application and they don't find anything.
2015-10-01 15:09:40 +02:00
Damien Bouvy 2caec6607b [FIX] sale: duplicate field in view is duplicate 2015-10-01 14:41:16 +02:00
Géry Debongnie f6c5da32b3 [MERGE] mail: refactoring of the chat interface
This merge is a large refactoring of the chat/channel code (client side
code).  A goal is to simplify the logic of updating chat windows,
chatter and channels.

A notable change is that it also disable the livechat js code, because
it was not updated on time.
2015-10-01 14:02:48 +02:00
Aaron Bohy 0d91339b7b [IMP] mail: increase needaction counter on new message notification
At least, when someone mentions a user in a message posted in a channel, a
notification is sent by the server that a new message just arrived in that
channel. Client side, we then decide whether or not this message should appear
in the Inbox as well. In the positive case, we can increase the needaction
counter.

Problem remains for messages sent from chatters and by using the mail icon in
the systray, as for those ones, no notification at all is sent by the server.
2015-10-01 14:00:20 +02:00
Aaron Bohy 0e2dd225f6 [IMP] mail: client_action: sidebar items fine tuning
Mostly, display in bold channels with unread messages
2015-10-01 14:00:20 +02:00
Géry Debongnie 673f4aa4a7 [FIX] bus: disable longpolling in test mode
In test mode, only one cursor is available, and longpolling will take
it, and not give it back before 60s, causing a phantomjs timeout.  This
commit simply return an error when the server is in test mode.

Sadly, I had to patch the web client to prevent logging the error in
this case, because that's the way phantomjs detect if there is a
problem.
2015-10-01 14:00:20 +02:00
Aaron Bohy 730efcc3df [FIX] mail: mark a message as read should not hide 'load more' button
It was hidding it because the method that removes a message from the thread
didn't pass the options for the thread rendering, and the flag specifiying
whether or not the 'load more' button should be displayed is in this options
object.
2015-10-01 14:00:19 +02:00
Géry Debongnie 6b3f1c1b22 [FIX] web: increase log timer
boot loader waited for only 100 ms before logging failed modules.
However, modules can now wait for deferred before completing their
loading, so this delay is increasingly getting too short.
2015-10-01 14:00:19 +02:00
Aaron Bohy de024f43ab [FIX] web,website: bundle utils.less to assets fronted 2015-10-01 14:00:19 +02:00
Géry Debongnie 6ea633ee62 [FIX] mail: synchronize needaction counter
in systray and in client action.  This is only a client side fix.  A
problem persists: the server does not notify the client when a new
message arrives in the inbox, to the client can not possibly increase
the counter.
2015-10-01 14:00:19 +02:00
Géry Debongnie 9b44754bd5 [FIX] website_livechat: update assets due to refactoring of mail 2015-10-01 14:00:19 +02:00
Géry Debongnie b47c2b955b [FIX] im_livechat: temporarily disable client code
This is done because of large mail refactoring and the need of quick release.
We will rewrite it asap.
2015-10-01 14:00:19 +02:00
Aaron Bohy b105a37534 [FIX] mail_tip: update code to chatter refactoring 2015-10-01 14:00:19 +02:00
Géry Debongnie 2a5f07e0b9 [REF] mail: last part of the chat refactoring (client side)
Removal of old files and update of assets and imports

Joint work with aab
2015-10-01 14:00:18 +02:00
Géry Debongnie 62be162877 [REF] mail: second part of the chat refactoring (client side)
Joint work with aab
2015-10-01 14:00:18 +02:00
Aaron Bohy 512287cac1 [REF] mail: first part of the chat refactoring (client side)
Joint work with ged
2015-10-01 14:00:18 +02:00
Géry Debongnie aa23a5a41d [IMP] bus: allow bus to restart polling on demand
The problem was that the bus didn't listen to new channels when they were
registered until the end of the current longpoll. This allows mail to manually
restart the polling.
2015-10-01 14:00:18 +02:00
Josse Colpaert 729c1fbec1 [FIX] sale: onchange for sale_delay/customer_lead not needed as it is in sale_stock 2015-10-01 13:05:56 +02:00
Nicolas Martinelli 59ab9bd25e [FIX] hr_expense: typo in report 2015-10-01 12:55:24 +02:00
Jérome Maes 8e63088dbc [FIX] im_livechat : web.session defined twice
On website page, in debug mode, error 'web.session already defined' appears in the console. This was due to the fact the namespace web.session was redefined a second time to bind the session on the server_url param for the livechat to work. On website page, this is already done by the native web.session (session_instance.js). Define a session in the bundle is required when livechat is intergrated on external page, so fetching the bundle is done through /im_livechat/loader/, and generating a web.session can be conditional.
2015-10-01 12:41:35 +02:00
Jérome Maes ea4dc68087 [FIX] im_livechat : clean cookie managment
Update the cookie after changing conversation state
Deleting the conversation cookie when closing the conversation window
Force open the conversation if a cookie is found (even if the state is closed)
2015-10-01 12:41:26 +02:00
Jérome Maes 3304b31938 [FIX] im_livechat, website_mail : message author avatar visible
To display author avatar to public user, using the /web/image url with res.partner returns the placeholder since public doesn't have access. Using the url on mail.message will display the avatar according to the access right defined on res_model/res_id of mail.message. However this executes mush query to fetch the avatar image (1 per message, against 1 per partner).

Maybe this wasn't a bug, but since it is a regression, this deserves to be fixed ...
2015-10-01 12:41:18 +02:00
Jérome Maes a9148a9f2e [FIX] im_livechat : assets controller was broken
The commit 6327cda0a7 introduce mock_attachment object, replacing ir.attachment. This new object doesn't not have id attribute : accessing it crashes. livechat controller needs to search on the mock url to generate the status, headers and content of the response via binary_content() method.
2015-10-01 12:41:08 +02:00
Jérome Maes 19452f2109 [FIX] mail : email_send should be False for chat and livechat channel
Chat and livechat channel should not send emails. The field is however editable, so it was added to the form view of mail.channel
2015-10-01 12:41:00 +02:00
Adrien Dieudonne 7d7a73241b [FIX] enterprise settings upgrade widgets 2015-10-01 12:01:10 +02:00
qdp-odoo 622b96957d [FIX] account: set the input account on vendor bills/refunds when the company is in anglo saxon mode. Fixes #8811 2015-10-01 11:31:23 +02:00
Arthur Maniet abbd635470 [REVERT] changes wrongly added to a0ea75e5f1 2015-10-01 11:30:26 +02:00
Martin Geubelle b2636c026f [FIX] web: dataset aware of m2m tags color change
Use case: create a new tag, change its color and create another new tag. The m2m field was rendered again but the dataset was not aware of the color change on the first new tag. We need to invalidate the cache after changing the color in a tag in edit mode.
2015-10-01 10:51:26 +02:00
Arthur Maniet a0ea75e5f1 [REVERT] shema changes introduced in 9927f960f1 2015-10-01 10:38:23 +02:00
Christophe Matthieu 66871ee65b [IMP] website_sale: render all order-lines and change cart quantity
* update cart code simplification
* fix rendering bug when change pricelist
* remove get_unit_price and fix rendering error from website_event_sale
2015-10-01 10:26:29 +02:00
Arthur Maniet 9927f960f1 [FIX] account and res.partner.bank fixes
- Remove _check_communication method which was a complex way to achieve
  what extension classes can do with a simple @api.constraint
- Proper default values for partners created through the payment form.
- In res.partner.bank, store the 'acc_type' computed field so that it can
  trigger constraint check (base_iban adds one)
- Misc
2015-10-01 10:09:43 +02:00
Arthur Maniet eb54347a04 [FIX] account: reconciliation interface compatibility with new design 2015-10-01 10:09:43 +02:00
Martin Trigaux 055918370d [I18N] Update translation terms from Transifex 2015-10-01 09:58:29 +02:00
Olivier Dony b5ae7659ff [REL] Odoo 9 2015-10-01 09:39:57 +02:00
Martin Trigaux a82d4010a7 [I18N] export the terms
v9 is here, let's freeze the source terms
2015-10-01 09:21:59 +02:00
Antony Lesuisse ed1bbbb8d0 [IMP] enterprise settings 2015-10-01 09:06:33 +02:00
Martin Trigaux bb439b718c [FIX] auth_crypt: encrypt all the things!
Was removed at 7b61d6c1 because of passlib 1.6
Removed at 88b63a9b
2015-10-01 08:39:55 +02:00
Olivier Dony 8932c52e67 [MERGE] CSRF protection support in routes and forms
* make CSRF protection the default on all non-SAFE methods
  (any method besides GET, HEAD, TRACE and OPTIONS )
  note: there currently is no way to call a CSRF-protected endpoint
  without a form-encoded entity-body as that's the only place we get
  the CSRF token from.
* simple CSRF token generation: just use the HMAC'd session id, no
  generating a new random token per session then HMAC it
* use constant-time equal function to avoid timing attacks
* assert that a database secret is configured before
  hashing/validating the CSRF token
* opt-out database manager from CSRF: the super-admin password
  serves the purpose of a CSRF token in the database manager screens.

Implementation by xmo@odoo.com and chs@odoo.com
2015-10-01 02:45:34 +02:00
Xavier Morel afa9f4b5fd [REM] web: /login route
Only used by web tests (which rely on a module they don't depend on to
run, bad!) and altering the test session directly should work, so this
endpoint seems completely unnecessary.
2015-10-01 01:36:50 +02:00
Xavier Morel cea29e0c01 [ADD] client-side CSRF support
* add CSRF token as core.csrf_token
* add CSRF tokens to client-generated and/or JS-submitted forms
* remove broken "compatibility" mode of web.ajax.post

  /cc @dmo-odoo I've no idea how that was supposed to work, from looking
  things up all modern browsers seem to support FormData, and old IEs
  which don't don't support fallbacks either and would require
  submitting an actual form as fallback so...
2015-10-01 01:36:50 +02:00
Xavier Morel 7753ed7ce4 [IMP] survey: replace form which had no reason to be a form by a div 2015-10-01 01:36:50 +02:00
Christophe Simonis 7636b510a2 [ADD] *: CSRF protection in forms and routes
* make CSRF protection the default on all non-SAFE methods
  note: there currently is no way to call a CSRF-protected endpoint
  without a form-encoded entity-body as that's the only place we get the
  CSRF token from.
* simple CSRF token generation: just use the HMAC'd session id, no
  generating a new random token per session then HMAC it
* use constant-time equal function to avoid timing attacks
* assert that a database secret is configured before hashing/validating
  the CSRF token
* opt-out database manager from CSRF: The super-admin password serves
  the purpose of a CSRF token in the database manager screens.
  There is no request database to obtain the
  secret and generate a CSRF token.
2015-10-01 01:36:50 +02:00
Xavier Morel 058b33544f [FIX] website_sale_option: implicit JS global 2015-10-01 01:36:50 +02:00