Purpose
=======
If the model on a reference fields is not modified from the interface
by the user but by the server, the selection is not correctly
recomputed on the interface.
Specification
=============
By calling super first on the '_reset' method, the new model
is taken into account when resetting the selection.
Purpose
=======
When you update a record on a server action, you can modify a field
value (like the partner id). It's boring to be forced to specify
the id on the server action line. It would be easier to search on the
record name.
Specification
=============
A a server action line type 'Reference'. It allows to select the partner
name (Agrolait) instead of being forced to specify its id (3493).
Purpose
=======
As a server action could add followers on a record, here the goal
is to be able to add a next activity on a record.
Specification
=============
Based on the configured trigger, we can add a next activity on a record
by specifying :
- The activity type
- A summary
- A note
- A due date in x days/weeks/months
- A responsible
Purpose: better display duration. Label for hours / days is not very user
friendly when displayed left compared to the value. In this commit we
move the unit display right of the value and correctly display choices
related to the leave request date options.
This commit is linked to task ID 1871812 and PR #26180.
Purpose: new menu organization
* Dashboard (only for officer and manager like currently)
* New Request (= leave requetss in calendar view)
* My Leaves
* Leaves Summary
* Leaves Requests (in list view)
* Allocation Requests
* Managers (current menu is ok)
* Reporting (current menu is ok)
* Configuration (ok)
This commit is linked to task ID 1871812 and PR #26180.
Purpose: better display duration. Label for hours / days is not very user
friendly when displayed left compared to the value. In this commit we
move the unit display right of the value and correctly display choices
related to the leave request date options.
Part of the spec: https://drive.google.com/file/d/1XQtw5ZiAebycXbeHmfbDYYwrFTRmkBNU/view
This commit is linked to task ID 1871812 and PR #26180.
Due to the side effect on related fields that are not readonly, the value is saved
in project although not changed. Putting it readonly avoids the problem.
Fixes#26156Closes#26171
* product_product, product_template :
- Add `uom_name` field to display stat buttons with UoM's name.
* delivery:
- Move field 'HS Code' from `General Information` to `Accounting`.
* hr_expense:
- Make checkbox `Can be Expensed` visible for all products.
* mrp:
- Stat button update, we now count the uom quantity of product we have in our MOs
limited to the last 365 days. Before that we were counting all the MOs.
To achive this,
- Add a stored compute field `product_uom_qty` on `mrp.production`.
- Stat button now uses `action_view_mos`
- The field was called `mo_count`, renaming it to `mrp_product_qty` as its
function changed.
* point_of_sale:
- Add a new tab (`Point of Sale`) and moved the `Point of Sale` section
previously located in `Sales` to this newly created tab.
* product_email_template:
- Renamed header 'Email' to 'Automatic Email at Invoice'.
* purchase:
- Improved tooltip of field 'property_account_creditor_price_difference'.
- Set `product_uom` to `uom.product_uom_hour` instead of
`uom.product_uom_unit` in demo data.
- Add a stored compute field `product_uom_qty` on `purchase.order.line`.
* report_intrastat:
- Move field `Intrastat` from `General Information` to `Accounting`.
- For product template's form view, inherit from
`product.product_template_form_view` instead of 'stock.view_template_property_form'.
* sale:
- Move `expense_policy` from `Purchase` to `Sales`.
* stock:
- Add a new section in `Inventory` called `Logistics`, and put fields
- `Weight`, `Volume` and `Responsible` in it.
- `incoming_qty` is now only visible in debug mode.
* website_sale:
- Add a new tab 'eCommerce' and move 'eCommerce' section from 'Sales' tab to this newly created tab.
- Rename 'eCommerce Categories' to 'Categories'.
Task: #51125Closes: #23868
In purchase we add a stat button that counts the number of purchase
orders linked to the product.
In this commit we change this count to count the quantity of products
linked to a purchase order.
We basically do the same thing with the stat button of sale (sale
orders) and mrp (manufacturing orders).
This is not expected since it leads to an inconsistent result: the user
and the access rights do not match. Better add a PIN to the manager.
This reverts commit bb8bb3cbfe.
- Create an order from the eCommerce
- Choose to pay with Stripe
- Enter the credit card info, validate
There is a short window of time (before the reload of the page) where
the user can click on 'Pay Now' again.
This is because the HTML is completely replaced, including the button.
We restore it when necessary.
opw-1866332
Introduced at e434690fe3
The button should be displayed when the order is paid to generate the invoice
Once the invoice is generated, the state is invoiced and a statbutton lead to
the generated invoice.
Remove the readonly attrs as it has no effect on a button
Before this commit, the only way to deal with the same tax either with price included or not was to duplicate it, one with the price included checked.
This commit add a new boolean on the reconciliation widget propositions to decide if the tax must be used like a price included tax or not.
PR: 17040
task: 32717
Create an account_move, with at least one move line having an analytic account on it
AND no label
Save and Post
Before this commit, the post failed because an analytic.line should have a label (required)
After this commit, we fill in a default name for the analytic line, composed of the data of the line,
if available, or '/'
OPW 1863418
closes#26013
Before the fix price control only worked like should on initialisation of a pos section. On switching cashier during a setting manager would lose price change rights and normal users would gain them.
Same reason as 8d948d92.
In firefox if barcode is installed, for example on a form view the keys
to navigate the possible scrolling PageUp/PageDown/Home/End don't work
at all.
This is caused by the interface barcode catching and differences of the
key event handling between firefox and other browser.
So in this change, we add these keys so they are not catched by barcode.
note: aso backport 5bc29744c so the code is the same between 10 and 11.
related to opw-706352
closes#26219
The to_refund attribute is set to copy=False.
However when splitting a move to create a backorder, a new move is created as
a copy with the remaining work to do.
This attribute is needed so that the backorder refund is consistently applied.
Essentially a backport of commit:
https://github.com/odoo/odoo/commit/c5ffca151160f9d99bec036330def108e4e91e0b
opw 1865324
Steps to reproduce the bug:
- connect as the demo user
- go to the Leaves app
- check the Leaves Summary menu: by default, it is empty
- go to Allocation Request
- create one Allocation Request for 1.00 day using the Compensatory Days type
- repeat the operation several time
Bug:
Only the first Allocation Request appears in the Leaves Summary
opw:1872365
- Set the currency to a rounding of 0.001
- Create a POS order:
Unit Price: 0.12
Quantity: 0.1
- Pay and validate
- From the backend, return the products on the create order
- Click on 'Payment'
The proposed amount is 0.01, not 0.012. It is not possible to complete
the payment process since the field is rounded at DB level to 2 digits
of precision.
We make consistent the `amount` field with the various amounts on the
`pos.order`. By using a `digits=0` and forcing the rounding, we avoid
inconsistent rounding between the order and the payment.
opw-1864344
It would probably be even better to iterate the file content and get
the non-quoted non-alphanumeric characters as separator
candidates (instead of a hard-coded list) however Python does not seem
to have a decoding iterator (taking bytes and yielding an iterator of
codepoints or even grapheme clusters) — incidentally uniseg seems to
require up-front decoding as well — so that's not really convenient as
we may be dealing with large-ish files and not want to load it
entirely in memory.
An alternative would be to use TextIOWrapper and iterate the file by
buffers of a few ks, and classify that based on either codepoints or
grapheme clusters.
This merge optimizes and lessens query count of notification process. When
posting a message some computation is done to fetch followers and/or people
and channels to notify, then notify them on their Inbox or by email. This
process now takes less queries thanks to several improvements :
* fetching followers / recipients data is now done manually in SQL allowing
to fetch data across several models in less queries;
* computing recipients is now separated from notifying them. Notification
better uses precomputed data in order to avoid fetching and browsing
several time the same data;
When possible code has been made more readable through code inlining. Several
methods have been removed because they are not used in inheritance. Some code
is now more low-level. Optimizing part of the process can make it harder to
inherit or modify.
Performance counters are updated showing gain in nearly all tested cases.
An enterprise branch is linked to this one that also improve notification
process.
This merge is linked to task ID 47934 and closes PR #24033. No functional
change should occur with this merge.
Purpose of this commit is to avoid browsing and prefetching data about
recipients when notifying a message to partners and channels. Mail message
_notify computes all necessary data in a single query. This commit allow
to re-use this data by propagating it through the call chain.
Addons inheriting from classification methods used when sending notification
emails are updated accordingly to the API and data update.
This commit is linked to task ID 47934 and PR #24033. No functional change
should occur with this commit.