Ogone responses comes from direct s2s calls or form feedback;
not necessarily in that order. The behaviour of the system should
be the same in both cases. This commit add payment_methode creation
when a s2s response contains the necessary information, juste like
the form feedback methods.
Ideally these methods should be merged to share the same code,
this will be done in master (v10).
In a SO line, the price unit is taken from function "_product_price"
set on the product(model: "product.product"), this is why the variable
new_list_price has to be taken on the product too. In this way, the right
discount can be computed. Before the fix, new_list_price was equal to
the price set on the product template(list_price) then if the product template had
several variants with several sale price, the discount was wrongly computed.
opw:668636
When making a landed costs with pickings using
unit of measures different than the default products unit of measure,
the additional costs added to the quants inventory value were wrong.
This is due to the fact the quants unit of measure is always
the quants product unit of measure, while the quantity
in the adjustment lines were assumed in the stock moves
unit of measure.
As there is no unit of measure field on the adjusment lines,
it makes sense to assume the quantity within the product
unit of measure, to display the quantity within the unit
of measure the user uses the most, which is, normally,
the product unit of measure.
Thanks to this, the additional costs added to the quants
inventory value is now correct.
opw-668374
To match the current website, we should compare the request http_host to the domain and not
to the website name. That was working luckily because name and domain in demo was the same.
close#10870
Translated text is stripped of starting and ending spaces on Transifex which
makes the result text look bad (as translators do not put spaces in their
translation either).
Add explicitely a space to be sure it's present in the translation.
Will have no effect on English as it's HTML
By default, a pricelist can be created without pricelist item. However,
if a user does not have the rights to manage the pricelist items (or
simply does not want to manage them), the feature is unusable. Indeed,
the user will create a new pricelist (for example, in a new currency),
but this pricelist will not have any item. Therefore, the pricelist will
not apply to anything.
The fix creates a pricelist item by default. The pricelist item is the
most generic possible: it applies to all products and uses the list
price as a base price.
opw-667607
The problem was that mentions weren't correctly erased with DELETE key (in some
conditions), or when replacing mention text. When this happened, the mention
didn't appear in the message, but the message was even tough sent to the erased
mentioned people.
With this rev., we don't try to detect erasing on the fly anymore, but we
rather validate mentions before sending the message with the content of the
input.
opw 669362
In the report model `im_livechat.report.channel`,
The `session_name` field no longer exists. It has been
replaced by `technical_name` instead, labelled
`code`.
opw-669443
Use the same factor than the one used when
computing the products to consume at confirm.
Before, the quantity of products to consume was wrong
when using a different unit of measure in the BOM
than in the production order.
e.g.
- BoM defined as:
- 1 dozen of milk
- BoM lines: 1 cow
- Production order:
- 1 unit of milk
- BoM: The above one
At confirm, the quantity to consume is 0,083 cow (1 cow / 12, this is correct)
But, when updating the quantity to 2.0,
it updated the quantity of cow to 24.0, instead of 0,16.
opw-669447
When a product template has several variants, the fields volume, weight and
standard price don't have be displayed in the prodcut template form view.
opw:669240
A SO line with an ordered qty less or equal to the sum of all the quantity
linked to its procurement must be ignored. In this way, when a SO line has
an Ordered Qty equal to 0 in a SO, all the other lines can be processed like
in 8.0
opw:669200
From saas-6, setting `0` as maximum available seats
means there is an unlimited amount of tickts that
can be sold, as stated in the help message of the field:
```
Define the number of available tickets. If you have too much registrations you will
not BE able to sell tickets anymore. Set 0 to ignore this rule set as unlimited.
```
This domain is the same domain used than in
the QWeb views of `website_event_sale`.
opw-669355
`write` expects a `dict` for the `values` argument,
`part[record.id]` is a list of commands to add new
followers.
See the returned variable `specific` of the method
`_add_follower_command` in `mail_followers.py`.
Surrounding `part[record.id]` with a `dict` with
`message_follower_ids` has probably been
forgotten by oversight.
`gen` and `part[record.id]` have actualy the same
syntax, and the `write` done with these variables
should therefore be called the same way.
opw-669376
When the user can't read the model res.partner, former code tried to determine
whether or not the user was follower of the document. This was wrong for three
reasons.
First, it performed an RPC to get the partner_id of the current user, but this
info is already stored in the session so the RPC was useless.
Second, the partner_id isn't helpful to know if the user is a follower because
everything we have is the follower_ids, which aren't ids of the res_partner
model, but ids of the mail_follower model (compare apples and oranges...).
Third, we anyway didn't use that information at all as the button indicating
whether or not the user is a follower wasn't displayed.
This rev. simply removes that useless RPC and only displays the count of
followers as previously.
The email link in the opportunities help message
was built as:
`<a href="mailto:info">odoo.com</a>`
instead of:
`<a href="mailto:info@odoo.com">info@odoo.com</a>`
opw-669361
This reverts commit 33755f1882.
note: revert for now since some scenarios were not taken into account,
detached event could have been moved to another day.
When editing a recurring event clicking `Update only this instance`
allow us to detach this event from the recurring sequence, but without
clicking it there are instances where the event will still be detached
maybe unexpectedly.
Clicking on it will create an event which shadow the recurring one that
being done thanks to:
- recurring_id: the id of the recurring event creating this event
- recurring_id_date: start of the virtual event this new event shadows
Before this commit: when the start or end date of an recurring event is
changed, all modification are not applied on the recurring events but
only the current virtual event occurrence is detached and modified.
After this commit:
- when the end date of a recurring event is modified, it is modified for
all the instance (not detached) of the recurring event,
- when the start date of a recurring event is modified, it is modified
all the instance (not detached) of the reccuring event and if:
* one occurrence of the recurring event is still on a (not-moved)
detached event of this recurrence, this virtual event will be
shadowed.
* a detached event has now no occurrence of the recurring event on its
day, it will still be left untouched but will now not shadow an
event anymore.
eg.
we start with recurring event A on 4, 5, 6 => we see [4: A, 5: A, 6: A]
-> detach event on 5 calling it B => we see [4: A, 5: B, 6: C]
-> change start of recurrence to 5 => we see [5:B, 6:A, 7: A]
-> change start of recurrence to 7 => we see [5:B, 7:A, 8: A, 9:A]
-> delete detached event B on 5 => we see [7:A, 8: A, 9:A]
-> change start of recurrence to 3 => we see [3:A, 4: A]
closes#10873fixes#10278
opw-665700
- swap reply-to and mark-as-unread buttons in threads
- remove blockquote from stripped html in channel previews
- readd padding to no-content message in threads, also to no match found
message
- add 1 to chat window z-index to prevent control panel buttons to show
through it
Force the values of `res_id` and `res_model` when creating assets
attachments. This avoid getting wrong default values from the context.
When using the mail composer with a automatically created report (like
when sending a quotation by email), if the report asset must be saved,
the context used is the one from the mail composer, which contains a
`default_res_id` entry.
When a product with costing method = standard price and inventory valuation = perpetual (automated),
the button "Set standard price" in General information in "product.template" is shown if the
product template has only one variant. In the other case, the button is displayed in the variant
view form.
opw:668568
The customer address must be the shipping address defined on the SO.
The contact address can be removed from the report because the object
passed to the report is the stock.picking where the partner_id is the
one linked to the shipping contact.
opw:669015
The section_id field has been renamed to team_id in 9.0. Moreover,
the Sales Team group by is already present in the view from which
this one was inheriting, resulting in duplicated group by's.
Before the fix dda8e2211a, the duplicate
records were erased thanks to the index used in the dictionary(id of the partner).
After this fix, to avoid this this problem, the label of each record is used as
key in the dictionary.