- Activate Sub-tasks in projects
- Create a sub-task
An `AccessError` is raised in `check_access_rule` of `mail.message`.
The context is 'polluted' with a `default_parent_id` key, which is not
necessary anymore at this point.
opw-1924899
closesodoo/odoo#31022
Let the database be in multi-company without a shared contact book.
Have user U in company B, OdooBot in company A.
From a record R created by U, have a message sent by OdooBot fail to be sent.
A new failure notification failure should be displayed for U in company B.
Have U switch from and to company B.
The failure notifications are fetched, with their info.
Commit 10d558ef2b made sure that the user had access to the record
before trying to display the notification.
However in that case U has access to R, but trying to access the mail sender
violates the inter-company record rule, since OdooBot is in another company (A).
opw 1928100
opw 1935303
opw 1939352
closesodoo/odoo#30364
- Set your company to USD
- Create an expense in EUR:
Amount: 100
Tax: 15% Excluded
- Validate, post the journal entries
It crashes because of a missing `.id`, but on top of that... not a
single AML is correct.
opw-1938570
closesodoo/odoo#30959
In multi-company, create a new company C.
Set the chart of account in settings, save.
You get an access right violation on account.reconcile.model.template
because you need account_user.
Since this group is supposedly dependent on another module,
a user is supposedly never in this group without that module.
Obviously, this should supposedly not happen.
opw 1938539
closesodoo/odoo#31003
On a view, define a timerange for fetching data
Save as favorite
Before this commit, the time range description were not transmitted as
strings for the creation of the filter
So, when loading the filter back, there was no description for column headers
resulting in displaying "Object [Object]" as their title
After this commit, we save in the context of the filter the description of the title
OPW 1930582
closesodoo/odoo#30992
When a bank statement reconciles its lines with payment using a foreign currency,
there is a mix up of values between the currency set in bank statement and payment against the company currency.
Current Behavior
Company Currency: MXN
Bank Statement Currency: USD
Payment Currency: USD
Current Rate 0.05130836
1) Generate a bank statement with 990 USD.
2) Generate a payment with 1000 USD.
3) Reconcile the bank statement against the payment.
The reconcile process generates a payment with the difference (10 USD)
Before this commit, this automatically created payment took an erroneous amount,
Taking a currency-converted amount where it should not have
It was happening because the reconcile process uses the debit or credit value(Local Currency)
against bank statement line amount (Foreign Currency).
After this commit, the amount set in the generated payment because of the difference is 10 USD.
closed odoo#30623
closesodoo/odoo#30779
- price_unit is wrong because Facturx only provide the price_total and then,
we need to divide this amount by the quantity.
- the partner detection using its name was buggy due to the 'elements' variable
that was overrided.
-opw: 1938648
closesodoo/odoo#30998
When the mail_service is started, if there are any running chat sessions,
Chat_windows are created and opened on the point_of_sale frontend.
They also appear in the printed receipt.
To remove them from display we create a new pos_assets_backend template,
which inherits the web.assets_backend and removes the odoobot related assets.
opw 1878185
If no journal is set for the POS, the session creation would crash.
We add raise an explicit error asking the user to configure either the payment
method or the chart of accounts.
opw 1878185
As part of fixing the JS docs (docstrings & references & ...), the
various search filters were de-namespaced (aka
ExtendedSearchProposition.Integer = ... -> var Integer = ...).
This had the side-effect of making a `new Date` refer to the extended
search Date field instead of the global Date object, which went
unnoticed because *that* had been wrapped in a moment() call, and
moment() apparently doesn't mind being given garbage, but it would also
create an "unbound" and thus never destroyed widget.
Remove the `new Date`, calling moment directly has pretty much the same
effect, moment objects created from date objects just have an extra
field (a cache for the date object I guess).
closesodoo/odoo#30791
default_user_id on the crm.lead window actions is not needed since the
current user is already the default on the field.
So all it does is prevent user-defined values to work and possibly
affect custom code that may not expect the behavior.
opw-1938037
closes#31151
The use strict statement was outside the odoo.define statement. The use
statement could be applied to other statements.
Now, the use strict is in the odoo.define.
closesodoo/odoo#31128
- Set up as a normal shipper and one which will cause an
error (e.g. service not available for customer address; or no price rule
matching)
- Order a product on eCommerce, go to Payment page
When changing of delivery method, from the second delivery, to the first
and to the second delivery again, the behavior of the 'Pay Now' button
is the follow:
* choose second delivery - button disabled
* choose first delivery - button enabled
* choose second delivery - button disabled
If the connection to the server is to slow, the choose of the delivery
and the state of the button are not syncronised. That means that at the
end of this changing, the button stays active long enough to click it,
and pass an order without a delivery charge.
Now, only the last request is take into account, and the false positives
are avoided.
opw-1937575
closesodoo/odoo#31127
Steps to reproduce:
- activate the multi-currency option in the Accounting App
- activate the EUR currency (USD being the base currency)
- create a EUR Bank Journal with an EUR account
- rate = 1.4
- create a vendor bill for Asustek for 1000,10 EUR
- create a vendor bill for Asustek for 500,00 USD
- create a supplier payment for Asustek for 1000,00 EUR
- use the payment matching smart button
- match the vendro bill of 1000,10 with the payment;
Bug:
Odoo says that the total amount in EUR matches.
Expected Behavior: An open-balance to write-off and prevent from
reconciling.
opw-1935414
closesodoo/odoo#31055
Let M be a mass_mailing.
For all messages m related to M, retry_failed_mail removes the mail
statistics
of m before putting M 'in_queue'.
Since there are no statistics on m, its recipient is returned by the
function
get_remaining_recipients when called by send_mail once M is processed.
However when keep archive is set to False, the 'mail.mail' records
are automatically removed. As a results their statistics are not
removed,
and thus these mails are not retried.
closesodoo/odoo#30158
- Create a Service article:
UoM = Day(s)
Invoicing policy = on ordered quantity
Tracking = Task in project
- Create a SO: 10 days, unit price = $100 and validate.
- On the task created, the initially planned hours is equal to
80 (10 * 8h).
- On this task, timesheet some hours with several employees:
15 hours
10 hours
10 hours
The `timesheet_revenue` on analytic lines is incorrect:
1000
0
0
It should be:
187.5
125
125
The unit conversion between days and hours is not performed...
opw-1925320
closesodoo/odoo#31062
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>