Commit Graph
104550 Commits
Author SHA1 Message Date
Jeremy Kersten e6184aeb37 [FIX] sale: set B2B as default mode at installation
Before this fix, you was in an 'unknow' mode before to have selected the mode
in the sale res config after the install of sale.

Side effect:
    Empty value in ecommerce
    Missing column subtotal in 'sale.order' and related report

Now, with fix, mode B2B is set by default (was the only mode in old version)
Using same behavior that the method execute of class resConfigSetting.

Usability: set the default option as the first choice in the res config.
2016-06-18 00:12:44 +02:00
Fabien Pinckaers ad858bf746 [FIX] hr_contract: broken icon
[IMP] hr_expense:
    invert placeholders: trip is a report, lunch is an expense
    total column in latest column
    no default value for expense description
2016-06-17 13:20:59 -07:00
Fabien Pinckaers f1ab3face1 [IMP] im_livechat: "website live chat" menu renamed to "Live Chat" 2016-06-17 10:39:15 -07:00
Xavier ALT f02b23006b [FIX] fields: during an onchange(), do not invalidate *2many fields because of their domain
Our usage of domain on fields One2many seems to trigger an obscure behaviour on
onchange.

With the following (simplified) config:

    Message(models.Model):
        _name = 'test_new_api.message'
        important = fields.Boolean('Important')

    Discussion(models.Model):
        _name = 'test_new_api.discussion'
        name = fields.Char('Name')
        important_emails = fields.One2Many('test_new_api.emailmessage', 'discussion',
                                           domain=[('important', '=', True)])

    Email(models.Model):
        _name = 'test_new_api.emailmessage'
        _inherits = {'test_new_api.message': 'message'}

        discussion = fields.Many2one('test_new_api.discussion', 'Discussion')
        message = fields.Many2one('test_new_api.message', 'Message')

Steps:
- We change 'name' on discussion, triggers an `onchange()` call
- we ends up filling cache on virtual record (on secondary fields, we calling
  record.mapped('important_emails.important'))
- we get a cache miss ('important' field not provided, only 'important_emails' ids,
  i.e with no change on existing records)
- we fill the cache, this mark 'important' field as modified
- because of commit 5676d81 and because 'important' is that case is a related (i.e
  computed) field we triggers cache recomputation
- as there is no way to recompute 'important_emails' for virtual record (no real
  ID) we ends up with empty 'important_emails' generating removal of existing records.

=> Finally changing any value for 'test_new_api.discussion' that trigger an onchange
will always reset 'important_emails' to empty

Fixed by Raphael Collet <rco@odoo.com>, and test by Xavier Alt <xal@odoo.com>.
2016-06-17 17:50:25 +02:00
Jeremy Kersten 39a7ce44b0 [FIX] tools: don't save dev_mode in config file.
When user reset master password from web database manager, the
config file is saved.

If server was started in dev_mode the param dev_mode was saved
in openerp_serverrc silently. (in 9 or always in trunk)

Remind: --dev_mode should be never used on a production server.
2016-06-17 17:19:00 +02:00
William Moreno 3e4adb1582 [IMP] fix typo
Closes #12466
2016-06-17 15:30:53 +02:00
jeffery chen fan bcb191f273 [FIX] crm_profiling: backport of cf9230d1ff
Do not redefine the view arch but do a proper inherit.
It was a problem as the redefinition removed some fields (headers,..).
It was also a problem if crm_profiling was uninstalled as the redefinition was
not removed.

Closes #12454
2016-06-17 15:19:39 +02:00
Jeremy Kersten 3834a89482 [IMP] website_sale: B2B-B2C - display price with or without taxes.
Allow to display price on the website tax included or not.

Price for product is computed with a new function display_price
which one compute an estimated price based on taxex and fiscal
position of the current partner for the current product.

Once the product is in the cart, it is the behaviour of previous commit
odoo/odoo@5f5f8d8 which is used to diplay price with or without taxes.
2016-06-17 15:14:28 +02:00
Nicolas Lempereur e1deae7eab [IMP] base: allow 'render' override with new api
New API use a frozendict for context, so when a function in the call
chain is overrided by new API (eg: render function of ir.qweb) the code
now changed by this commit would cause an error.

Instead this code duplicate the context frozendict as a dict removing
the need to set back the intial language in the context.

opw-681167

note: no need for >=saas-11
2016-06-17 15:11:06 +02:00
Jeremy Kersten 5f5f8d8efe [IMP] sale: allow to show total of order line tax inc or based on unit price.
Allow to set in configuration mode b2b or b2c.
Change the column of order line in sale view and in reports depending of sale.

Fix price_reduce field (wrong if tax was included in price)
and merge with code discounted_price from website_sale.

Change header from reports "Price Tax Excluded' by 'Price' in report.
That is wrong, sometime the amount can haxe tax included in the price.
2016-06-17 15:06:04 +02:00
qdp-odoo ba49172929 [FIX] account: on ir_sequence, number_next_actual must always be read instead of number_next which might contain wrong value in case of 'standard' sequence. This was causing a crash on creating a new invoice, if demo data were installed and the user went to settings\accounting to do some modification. Issue #12471 2016-06-17 14:41:12 +02:00
Géry Debongnie 5d78ace63c [MERGE] web: various small refactorings
Some cleanups, to prepare the future.
2016-06-17 13:54:36 +02:00
Géry Debongnie 77e20f57d2 [FIX] web: prevent some rpcs in tests
each time a js test is run, it used to start the chat manager, which
does a rpc.  This simply prevent the chat manager to start.
2016-06-17 13:32:38 +02:00
Géry Debongnie 00120a9271 [REF] web: refactor and simplify web.core 2016-06-17 13:32:37 +02:00
Géry Debongnie 2254abbde7 [REF] web: move Bus class to web.Bus 2016-06-17 13:32:37 +02:00
Géry Debongnie d56b35e26e [REF] web, *: move QWeb odoo init to web.QWeb
this js module centralizes all odoo initialization
2016-06-17 13:27:18 +02:00
Géry Debongnie 611322c36b [REF] web: add ajax.rpc and change some dependencies 2016-06-17 13:24:54 +02:00
Géry Debongnie 916b43afab [REF] web: remove dead code 2016-06-17 13:24:54 +02:00
Géry Debongnie cfe4b337af [REF] web: move async_when to utils 2016-06-17 13:24:54 +02:00
Géry Debongnie cfe13f79e6 [REF] web, web_calendar: move toBoolElse to web.utils 2016-06-17 13:24:54 +02:00
Géry Debongnie 57c0398749 [IMP] web: add main core bus
this will be used for all odoo web client event, not for dom events
2016-06-17 13:24:53 +02:00
qsm-odoo 65f588685a [FIX] web_tour: missing use of the force arg on scroll
* Fix scroll problem (the force argument was lost)
* Also add more meaningful names to the tip trigger methods
2016-06-17 13:20:44 +02:00
qsm-odoo cc67068360 [IMP] web_tour: tips on the border of the screen
* Adapt code to handle position/width/padding with pixel-precision
* Adapt overlay to not overflow the screen
* Do not let the content overflow the tip when closed
2016-06-17 13:20:44 +02:00
Joren Van Onder d713a3ecc6 [IMP] payment: only show fees configuration if fees are implemented 2016-06-17 13:09:18 +02:00
Joren Van Onder 64ee1761d4 [IMP] payment: hide payment.token menu entry in non-debug mode 2016-06-17 13:09:18 +02:00
Joren Van Onder 4e5815c1c3 [IMP] payment: create and use an electronic account.payment.method 2016-06-17 13:09:18 +02:00
Joren Van Onder e3730cf1f2 [IMP] payment*,website: rename payment.method -> payment.token
payment.method was not a good name because it was too easy to confuse
with account.payment.method.
2016-06-17 13:09:18 +02:00
Joren Van Onder 5c63ed388c [IMP] payment: add a generic payment acquirer 2016-06-17 13:09:18 +02:00
Joren Van Onder e883b8c734 [IMP] payment: show fees in payment.transaction tree view 2016-06-17 13:09:18 +02:00
Joren Van Onder b13e01f860 [IMP] payment: auto_confirm field should be displayed with radio widget 2016-06-17 13:09:18 +02:00
Joren Van Onder fc711a22a9 [IMP] payment: show configuration tab in payment.acquirer form view
Without debug mode.
2016-06-17 13:09:18 +02:00
Joren Van Onder 65b1220008 [IMP] website_payment: when invoicing always ignore invoice policy
Sale orders created through the website that have to be automatically
invoiced should ignore the delivery invoicing policy.

Otherwise you can end up with either an invoice not being generated at
all. This means the user has to manually generate and add the payment to
it. Even worse is if only some purchased products have invoice policy
delivery. In this case a partial invoice would be generated to which the
payment would be added, leading to a mismatch between invoice total and
payment amount.
2016-06-17 13:09:18 +02:00
Joren Van Onder 101a9693b3 [FIX] payment*: fix invalid coding
-*- coding: utf-'8' "-*-"

is not a valid encoding. Introduced by
666387a274 I think. It was probably a
typo/replace gone bad and it got copy-pasted everywhere. Emacs complains
every time you try to save changes to files with this invalid encoding.

This changes all of them to

coding: utf-8

adhering to eae045949d.

Done with:

find . -name '*.py' -print0 |\
xargs -0 sed -ie 's/-\*- coding: utf-'"'"'8'"'"' "-\*-"/coding: utf-8/'
2016-06-17 13:09:18 +02:00
Joren Van Onder 48336f0948 [IMP] payment: make 'Test' on environment button same color as in Kanban 2016-06-17 13:09:18 +02:00
Joren Van Onder a40840690c [IMP] payment: allow account.payment creation with payment.method 2016-06-17 13:09:18 +02:00
Joren Van Onder 8a761721d1 [IMP] payment: add options to automatically confirm SO's through website
Introduces two new options:
- confirm_so: to confirm the sale order on acquirer confirmation
- generate_and_pay_invoice: confirm_so + generation of invoice and
                            payment registration
2016-06-17 13:09:18 +02:00
Joren Van Onder 303e585371 [IMP] website_*: consolidate some duplicate payment logic
website_sale and website_quote both did their own
form_feedback. This causes issues because:

1. it would force upcoming features to have to be duplicated as well
2. there's a risk that improvements/bug fixes will only be applied to
one module, an example of this happening is
46c5f93b6c.
2016-06-17 13:09:18 +02:00
Christophe Simonis 10148c3c3a [MERGE] forward port of branch saas-9 up to 8ddf1b9 2016-06-17 12:24:47 +02:00
Yannick Tivisse 717f9217bb [IMP] hr_expense: bring back the sheets + other new features
NB:
- The option no_delete is not working, a fix will come from chm
- The many2many widget on a sheet creation is not working correctly as
  the called command is a (1, id, values) without a (4, id, _) before.
  A fix will also come from chm, but a disgusting hack has been
  provided for this particular case (to remove after chm fix)
2016-06-17 12:14:57 +02:00
Jeremy Kersten e9aa5fdd85 [FIX] base: fix domain of serialization_field_id in ir model field view
During refactoring of the field view, parent.model has been replaced by
model_id since it is more elegant. (odoo/odoo@4a60a3)

That was correct when you was working directly from the ir.model.field.
But if you was comming from ir.model -> fields -> 'add an item', the
model_id is unknow in the context of pyeval.

This commit close #12455
2016-06-17 12:13:35 +02:00
Christophe Simonis 8ddf1b909a [MERGE] forward port of branch 9.0 up to 8284c73 2016-06-17 11:32:09 +02:00
Yannick Tivisse 5aa9bde34a [FIX] mass_mailing: Append unsubscribe url to mail body 2016-06-17 11:23:13 +02:00
Keyur Gajjar 7652b6388a [REM] mass_mailing: removed unused method mass_mailing_statistics_action() from models/mass_mailing.py 2016-06-17 11:23:12 +02:00
Keyur Gajjar bbca135410 [MIG] mass_mailing: code migration to new api
NB: A controller in website_mass_mailing has been migrated too. It's not a real issue
as this module will also be migrated in the days to come
2016-06-17 11:23:12 +02:00
Keyur Gajjar 1467689edf [MOV] mass_mailing: splitted the following files + new api
1. Splitted data/mass_mailing_data.xml to security/mass_mailing_security.xml for res_groups data.
2. Splitted views/mass_mailing_views to
    - views/link_tracker_views.xml
    - views/mass_mailing_stats_views.xml
    - views/mass_mailing_template.xml
2016-06-17 11:23:12 +02:00
Keyur Gajjar 1c1b049898 [MOV] mass_mailing: directory restructuring according to new api 2016-06-17 11:23:12 +02:00
Christophe Simonis 8284c7389f [FIX] website_quote: avoid setting unknow field
The field `delay` on `sale.order.line` has been renamed into
`customer_delay` and is already set.

This revert commit d0d3ba921d.
2016-06-17 11:09:44 +02:00
Damien Bouvy c8a94fda19 [FIX] website_quote: test uses field that doesn't exist
Or at least doesn't exist anymore.

(Backport of 654237b43c)
2016-06-17 10:56:46 +02:00
luc-demeyer 1750b90252 [FIX] account: fixed group_lines method of invoices.
The group_lines method didn't make the sum of the quantity field, hence resulting in incorrect results when making product based statistics from the account.move.line records.

Courtesy of Luc De Meyer. Was PR #10551
2016-06-17 10:27:53 +02:00
Khwunchai J a9ea4e7cab [FIX] web_settings_dashboard: Incorrected plural form of "Active Users"
Odoo add the extra letter "s" to the translated word "Active User".
This is caused by adding "s" at the end of the word directly from the template,
which makes no sense in many language.
This prohibits translators from translating the plural form in any language.
The plural form and singular form of "Active User" should be translate
separately.

Fixes #12469
Closes #12470
2016-06-17 10:18:41 +02:00