Before this commit, when user follows odoobot chat onboarding and
sends a canned response at the canned response step, odoobot did
not validate the message with the canned response.
This is caused by RPC `message_post` that filters out values that
are not message fields, such as `canned_response_ids`.
This commit fixes the issue by adding a non-stored field
`canned_response_ids` to `mail.message`. This requires the reverse
relation too, `message_ids` in `mail.shortcodes` (= the model for
canned responses).
Task-Id 2058455
closesodoo/odoo#36411
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
In the IoT Box, most calls to subprocess used "Shell=True", which can
cause security issues.
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
closesodoo/odoo#36088
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Linked to odoo/enterprise#5266
Move all the logic that was inside hw_screen into an IoT Driver
in order to have consistency between devices.
Move the configuration of screen_url from the IoT Box form to
the IoT Device.
If an URL different than the default one is used, refresh the
page every minute.
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
closesodoo/odoo#36074
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Change Firefox config to open external links in the active tab.
This avoids having multiple running tabs when changing the URL
showing on the Display device.
The screen URL is not linked to the Box anymore but to the Device.
We don't need to fetch a screen_url at the boot, it'll be done inside
each device.
TaskID: 1893493
Task 2008956
* Remove the sequence from the default order of account.move.line as it
is only needed in the list view of the invoice form view; add it
there.
* Allow to order by date on the grouped list view of account.move.line by
setting an aggregate function
Task 2008956
* Add the root of an account (first 2 digits/char) as a searchable model.
* Create a custom searchpanel for this account root on account.move.line
* Add the account_root searchpanel to the account.account view too.
The MPD server was not correctly killed when the IoTBox started without
six payment terminal configured. A warning was displayed.
closesodoo/odoo#36415
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
We have a traceback when we put a wrong terminal id for SIX because
MPD server can not execute the eftdvs file.
Now we change the permission for this file
closesodoo/odoo#36355
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
In home page of IoT Box the link "Manual" send to a 404 page.
Now we send to IoT Box documentation
closesodoo/odoo#36354
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Automatically load the IoT Drivers when Odoo starts on the IoT Box or
when the connection to the Odoo instance is done.
Allow to deactivate the automatic load to avoid overriding
modifications made on the Box.
TaskID: 2009683
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
closesodoo/odoo#36073
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Phone widget enabling SMS capabilities on lead / opportunities form views
seems to be lost. Option of this widget has probably be removed by mistake
when merging lead and opportunity views.
Task 2060220 (testing SMS integration)
closesodoo/odoo#36404
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
In resend wizard tests
In some cases tuple comparison of states seems to fail. Indeed order seems
to change in some cases depending on installation order. With this commit
we correctly check partner / notification status one by one, avoiding
to rely on order / set length that is not guaranteed.
In mail gateway tests
Add a specific order on name to be clearer about what we mean when fetching
users as a fallback, until better heuristic. Using name is sufficient as
we have no need to rely on complex partner display_name.
Task 2060220 (testing SMS integration)
Before this commit, the width of the headers in a list were frozen
only when the list was seen, but the calculation of the width might have
happened while it was invisible (thus giving the headers 0px).
Now, the freeze AND the calculation only occur when the list is visible
and can actually be evaluated.
Task 2061848
closesodoo/odoo#36175
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Before this commit, when entering an empty editable list with buttons,
their width would be set to 0px.
Now, they are considered as fields and given a name, allowing the renderer
to give them their proper width (if any) or a default one.
Before this commit :
- resize handles were all attached at the right side of the list
- empty columns were given a resize handle, causing them to be larger than expected
Now :
- resize handles are attached to their corresponding header
- only non-empty columns are given a resize handle
Fix 2060807
Before this commit, if an x2many was in an inactive tab of the notebook,
its column headers widths were all set to 0px
Now, inactive x2many lists do not compute their width until they are visible
and interracted with (e.g. add/delete a record, sort columns, etc.)
Fix 2060418
When no server is set, it probably means that the Box is used in
Community and the user won't be able to redownload the drivers since
there is no connected server. We then hide the "Clear Drivers" button.
Automatically load the IoT Drivers when Odoo starts on the IoT Box or
when the connection to the Odoo instance is done.
Allow to deactivate the automatic load to avoid overriding
modifications made on the Box.
TaskID: 2009683
This commit fixes an error being raised when it was attempted to create the invoice of a sales order containing a section line.
task-id: 2052537
closesodoo/odoo#36326
Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
Co-authored-by: Damien Bouvy <dbo@odoo.com>
Co-authored-by: Antoine Vandevenne <anv@odoo.com>
Create a voucher in pay_now mode
set another account that the one of the partner
Validate
Before this commit, the automatic payment and payment entries
were done in the account receivable/payable of the partner
which means that the voucher and the payment were never reconciled
After this commit, the payment and its entries occur in the same
payable/receivable than the voucher's
OPW 2056240
closesodoo/odoo#36232
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
studio
opw2062025
In some cases, when there is no attachment (on an invoice for example)
and reports have been modified with studio, the self.attachement value
is false and an error appears
closesodoo/odoo#36291
Signed-off-by: Richard Mathot (rim) <rim@openerp.com>
Fine tuning of https://github.com/odoo/odoo/commit/6236ed1a5b138c5165929aa3f5c1d1f4f6aa061c#diff-2f6cca7f38255368e4a54b0a19406aa4
Steps to reproduce the bug:
- Install Sales and Purchase modules
- Create a user U with access rights to Sales
- Try to open an existing SO or try create one with U
Bug:
An access right error was raised because the non stored field purchase_line_count must be computed
PS: the compute_sudo had no effect on field purchase_line_count because it's a non stored field.
opw:2056746
closesodoo/odoo#36247
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
When selling a digital file on the web shop, if the file 'name'
has no extension (e.g. the pdf "Free Booklet"), the buyer
will download "Free Booklet" even when the mimetype is application/pdf).
This causes issues on Mac, as pdf files without extension are renamed
with .dms extensions.
We follow what is done in ir_http's binary_content for the extension management,
using the new one if provided in the name, then the original filename extension
if it exists, and we fallback on guessing it from the mimetype.
OPW 2057302
closesodoo/odoo#36294
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
The fixes that this patch includes are:
- The tag URL for tags printed in short and expanded blog posts had no slug, thus producing a brand new URL. Now they have the slug.
- Any request landed without that slug is slugified with a 301 code, as with the rest of Odoo.
- The `<a>` elements in right column archives have now `rel="nofollow"`.
- The `<a>` elements in right column tag cloud, where more than 1 tag is used, have now `rel="nofollow"`.
closesodoo/odoo#30832
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
Before this commit, when a message contains invalid HTML, it crashed
with error such as: "TypeError: Cannot read property 'childNodes' of
null".
This commit fixes the issue by wrapping the content of messages with
invalid HTML in a `<pre>` tag.
OPW-2048140
closesodoo/odoo#36196
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Doing filtered on all_post is problematic in case there are many
blog.post records (>5000 were observed). It will trigger prefetching
which will run the content fields through html_translate which can
take many seconds to complete.
Instead replace the filtered call with a more precise search domain.
opw-2060704, opw-2060706
closesodoo/odoo#36207
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Like in other places where we have social sharing buttons, when we pass
a URL or title as a parameter it needs to be properly encoded.
closesodoo/odoo#36197
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
When we try to change the color of kanban, the kanban record is re-renders,
kanban record is replaced with kanban-box and subWidgets are re-rendered,
reset of all subWidgets are called which will re-render widget but it is not
rendered in DOM as DOM element is destroyed and hence dashboard_graph widget
can not computed proper height of the canvas element and disappear
Call on_attach_callback after widget reset is called on kanban record, as widget
element is removed from DOM and new element is added in DOM so
on_attach_callback should be called again.
task-2036256
closesodoo/odoo#35254
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Have a product valued in real time
make a PO to a vendor with that product, with a tax
validate
Before this commit, it crashed because of a typo
After this commit, the invoice is validated
OPW 2061472
closesodoo/odoo#36216
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
On top of leading to AccessError in multi-company (if the PO was created
by OdooBot), it might also assign a user without Accounting rights to a
vendor bill.
This reverts commit 392f6f2b2b.
opw-2056061
closesodoo/odoo#36173
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Have a pricelist Pl set as property_product_pricelist on some partner Pa.
Archive Pl, so that the public user Pu use another pricelist Pl'.
Go to the shop, create some order.
The prices are obtained from Pl'.
Log in as Pa; prices are updated using Pl.
However since Pl is archived, it is not visible on the pricelist views,
so the end user cannot explain why the prices changed.
When the pricelist is archived, nothing is done regarding the ir.property
storing the partner/pricelist mapping, so the pricelist is retrieved as default
nonetheless.
We filter out the active pricelists when getting the property.
opw 1946476
co-authored with JKE-be
closesodoo/odoo#36389
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
Take a landed cost with an amount_total of 2464788.5
in a currency with no decimals, so precision_digits is 0.
Now let the sum of the lines 2464788.499999999.
Additionally, we have that 2464788.5 is rounded up to
2464789 and 2464788.499999999 is rounded down to 2464788.
So float_compare returns a nonzero value.
However, it turns out that the docstring of float_compare contains:
Warning: ``float_is_zero(value1-value2)`` is not equivalent to
``float_compare(value1,value2) == 0``
So the intended use was to use float_is_zero.
opw-2048388
closesodoo/odoo#36208
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
'Journal Entries' stat button on 'Configuration/Accounting/Reconciliation Models'
do not consider entries which are automatically validated.
closesodoo/odoo#36169
Task: 2056926
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>