The tax for 8% is used in the northern border zone of Mexico
Is a new tax and must be used in the DIOT report and in the CFDI for
sales.
closesodoo/odoo#31046
With the control panel refactoring, the auto_complete widget was set on
a different target, which caused issues with the search bar: the event
handlers for the search bar were triggered before the handlers for the
auto_complete widget.
With this commit, we make sure they are handled in the proper order.
Also, a small piece of code that was supposed to check the position of
the cursor was lost.
closesodoo/odoo#30795
Purpose
=======
A date field not marked as "mandatory" could not be left blank in the survey.
That was caused by the form returning "Invalid date" instead of an
empty value when submitting.
closesodoo/odoo#30788
When creating a leave, we usually check/create activities for the
concerned users, this is fine when creating one leave.
However it starts to become a problem when trying to create leaves in
batch using the by company or by department holiday_type as the number
of leaves created in batch can become quite big.
Now when we create leaves in batch, we do not check for the activities,
which will fasten a lot the creation.
Another problem is that when someone defined a leave on the very day you
want to create such a request, then it will crash, this can lead to
waste of time and resources.
Now we raise an error before trying to create the leaves in case of
conflict.
NB: Tested with +- 320 records, took 20 seconds instead of more than 10 minutes.
Task: 1934383
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
closesodoo/odoo#30625
When creating a leave, we usually check/create activities for the
concerned users, this is fine when creating one leave.
However it starts to become a problem when trying to create leaves in
batch using the by company or by department holiday_type as the number
of leaves created in batch can become quite big.
Now when we create leaves in batch, we do not check for the activities,
which will fasten a lot the creation.
Another problem is that when someone defined a leave on the very day you
want to create such a request, then it will crash, this can lead to
waste of time and resources.
Now we raise an error before trying to create the leaves in case of
conflict.
Task: 1934383
When uninstalling a module, the messages linked to the records
of that module are not deleted leading to ghost messages when
reinstalling the module.
This is due to the lack of foreign keys in the definition of the
chatter making it impossible to cascade delete.
opw-1928208
closesodoo/odoo#30798
Activate multi-company, deactivate the common contact book.
Create a PO P with user U1 in company A. Switch to company B.
User U2 in company A tries to send P by email.
Rendering of the template fails, because it tries to access object.create_uid,
which breaks multi-company record rules.
We add a sudo in the template so that it works as intended.
opw 1930521
closesodoo/odoo#30789
- Create a product P with:
Costing Method Average Price
Inventory Valuation Perpetual (automated)
- Create a component C with, costing 10.
- Create a BOM for P:
1 Unit of C
- Create a MO for P, validate
=> a journal entry of 10 is created
- Modify the BOM for P:
2 Units of C
- Create a MO for P, validate
=> a journal entry of 15 is created
The journal entry should be 20.
opw-1928342
closesodoo/odoo#30766
With a portal user, receive an email that says "Go to lead/opportunity"
and click on the link
The link's url is /mail/view which is the generic access controller
Before this commit, the user is redirected to the backend,
with fireworks of access errors
After this commit, the portal url is opened
As a side note, in master crm.lead should implement portal.mixin
OPW 193509
closesodoo/odoo#30762
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
Set the user as admin instead of root, othrewise the stage list looks
empty.
opw-1963212
closesodoo/odoo#32361
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Improve the implementation of IoT.
Allow both-direction communication between iot box and devices.
task: 1906910
closesodoo/odoo#30440
Signed-off-by: Christophe Simonis <chs@odoo.com>
Add Cups configuration to not share printers to the network by default.
When multiple IoTBoxes were on the same network they would share printers
with each other, creating multiple duplicates of the same printer.
When we are on HTTPS and we want to connect a box with the scan
we need to accept manually the certificate of the box.
With this commit we don't need to accept manually the certificate.
We don't have problem of mixed content if we use the onload method of Image object
So we load a image and put on parameter the token of the odoo DB to make a connection.
This loop try to get "screen_url" from "URL_SERVER"
So IoT Box need to be connected to the same network as "URL_SERVER". ( Inetrnet or locally )
If can not reach "URL_SERVER" he return a default screen_url
When IoT Box is wired connected there are no problem.
But with Wifi the wireless service take some time to by enabled.
With this fix the loop wait 1 second on every loop.
So if can not reach "URL_SERVER" in 30 seconds he return a default screen_url
Improve the implementation of IoT.
Allow both-direction communication between iot box and devices.
Now a device can send its value / status as soon as it changes. Not only when he receives a request.
Now the box have only 3 routes:
/hw_drivers/action
parameter: session_id, device_id, data
used to ask at a device to make a action (take picture, make print, ect...)
/hw_drivers/event
parameter: listener
listener is a dict where you have the session_id and a list of device_id to listen
this route wait to answer that we call device_changed for a device_id with data or value
/hw_drivers/box/connect
parameter: token
used to register the box to a Odoo database
token contain the url of Odoo database and a unique number that allow the IoT Box
to connect box in the hour
task : 1906910
Steps to reproduce the bug:
Let's consider that we are in 2019
- Create two customer invoices: I1 and I2
- I1 with invoice date = 2 april 2019 and amount = 100€
- I2 with invoice date = 2 april 2018 and amount = 1000€
- Go to Reporting > Invoices
- Click on widget "Time Ranges" and set "Based on" Invoice Date and "Range" This Year "Compare To" Previous Year
Bug:
The untaxed total for previous year was 1100€ instead of 1000€ because it counted previous year and this year.
opw:1962027
closesodoo/odoo#32331
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
The labels Request for Quotation and Purchase Order were not displayed.
opw:1958631
closesodoo/odoo#32281
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
- Set an internal location as a return location
- Create a SO with a dropship product, validate and deliver
- Return the product, and choose the internal location as the return
location.
The received quantity on the PO is counted twice.
Since the return is an 'in' move linked to a PO, it is automatically
counted as incoming quantity.
This case is quite specific, so we explicitly add an exception in case
the origin move was a dropship, but the return is not a returned
dropship.
opw-1958228
closesodoo/odoo#32205
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
On the line chart of google analytics account, we have a tooltip with
lines ({date}
sessions: {number of session}) overlapping and going
outside of the modal width.
This does not happen on google examples, the only fix found is to
display the tooltip in HTML instead of SVG.
opw-1961605
closes#32285
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
This partially reverts commit e2e27b41ad.
The commit changes the DOM structure in order to pretty print both
amount (value without tax, B2B setting) and total price (value with tax,
B2C setting). Actually having both (B2B and B2C) is a client
misconfiguration and we do not support that, furthermore changing the DOM
structures can break inherited templates.
The said commit was also fine tunning 716ff76, the fine tune is
related the the removal of the dynamic colspan attribute. The section,
note and subtotal should take the entire width of the table, setting the
colspan to an abritary maximum ensures they fill the entire width.
closesodoo/odoo#32194
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
Before this commit, the duration_unit view attribute was not present in the gantt RNG
But the JS code in the framework and in Studio allow for modifying it
So, this commit makes it an optional view attribute
OPW 1946216
closesodoo/odoo#32133
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
The HSN code is a code that internationally identify a precific product.
Presently each code for each product is print in the invoice summary.
After the fix it does have a dedicated column in the invoice so it is
print along the product is defines.
opw-1941077
closesodoo/odoo#32042
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
The field incoterms_id is made redundant by the field incoterm_id introduced in
b5bb5bd421. As such, it has been removed in master at: 569a498d36
We make this field invisible,
and synchronize the invoice incoterm_id with the sale order incoterm.
opw 1935573
closesodoo/odoo#32039
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
Modify the suggested products of a quote template
Before this commit, the description of the line was only filled with the
product name
After this commit, the sale description is included
OPW 1945131
closesodoo/odoo#31425
Before this patch, if an m2m's relation field pointed to a model that
was to be deleted, the deletion of the aforementioned model wouldn't
trigger the m2m's deletion, which would lead to the registry crashing.
With this patch, whenever an ir.model is being unlinked, a check is
performed to verify that no other fields (m2m or otherwise) have this
model as a comodel, and if they do, they are unlinked as well.
closesodoo/odoo#30230
Adding event listener in on_attach_callback need to be removed
in on_detach_callback.
Before this commit on_detach_callback was not implemented in control panel.
After this commit we can use on_detach_callback.
Needed for task ID: 1934261
closesodoo/odoo#30758
Task 1930403
Purpose:
A suspense account is an account in the general ledger that temporarily stores any transactions for which there is uncertainty about the account in which they should be recorded. Once the accounting staff investigates and clarifies the purpose of this type of transaction, it shifts the transaction out of the suspense account and into the correct account(s). An entry into a suspense account may be a debit or a credit.
The Chosen Odoo approach (macro) for this case is
1) from bank statement -> reconciliation widget -> reconciliation model
2) create move that have a dedicated checkbox
3) be able to reopen the bank statement line "like if there is no linked account move" and finally reconcile the transaction with the good invoice/bill (we can reprocess account move "to check")
4) when we reprocess, Instead of creating an account move : Check if there is an "to check" existing linked account move and remove all the account move lines then replace them by the good ones --> we want to keep the sequence
closesodoo/odoo#30486
Fixes related to commit 748b9072d6
* fix template still having an unnecessary t-else whereas the t-if has
been removed;
* move order by strategy on right class;
* fix access rights on intermediate model between channels and partners. It
should be accessible to website publisher as they will have so manage
channel members;
* fix some typos;
closesodoo/odoo#30949
Purpose
=======
The 'state' field for a member of a channel did not imply anything functionally
so we decided to remove it. It allows to remove an unnecessary computed fields.
ACLs are updated accordingly.
If needed, we will soon be able to check partner_ids that have ordered but
not paid a channel / course product by searching the related 'sale.order' model
for such products.
Due to a wrong order of operations, after splitting an anchor (press
ENTER), the range was setting on the first anchor. Now it sets on the
second one (as the code - but not the tests - suggests was supposed to
happen). Tests were adapted to reflect that change.
In tests, after splitting the anchor, `Wysiwyg.getValue` didn't always
properly clean up `data-original-title`. Targetting empty
`data-original-title` attribute instead of `aria-describedby` attribute
should fix that issue.
closesodoo/odoo#30923
There is nothing preventint to remove this line
The second FIXME is preserved to keep the tests running, as the account functionality of the function may be removed
closesodoo/odoo#30323
Improved partner form consistency and clarity via following changes:
- Renamed string and tooltip from Shipping address to Delivery address
- Changed description of the customer address
- Re-organised contact partner form and added image of partner
- Changed default avatar to a simpler one that is not Stephane Bern
- Test case improvement
Task ID: 192044
closesodoo/odoo#29917
Odoo Accept the following mask for vat encoding :
BE0477472701
BE.0.477.472.701
BE.477.472.701
BE477.472.701
BE477472701
But, in certain cases we have to add the zero to be compliance (i.e. belgian official reports...). -> http://www.tvaintracommunautaire.eu/belgique.html
This commit make use of the compact method defined in stdnum.be.vat (which is used by vatnumber in order to validate the vat). The compact method return a 10 digits vat number starting with a 0 which is compliant with the official reports.
closesodoo/odoo#28523
Purpose of this merge is to clean access rights on slide models and give
less access to public / portal / internal users. Website publishers and
editors have rights to edit slides content and manage channels.
Another purpose is to clean and refactor access options on channels and slides.
Access to a given slide depends on the current user being a member of the
slide channel. A channel can be either public (joined easily) or on invitation
only (manual addition of members).
Slide can be flagged as preview, meaning they are accessible without any
concern about channel membership. It is used as teasing or free promotion
of a channel.
Publish flag is orthogonal. Non published slides are not visible to everyone
except website content editor. It allows to work and improve slides without
displaying them to members or public people.
Slide upload access is a bit cleaned. A can_publish field is added controlling
who can publish slides. Currently website publishers are allowed to publish
content. Not publishers people allowed to upload cannot publish their own
content. It stays in a submitted non published state.
Base for tests are also added. More of them will be added in future commits.
This merge is related to task ID 1937411 and closes PR #30847. More
generally this merge is linked to ongoing tasks
* task ID 1902304 (main eLearning task) PR #29876;
* task ID 1922159 (new user profile and gamification) PR #30514;
* task ID 1936153 (new homepage for slides) PR #30770;
* task ID 1937160 (payment flow and integration with ecommerce) PR #30914;
This merge is therefore not functionally complete itself and serves as a
preparation for other incoming commits. See sub commits for more details
on what has been done here.
Purpose is to add a new widget and its route allowing to join a channel.
As visibility is now mainly based on membership a widget to join channels
is required.
This commit is linked to task ID 1937411 and PR #30847.
Slide upload access is a bit cleaned. A can_publish field is added controlling
who can publish slides. Currently website publishers are allowed to publish
content. Not publishers people allowed to upload cannot publish their own
content. It stays in a submitted non published state.
This commit is linked to task ID 1937411 and PR #30847.