Using a subselect is more efficient than constructing
a complete temporary table of all messages, and then
joining them. This way only messages or relevant
opportunities are used, as most of the time the
report is accessed for a specific subset of opportunities
(by date, salesman, stage, etc.).
The query planner can then use the dedicated index
to quickly access the corresponding messages.
On a sample database with 1 million crm.lead
entries and 10 million mail.message entries
this brings the time for a typical read_group
call on crm.opportunity.report down from 300s to
500ms (600x faster)
Copy/paste mistake and the comma stays at the end of the line. This
causes a wrong affectation : indeed, `index_content` gets a tuple with
the desired value. This does not cause crashes, and the representation
of the tuple is correctly stored in database, but this is not the
expected behavior.
get_template should accept ids or xml ids. However the id or xml_id is given
to IrUiView.get_view_id that waits for an xml_id. get_template crashed if it
received an id.
This commit solves this by setting view_id to the given id, or resolve the xml_id
through get_view_id.
That way, we have only 2 ir.actions.todo executables on the common modules
(I don't count the configuration wizards in l10n_eu_service or oauth_ldap)
- 'base.open_menu' to jump on a frontend view
- 'theme_install_todo' to open the theme installation view
As the module website_theme_install is auto_install: True and so installed after
the modules like forum, slides, ..., the theme_install_todo is by accident
always the 1st chosen one, which was the wanted behavior.
NB: Remove the ldap wizard launcher
This makes it so people can pick one of the selected fiscal positions in
pos_config.fiscal_position_ids as their default fiscal position. When
creating a new order in the front- or backend the pos order will
automatically be assigned this default fiscal position.
Bootstrap handles the primary color in a different way than the other
colors. So to not break the backend UI, the o-create-color-classes
mixin has to consider this difference.
Notice that colors management should be further improved in the future.
From issue 660592. (already fixed in v9) When products are received from a purchase line
with taxes included, the cost for the stock valuation (on the stock move) on reception
should be without these taxes included.
Allow users to define a percentage on shipping price, in order to cover
up differences between rating and shipping actual price.
Authors:
Barad Mahendra <mba@openerp.com>
Parth Mehta <pme@odoo.com>
Checking url_list for duplicates is O(n).
Use url_set instead of url_list to improve to O(1).
Otherwise sitemap generation even for a million products will never finish.
Close#11106
This function is there to avoid creating link modules, it is extended
by account modules and should be called by methods that create invoices.
This call was missing in sale.
The function _set_additional_fields is used to avoid creating a ton
of auto-install modules; account extension extend this function and
modules that create invoices call it.
But when calling this function, it would be better not to overwrite
existing values; hence this check.
Been in there since the introduction of the module at 04fb3dfc. Didn't
really affect anything as long as you don't have developer tools open
while you're printing a ticket on the POSBox. This explains why it has
remained unnoticed for this long.
The `purchase_price` is filled in automatically thanks to the onchange
method `product_id_change_margin`. However, when a SO is created
programatically, it is necessary to call manually the method in order to
fill in the field. This is not convenient since the module sale_margin
might not be installed, and crappy workaround (such as the use of
`hasattr`) are necessary.
To avoid this, this fix automatically computes the purchase price at
creation if no value is provided.
In FF, there cannot be a clickable element inside a button tag. So the
tip on the icon in a button_box button was not able to be dismissed.
The tip selector is changed so that the highlighted element is the
button itself and not the icon it contains.
If an event is private, a bunch of fields
are hidden for the users not being
the owner of the event, even for sudo.
The fields on which depends the `rrule`
computation were part of the hidden/private
fields.
In addition, the `rrule` is always computed
as sudo. See `_get_rulestring`.
Therefore, the `rrule` of recurrent private events
was not correctly computed when the owner wasn't
the administrator.
opw-670295
`self` is the variable with all the purchase order lines,
`line` is the variable with the current line in the loop iteration.
This is expected to get the line quantity. Having written
`self` instead of `line` is an oversight of the revision
0923d1609d
opw-670502
The account number field on a journal is a related field to the
number of the bank account associated to the journal.
As the number of a bank account is a required field,
any attempt to empty it from the journal fails.
Besides, unlinking the bank account from the journal when emptying
the account number on the journal form doesn't seem to be
the appropriate behavior. Imagine you give an account number
to the journal, then empty it, then re-fill it, you probably
do not want the journal entries to be associated to a new bank account,
you probably wanted the same bank account, but renamed, while
it would be the case if we simply unlink it.
If you would like to delete the bank account, you have
to do it from the bank accounts list itself.
opw-670472
Pass the fields parameter in the call to the `read` method,
so it fetches only the needed fields:
- Better performances,
- Avoid possible access rights issues.
In this case, it wasn't possible for a user
having no access rights to the purchase module
to print this report.
opw-670449
The quantity delivered must be converted in the product UoM of the BoM
line. Indeed, the UoM of the BoM line can be different from the UoM of the
product which is manufactured.
opw-669764
Iterator was consuming the first 45k records.
So don't need to specify an offset, because that will ignore the next 45k.
Eg: if step of 5, and range(1,13),
it will only use [1, 2, 3, 4, 5, 11, 12, 13]
Cherry-pick/backport of de8296c3a8
The Sales Details report wizard gives the possibility
to print the details of the POS orders between two dates.
The fields in the wizard are of type `date`,
while the orders dates are of type `datetime`.
`00:00:00` and `23:59:59` were naively added
to the `date_start` and `date_end` (respectively) to
handle the case.
But, this doesn't take care of the user time zone:
When a user choose between February 24th and February 25th,
it's within his time zone, and therefore, for the search,
where the datetime are in UTC, adding `00:00:00` isn't enough,
the dates have to be converted from the user time zone
to UTC.
opw-6698831
Launching a form view in a dialog thanks to target=new did not
display the action buttons (save, discard, ...). This is because
the action_buttons flag is set to false by default and the only way
to start an action with a different value is thanks to JS code (i.e.
the debug manager modals).
Now, action buttons are also rendered if the flag footer_to_buttons
is set to true (only happens when launching an action in a modal) and
that the formview does not have any footer tag with buttons to add
(so that wizard form keep replacing the action buttons by these footer
buttons).
Before the fix:
Create a product with a BoM type kit(composed with 5 products) and price=120
Select real price costing method for the product and each component
Select perpetual inventory valuation for the product and each component
Create a PO with the product
Receive the products
When checking the journal of entries, 5 entries have been created with an
amount of 120.
After the fix:
When checking the journal of entries, 5 entries will be created with an
amount equal of the standard price of each component of the kit.
opw:670239