The reverse charge was counted twice in the VAT Return Summary Report
A reverse charge tax is a group of taxes with:
- Reverse Charge TVA +5%(Purchase)
- Reverse Charge TVA -5%(Purchase)
When buying a product P with a reverse charge tax on it.
The only tax that must appear in the VAT Return Summary Report is
the Reverse Charge TVA -5%(Purchase)
opw:2041877
closesodoo/odoo#35499
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
When using barcode to change the customer to a customer with a different
pricelist than the pos default, the customer pricelist was not
automatically selected.
This is a fine-tuning on 5603b778f6
opw-2047070
closesodoo/odoo#35602
Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
Before this commit, most new messages added to the mail manager were
handled as if recently posted from a document thread. As a result, it
was frequently setting a new item in the local storage to notify
other tabs from these new messages.
The intent of this behaviour is to notify other tabs of newly posted
messages in a document thread, without using a longpolling
notification. That means this logic should only apply on messages
that have been recently posted on a document thread.
Sometimes, this issue was breaking the local storage on Firefox.
It showed the error message "Quota Exceeded Error" whenever `setItem`
was used, even when items were removed beforehand. The capacity of
the storage was only a few Kbs on this domain, far from reaching the
maximum capacity. We think that this error comes from the concurrent
`setItem` on multiple tabs, but this is very hard to reproduce.
This commit fixes the issue by limiting the `setItem` to the tab
that really posted the message. Tests have been adapted in order to
pass only with this fix.
note: backport of 12.2 4bde721f9
opw-2031960
closes#35588
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
With some printers (ex: Epson TM-m30), the cash drawer only opens 50%
of the time if you just send the kick command.
A fix has already been made (odoo/odoo#33328). In the previous fix, we
retried up to five times to send the pulse, checking the status of the
drawer between each pulse. The problem was that, when we read the value
of the status, the pulse was not yet done and the status was not yet
updated. The pulse was then always sent five times, even if the first
pulse worked, making a lot of noise.
For some reason, if you read the status right after sending the pulse,
the drawer always opens and the loop is not needed anymore.
TaskID: 2045581
closesodoo/odoo#35368
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
- Set the rounding of Unit(s) to 1.0
- Create a PO for 1.4 Unit(s), validate => the picking contains
1.4 Unit(s)
- Validate the picking
The backorder wizard is displayed, and if no backorder is selected, a
crash occurs.
The quantity should be rounded when the picking is created. Otherwise,
inconsistencies will appears when it is rounded in subsequent processes.
opw-2046965
closesodoo/odoo#35560
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
_on_login_cooldown is documented as being disabled when
"base.login_cooldown_after" is set to 0, however the incorrect return
value meant setting this parameter to 0 would put every user on login
cooldown permanently.
Closesodoo/odoo#35544 reported by @rodrig92
closesodoo/odoo#35555
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
The following rounding is incorrect:
```
>>> float_round(6.6 * 0.175, precision_digits=2)
1.15
```
Indeed, 6.6 * 0.175 = 1.155 ≈ 1.16.
In this specific case, the `epsilon` computed is not sufficient. A
precision of 53 gives:
normalized_value = 115.49999999999997
epsilon = 1.2823075934420547e-14
=> new normalized_value = 115.49999999999999
Bad luck, this is just not enough to tip the value in the right
direction.
However, a precision of 52 is sufficient:
normalized_value = 115.49999999999997
epsilon = 2.5646151868841094e-14
=> new normalized_value = 115.5
The value of 53 was chosen from the `binary64` number format precision.
In case of Python, the corresponding machine epsilon is 2^-52 [1].
Therefore, using 52 instead of 53 does make sense.
It is worth noting that the value of the machine epsilon
2^-52 = 2.2204460492503131e-16, which is still 2 orders of magnitude
below our dynamic estimation.
[1] https://en.wikipedia.org/wiki/Machine_epsilon
[2] `numpy.finfo(float).eps = 2.2204460492503131e-16`
opw-2047368
closesodoo/odoo#35521
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
In the planner the url are generated by prepare_backend_url that takes
an action's xml id as argument. The id passed should have the format
'module_name_where_the_action_is.action_name'. In this case the id passed
was product.product_template_action_product but the action is defined in
stock thus the prepare_backend_url was not able to find the associate action
and return a wrong(default) url.
This commit change the action id passed with the correct module.
closesodoo/odoo#18812
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
[IMP] l10n_*: don't define accounts or tags on tax repartition line templates anymore for 0% taxes
[FIX] account: remove old function used to migrate the former tax model, incompatible with the new one
When validating a invoice, the billing user should have access (read) for all analytic
lines. A problem appears when timesheet is installed, since there is a mismatch with
ir.rule (a timesheet is an analytic line with a project set).
The rule "account.analytic.line.billing.user" already exists for this problem, but should
be extended to work in any case.
To reproduce:
- set a user as timesheet manager and billing user
- try to validate an invoice (or post an expense)
- got an access error with "account.analytic.line.timesheet.manager"
opw-2041615
closesodoo/odoo#35297
Signed-off-by: Jérome Maes (jem) <jem@openerp.com>
Select the option 'This Month' of a date filter
in the filter menu and then remove the facet created
correctly toggles the filter from the query but the
option is still shown as selected. This commit fixes
that situation.
closesodoo/odoo#35340
Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
https://docs.python.org/3/library/stdtypes.html#truth
By default, an object is considered true unless
its class defines either a __bool__() method that returns False
or a __len__() method that returns zero
Since etree elements are iterator, they define a len function.
However it turns out that customerProfileId has always no children.
So bool(find(x)) is always False; the intended meaning was find(x) is None.
opw 1999427
closesodoo/odoo#34922
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
closesodoo/odoo#35246
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
Immediate transfer (no reservation, auto-confirmation, etc) should be
the default mode when creating manually a picking. The rationale is that
"the user wants to quickly encode stuff" and "it's better for the
onboarding".
As the default mode was already changed back to "planned transfer" because
users complained, this time we adapted the code so that the default mode
could be changed in python.
- re-order the imports of stock_picking.py.
- made all links to the picking from the picking type go through
_get_action (it wasn't the case for ready).
- adapt the context in the xml so that they are parse-able by
literal_eval.
- remove three actions that weren't used anymore.
- the user can create an ir config "stock.no_default_immediate_tranfer"
fill it with anything to get back the planned mode.
task-2043846
closesodoo/odoo#35550
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
Before this commit, the calendar popover was opened before the popover
widget was ready. This is not usually the way it is done in odoo.
closesodoo/odoo#31874
Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
Improve design and introducing several usability improvements:
- Removed customization of an event card, just display event title.
- Added popover, popover consist of two sections:
1) Show the title, date and time of an event. Date and time are
automatically computed according to the user timing preferences,
language and event duration. Can be hidden with hide_date/hide_time
attribute respectively.
2) Display all the fields specified inside the <calendar/> element.
fields can be specified with a widget and its options.
e.g. <field name="name" string="Custom Name" widget="char" options="{}"/>
- Show avatar in popover for filters.
- Removed hide sidebar feature.
- Increase readability using a better color selection.
- Better UI in mobile.
And, Adapted test cases
Task 1919926
Co-authored-by: jat-odoo <jat@openerp.com>
The customers were removed from the invoice list view in
https://github.com/odoo/odoo/commit/317802d69e6236a43b2249b38d2f352813644f20
This was probably because the name of the variables
invoice_vendor_display_name was missleading as it was only for vendors
beofre but also for customers now. So this commit also renames related
variables.
While we are at renaming things, I also renamed the type in variables
supsense -> suspense.
closesodoo/odoo#35531
Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
Before this commit, when you duplicate a validated inventory, the new
one has the inventory lines of the original one.
Now, the duplicate inventory is created without inventory lines.
Task #2043851closesodoo/odoo#35402
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
New search filter to display of inventory lines with `difference_qty`
(diff. between `theoretical_qty` and `product_qty`) different than zero.
Task #2043851
Add a button in the inventory adjustment lines view to update the
`theoretical_qty`. This button appears beside the On Hand quantity when
this quantity is outdated.
Note: it's not possible to define explicitly width of non-field column,
so we cannot define width of button's column. The hack is to constrain
width of other columns to manage a little space to display the button.
Task #2043851
On Inventory Adjustment lines view:
- Changes some fields name...
- The column Inventory Date has been moved between Location and
Lot/Serial Number.
- The columns Lot/Serial Number, On Hand, Difference, UoM and
Inventory Date are now optional.
Only Inventory Date is hide by default.
Task #2043851
Changes the type of `prefill_counted_quantity` from boolean to selection
to have a label for each option.
This change is only for a functional purpose.
Task #2043851
PURPOSE
This PR completely reworks the slide.channel form view. Notably slide categories
management should be simplified like SO or invoices sections.
SPECIFICATIONS
This merge
* improves the content management from the form itself by adding a tree view
of slides with the possibility of drag and dropping slides from category to
category;
* adds buttons to quickly add content or certifications in the slide tree
views;
* reorders the tabs and fields on channel view and update some labels;
* adds a custom float field widget so that the ratings are actually displayed
as stars;
* contains some fixes and light improvements related to recent merges in
elearning application, especially backend;
In order to implement the content management in the channel form, the model
slide.category has been removed. Instead of having a fully fledged model for
the categories we now use slide.slide with a is_category flag.
LINKS
Task 1978731
PR #33255
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
When uploading twice the same video for a channel, the error message displayed unhandled html.
We removed the html to avoid having to use $el.html() for better safety (and it should not happen often anyway).
This is (most likely) related to #32181 which lazy loads most assets.
That caused an issue where the global 'Util' variable from PDFJS can be (depending of which libraries load first)
overridden by the global 'Util' variable of bootstrap.
(See 'lib/bootstrap/js/util.js' and 'lib/pdfjs/src/shared/util.js')
This commit ensures that the global 'Util' variable is set to the one of PDFJS right before it's used.
Eventually, we should update or get rid of one of the two libraries since they're not compatible together,
or make a wrapper that makes them compatible.
In the mean time, this small fix allows not refactoring all of this and can not cause much harm.
PURPOSE
Improve daily use of slide, especially in backend.
SPECIFICATIONS
Make slide type editable in backend, notably at create. This commit makes it
possible for the user to manually define the type of the slide.
Slightly clean slide code about slide data.
LINKS
Task 1978731
PR #33255
PURPOSE
Like already done for sale order, invoice of survey, purpose of this commit
is to remove category model and replace by a flagged line (slide). It allows
to easily reorder slides in an embedded list view.
SPECIFICATIONS
This commit completely reworks the slide.channel form view
* improve the content management from the form itself by adding a tree view
with the possibility of drag and dropping slides from category to category.
This tree view has buttons to quickly add content or certification. It
also allow to add a category (slide with flag is_category) without opening
a modal;
* reorder tabs and fields, improve some labels;
* add a custom float field widget to display ratings as stars;
* add stat button for partners who completed/certified ;the course
* add stat button that redirects to the forum posts;
* add stat button that redirects to the channel reviews;
LINKS
Task 1978731
PR #33255
PURPOSE
Like already done for sale order, invoice of survey, purpose of this commit
is to remove category model and replace by a flagged line (slide). It allows
to easily reorder slides in an embedded list view.
SPECIFICATIONS
Instead of having a fully fledged slide.category model, slide.slide will serve
that purpose with a is_category flag. This will allow to drag and drop slides
and sections in the channel form view.
This change had an impact on the way slides were added/sorted on the front-end.
In fact, whenever a slide is added from the front-end, a resequencing of all
the slides in the course has to be triggered.
Category of a slide is now a computed field based on the sequence. Order
of slides is based on sequence, with categories splitting the slide list based
on is_category flag.
In this commit tests are added. Some cleaning in tests is also performed to
speedup a bit tests (savepointcase) and some cleaning / renaming to ease
their understanding.
Future commit will add JS necessary to manage slides in the section list view.
LINKS
TaskID: 1978731
PR: #33255
SPECIFICATIONS
Before this commit, installing survey would replace the number of done members
by its label. Now the number of members who completed the course will be
displayed correctly.
LINKS
Task 1978731
PR #33255
SPECIFICATIONS
Before this commit, creating a channel would crash because of NewID key
not existing in a dictionary for compute fields. A crash would also happen
when deleting a slide from the channel form view.
LINKS
Task 1978731
PR #33255
SPECIFICATIONS
This commit renames the compute method _compute_slides_statistics to
_compute_forum_statistics. Purpose is to make read easier to understand
by having meaningful names .
LINKS
Task 1978731
PR #33255
The demo invoice for the OCR had incomplete fields to work properly, the
'Send for digitalization' button was missing and there was no attachment
preview.
closesodoo/odoo#35528
Signed-off-by: Florian Daloze (fda) <fda@odoo.com>
Back to Basics: Sales Order Drift
Various improvements in the UX of the Sales application, notably regarding
delivery and coupon. Other views/field labels/helper text changes as well.
Task 2033229
closesodoo/odoo#34963
Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
The "Recompute shipping cost" button will now reopen the wizard
to be able to change carrier.
When adding to the order, it will replace the current shipping cost.
Relabelled the "Recompute shipping cost" to “Update Shipping Cost”
and moved it to the right.
Shipping method field will have radio widget and cost will be editable
in the wizard.
Also, it was not allowed to delete a delivery line when the order was
confirmed ('sale' state). So here, as we want to allow user to change the
carrier even after the order is confirmed, we have allowed delivery line
to be deleted so that new line is added in place of that.
task-2033229
There is a confusion with SO when it comes to payment ref. 'SO001' is too
visually to close to 'S0001'.
And wrong payment ref don't help the user reconciling the payments.
So, changed the prefix in default sequence of sales orders from 'SO' to 'S'.
task-2033229