Steps to reproduce:
Go to any pivot view (for example Sales > Report > Sales) and add
the current view to your personnal dashboard (in the search view: Favourites > Add to my Dashboard)
Go to the dashboard, traceback because $buttons was not defined.
opw:707296
Before the fix:
*Scenario 1:
create company A as a res.partner
on company A, add an individual contact B
on individual B, add an individual contact C
on individual C, go in accounting tab, click on 'parent company' link, you arrive on company A
*Scenario 2:
create individual B
add a contact individual C on individual B
create company A
on individual B, select a parent company A
on individual C, go in accounting tab, click on 'parent company' link, you arrive on B
After the fix, on each scenario, you arrive on company A.
opw:706757
The field `quantity_available` can be computed in two different ways:
- equal to `product_uom_qty`
- equal to `reserved_availability`
However, `product_uom_qty` is in the UoM of the move, while
`reserved_availability` is in the UoM of the product.
We convert into the UoM of the move, because `quantity_available` is
supposed to be in the same UoM than `product_uom_qty` ("To Consume").
opw-704775
We store quantity available to avoid numerical inconsistencies. For
exemple, with a rounding of 1e-6:
- `product_uom_qty` = 0.058824 (stored)
- `quantity_available` = 0.058823999999994 (not stored)
The dependencies of the field are fixed from v10.0.
opw-704775
Purpose:
========
A blanket order (it's an agreement with a vendor) is not a call for tenders (you aks several vendor to provide you an offer) but they are regrouped under the category "Calls for tenders" in the Settings of Purchase which should be changed .
Specification:
==============
- Change the setting option for 'Call For Tenders'
- Change 'Purchase Requisitions -> 'Purchase Agreements'
The library needs to have a 'relative' positioned parent to place
the datetimepicker correctly.
We don't do that in the template
anymore because it was not working in all the cases.
The template which instantiates the datepicker should define
a parent in position 'relative'.
Purpose
=======
It's hard to find all the menu items dedicated to products & pricing:
- create a product
- set up a discount
- change the pricing
such recurring actions are related to each other but you need to go to different menus: e.g. to edit pricelists you have to go to settings while editing your pricing is a business operation.
Specification
=============
make one menu item like in ecommerce: CATALOG
Also clean reporting and configurion menus a bit...
Details
=======
Sales menu rearrangement :
Dashboard
Sales
Invoicing
Orders to Invoice
Orders to Upsell
Leads Management
Catalog (takes straight to products if no access to variant, pricelist or coupons)
Products (move from Sales)
Product Variants (move from Sales)
Pricelists (move from Config)
Promotion Programs (move from Config)
Coupon Programs (move from Config)
Reporting (reorder items, from leads to sales)
Leads
Scoring Page Views
Opp. Assignment Analysis
Partnerships
Pipeline
Activities
Phonecalls
Sales
Configuration
Settings
Sales Channels (move up)
Leads & Opportunities
Sales
Quotation Templates
Report Layout Categories
Payment Methods (if online quotation installed)
Delivery Methods (move from Config > Delivery)
Products
Attributes
Attribute Values
Internal Categories (rename from Product Categories)
Units of Measure
Unit of Measure Categories
Pricelists (remove)
Delivery (remove)
Some things in the ecommerce have z-index 1, 4 (product images) or 5. So
this went over the live chat button "Have a question? Chat with us."
opw-707086
If the data is available in the current context it should be passed to
_select_seller. The calls to _select_seller throughout the lifetime of a
purchase should be consistent (as possible) or the result of
_select_seller could be inconsistent when dealing with multiple sellers
(product_supplierinfo).
Modify a few signature of private methods to pass available information.
Closes#11414
When validating a multiple choice with comments allowed,
the comment was popped from answer_candidates and then
the condition to prevent answers with blank value always
triggered an error.
opw:707072
Steps to reproduce:
Go to any pivot view (for example Sales > Report > Sales) and add
the current view to your personnal dashboard (in the search view: Favourites > Add to my Dashboard)
Go to the dashboard, traceback because $buttons was not defined.
opw:707296
When opening a purchase order shipments using
the given smart button, and attempting a refresh,
it leaded to a "record has been deleted" error,
because the current `active_id` is a purchase.order
id, while the `active_id` in the window action
`action_picking_tree` context expects a picking type
id.
The purpose of using `action_picking_tree` was to use
it as a template instead of having to create a full action
dict, not to actually use it.
By removing the id from the action dict, we prevent
to re-use the action window `action_picking_tree`
on refresh.
opw-706933
Before this patch, it was not possible to manually process a pack (i.e.
checking the "is_done" box), because the field was always reset
*before* saving. It was still possible to process it by hitting
"validate", but it was not possible to put a pack in a pack.
Manually process a pack means hitting the checkbox "is_done" on the pack
operation. This "is_done" field is a boolean computed field with a reverse
function, and this reverse function set the "qty_done" on the pack
operation to 1.0.
The compute field doesn't have any depends declared, so the value was
invalidated after any changes in the form view. The computed method was
used to check the checkbox is the "qty_done" is set to 1.0. It was
probably used to check the checkbox when opening later a picking for
which the pack was already processed.
The issue is that the "qty_done" was never updated, because the inverse
method is only called when saving, and the compute method already reset
the "is_done" field to False, as the "qty_done" was not updated.
To fix this issue, we do not use an inverse method but an onchange.
Indeed, this was the expected behavior: hitting the checkbox should
change the "qty_done".
We already have a test covering this use case, committed in v9 [1]. It
didn't discovered this regression because the test was using directly
the "qty_done" field on the pack operation, not the "is_done" field used
in the view. We change the test to use the "is_done" field and manually
trigger the onchanges.
This is due to a bad new API migration [2].
[1] rev e248420348
[2] rev d8548e0771
There was a traceback error while installing the indian accounting module.
The commit 9c77467f07 shouldn't have been forwarded.
This cancels some account tag ids modifications from the commit 500b73323d. (this commit refactors the account tag id numbering)
This implies that some st_tag_in_[0-9]* point to an old references that no longer exist and return an error.
To fix this problem, we replaced the old(canceled) account tag reference by those after the refactoring in saas-14.
- Buy only a free product with digital download content
- It is not possible to access the download link
Since the product is free, there is no invoice created. Therefore, the
product is never considered as paid.
opw-705258
The account move line filter 'Unreconciled' only takes into account the
matching number. We should also make sure the 'reconciled' boolean is
false, since a line with a zero amount (e.g. invoice with only a free
item) is considered as reconciled and should not appear in the list.
opw-705982
One can add an item in a Many2Many without creating it, so the action
should be available. However, if the create action is not allowed, there
is no 'Create' button in the SelectCreateDialog.
The xml file with the cron that creates the recurrent
preventive requests was not loaded in the system, so we needed to add
it.
Before, the cron was foreseen to only create the maintenance request on
the day that the request was foreseen (in the morning). Now, it will
create a request if none exists on the next_action_date. That way the
requests can be planned for.
The other problem is that the '_compute_next_maintenance' method
for calculating the next_action_date does not take into account
the possibly manually already created requests. So, now, the next
maintenance is calculated with the closed requests and the open ones.
If the first new one is in the past, it takes that date in the past. If it is in
the future, it will see if the gap is big enough to put a maintenance
in between the last done maintenance (or now) and the first new one.
If none exists, it is today + period.
That's why we have to add the 'request_date' in the depends. And take
into account the preventive requests existing on an equipment.
Before this commit, when opening a field chain with a field selector
and only removing parts of it and closing, the field selector was not
notifying the change.
Since commits 2a8a17024d and 9c68bc7482,
the session is not started by the webclient anymore but directly by the
session service instead, and the session info is found in the DOM
instead of by RPC.
Because of that, the session is started in the frontend and other
non-backend environments which caused a JS error while trying to
load qweb (as no qweb has to be loaded). This commit makes the
session start check if it is a non-backend environment and only
initialize session info (from DOM) in that case.
With the user who is trying to access and the record they are trying to access
to.
This way it is easier to understand the reason of the error.
Do not show record and user ids in the popup as it is a technical information.
Closes#13030
Ironically, clicking on the dropdown arrow of the field selector was
the only way which was not opening the dropdown. It was indeed added
as pure design element.
This commit handles the opening and closing of the dropdown in a more
robust way... while simplyfing the code too.
The product.template displays the list of pricelist items with the name of the pricelist
The product.product displays the same information except the pricelist name.
This commit harmonize both views to display the same information.
Fixes#15009Closes#15010