When registering a payment for an expense sheet with several expense lines, only
the first line of the expense sheet was linked to the account move line of the payment.
So the payment was considered as partially reconciled.
Now when a payment is registered for an expense sheet with several expense lines,
the user is redirected to the manual reconciliation widget to link the move line of
the payment to all the expense lines. In this way, the payment will be considered as fully
reconciled.
DO NOT FORWARD-PORT! ONLY FOR v10
opw:772505
On Ubuntu Xenian, the Odoo package was difficult to install because
three Debian packages were required but could not be found in Ubuntu
repositories. As those packages are not really crucial, they are
now only suggegsted by the Debian package which is therefore
installable on Ubuntu Xenial. One can manually install them as
explained in the documentation.
Closes#20000
When a product has multiple company taxes and b2c prices is enabled, price is
not computed properly and adds to the base price every company tax present.
This patch filters the company set on the company so taxes are computed just
for that company.
In the iOS app, the content immediately ceases to
scroll when you remove your finger from the touchscreen.
Now, he content continues to scroll for a while after
finishing the scroll gesture and removing your finger
from the touchscreen.
The speed and duration of the continued scrolling is
proportional to how vigorous the scroll gesture was.
This Css property is the only way we find to have
the same behavior in the android app and in the iOS app.
Part of the button was hidden by the (invisible) right column content
when using some particular themes.
This is because of a messy XML structure that cannot be safely repaired
in a stable version. This commit fixes the bug with CSS.
Note: this may need to be backported to 9.0 and the XML structure should
be improved in master.
Prefetching is underused when all fields are traversed one record at a time.
So instead, traverse all records one field at a time. This guarantees batch
prefetching/computation on every field being accessed.
In mobile, the .o_kanban_card_content width wasn't defined.
In desktop, we don't have this issue because the .container bootstrap
element set the width.
Now, the kanban card content is correctly displayed in
the workcenter kanban view.
Previous to this commit, anyone could import studio customizations into
a community db, this was troublesome since some people would just
install studio, do their customizations and then move them into a
community db, not paying anything at all.
This commit fixes this by checking whether the exported views were
created with studio or not and if studio is installed
The action "Load a Translation" is wrongfully considered as only for
installation of a new language (while it is for update too).
The action "Synchronize Terms" is wrongfully considered as to refresh
translations of installed language (while it is to generate empty translations).
Rename to "Generate Missing Terms"
The res.lang tree view encourage this misconception with a "update terms" that
actually triggers a synchronize terms action.
Change the triggered action to the "Load & Update"
Move the list of languages to always visible in settings.
This list is not very technical and will avoid to go to debug mode for basic
actions like updating the sources of checking what languages are installed.
Going less often to dev mode will hide the misleading "Synchronize Terms" action
for normal users.
Closes#19911
The class PoFile was already using it.
TextIOWrapper closes its underlying buffer causing the "Synchronize Terms" action
to fail (trying to read on a closed buffer).
Fixes#19911
Use python 3.5
Refer to correct page of the doc
Remove old bazar to git (was intended for the 8.0)
Remove outdated setup_dev script: it was intended for odoo developers but if you
are not able to make a git clone, you are going to have a bad time later.
- Set 'Tax calculation rounding method' to 'Round Globally'
- Create a expense product with a tax of 20% included in the price
- Create a expense of 19.99
- Submit the expense in a expense sheet
- Validate the expense
- Post the expense
- Register a payment of 19.99
The expense is not set as paid.
The source of the issue is that the tax line is created without being
rounded. In the specific example, two lines are created with amounts:
- 16.658
- 3.33166667 (Tax)
This introduces rounding error in the computation of the matched
percentage, and the expense is not set as paid.
We force the rounding of the taxes since the 'Round Globally' option has
no impact on an expense report.
opw-773908
- Create 2 companies: A is parent of B.
- Demo is in Company A
- Create 2 invoices for a partner: one in A, one in B (100 each)
- Validate the invoices
Connected as Demo, the 'Invoiced' amount on the partner form view (stat
button) is 100, while clicking on it shows both invoices (total of 200).
There is no need to manually add the company in the `where` clause since
the `_apply_ir_rules` will take care of adding the appropriate
multi-company rules.
opw-772479
original commit forgot an "s" (in %(street2)s), leading to `\n`
becoming the format character, except that's not a *valid* format'
character, yielding a ValueError "unsupported format character
'?' (0xa)" any time an address is displayed if the current country is
Japan (and the system thus uses the japanese address pattern rather
than a generic one).
Closes#20008
- Hide navbar divider in mobile view
- Change font to default when applying header style
- Remove form tag from media dialog search input to avoid redirection
Otherwise if a record rule is defined on a x2many field on the model, the creation will fail because
ir.translation creation check access rules on the model and in this case, the x2many relation are
not set yet.
When a picking is created from a purchase order, a message is logged in
the chatter: "This transfer has been created from: POXXX: XX$".
Ideally, an inventory user should not have access to the purchase
orders. Sadly, removing the access right brings a lot of access right
issues, so this commit only remove the amount from the logged message
We adapt the name_get that always displayed the total amount of the
purchase order since rev[1], as a message was logged in the chatter when
a picking is created from a purchase order and the message contained this
value.
We implement a context key to display the total amount in the name_get,
as it is used when linking a vendor bill to a purchase order.
[1] 0c618d79ff
Steps to reproduce the bug:
Let's consider a product A with a price of 100
Let's consider a pricelist P with a visible discount of 50% on product A.
Let's consider a quotation template Q with one line with the product A with 50%
of discount.
Let's create a SO with pricelist P and set the quotation template Q on it.
Bug:
The unit price of A on SO is 50 instead of 100 and the visible discount is 50%
instead of 75%.
With the fix:
The unit price is 100 and the discount is 75%
opw:771996
This field can be called on an hr.expense for onchange on an
hr.expense.sheet record, thus the recordset could be a virtual ID so
self.ids could be empty leading to an error.
Use case to reproduce:
- Create a picking with a package
- Go to the source or destination package
- Click on package transfers
-> It displays all the pickings
This happens because the package transfer button calls
the all picking tree view that display them.
This commit use an action instead that will add a domain
on it in order to only display the pickings that used the
selected package.
opw-774013
A bunch of features had been added to the qweb test files and qwebjs
did not pass them as features were either implemented differently or
not implemented at all:
* Fixed wonky and not cross-impl tests
- added ``not`` word replacemenet to qwebjs as I wasn't sure how to
handle that one cross-impl
* fixed t-esc/t-raw to render content *inside* the host node e.g.
span@t-esc should render as <span>{contents of esc}</span>
* added fallback to body content if t-esc/t-raw yields an empty result
* process t-att in order with t-att-* and t-attf-* rather than before
them both
* suppress attribute generation entirely in case of falsy value