[PEP 594][1] is going to depreciate legacy `email.message.Message` API in
PY3.8 in favor `email.message.EmailMessage`.
All `email.message_from_x` constructor functions take an optional
`policy` argument. The policy can either be `policy.compat32` to
generate an `email.message.Message` instance, either be `policy.SMTP`
to generate an `email.message.EmailMessage` instance.
The [current][2] default policy is `policy.compat32` but will change in
a future version of python. It is recommended to always specify the
policy.
[1]: https://www.python.org/dev/peps/pep-0594/#email-legacy-api
[2] https://docs.python.org/3.7/library/email.parser.html#email.parser.BytesParser
[PEP 594] is going deprecates the `imp` standard modules in
PY3.8 in order to completely remove them in PY3.10.
The `imp` module provides the `new_module` function. It returns a new
module created solely using its name. The `types.ModuleName` is a
drop-in replacement.
Task: 2003936
[PEP 594]: https://www.python.org/dev/peps/pep-0594/\#impclosesodoo/odoo#36463
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
Before this commit, the reordering rules computed quantity fields wasn't
computed by active company but for all companies. So, set `compute_sudo`
on false for `nbr_reordering_rules`, `reordering_min_qty`,
`reordering_max_qty` of products and product templates to avoid to
search with sudo active and to search by company.
closesodoo/odoo#36856
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
Before this commit, the product/product template computed mrp quantity
fields wasn't computed by active company but for all companies.
So, set `compute_sudo` on false for the different computed mrp quantity
fields of products and product templates to avoid to search with sudo
active and to search by company.
Before this commit, the product/product template computed quantity
fields wasn't computed by active company but for all companies.
So, set `compute_sudo` on false for the different computed quantity
fields of products and product templates to avoid to search with sudo
active and to search by company.
Before this commit, a user can create a Point of Sale record and
proceed on launching a new session. If the user ignored the warning
message regarding the installation of Chart of Accounts, the opened
session will not work properly and the session can't be closed.
This commit prevents the user from launching a new session if there is
no Chart of Accounts installed for the current company.
closesodoo/odoo#36777
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
Purpose
=======
When enabling/disabling a group, the modification is only applied
to the users from the enabled companies.
It should be applied to all the users.
closesodoo/odoo#36744
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
If time off type is in hours, I want to have hours as unit in the summary
(upper my personnal calendar).
closesodoo/odoo#36421
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
* = stock, test_website, web, website_forum, website_slides, base
Replace KarmaError with AccessError and remove the related override made
on crash_manager and ir_http.
task-2069890
closesodoo/odoo#36655
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
Somehow this xml_id was not updated. Logically,
the tags for the refund should be the inverse
of those in the normal invoice.
closesodoo/odoo#36842
Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
When accessing answers (survey.user_input) through the survey form view, we used a separate action
to hide the test entries.
This could be confusing when you actually wanted to see the test entries for that survey.
This commit changes that to use a default filter instead, leading to the same visual behavior.
Task #2058598closesodoo/odoo#36835
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
When a user tests the Survey, he should not get a valid certification document when he succeeds.
To avoid that, we add a "specimen" watermark on the background when the user_input is a test_entry.
In addition, we also don't send the mail containing the certification for test entries.
Task#2058598
* If the item is not an acceptable URL, check if it's base64 and
return an error if it's not, otherwise it just ends up blowing later
when the content of the field is assumed to be base64 and explodes
* The URL having to contain png or jpg or tiff or gif or bmp doesn't
make much sense (especially in this modern world where
placekitten.com doesn't add extensions, not to mention this doesn't
actually check for extensions). After discussing with odo it doesn't
seem to have any security impact, the only thing this filter does is
annoy people for no reason.
various UI changes
------------------
* renamed "test import" button to "test"
* move relation fields thing to debug mode
* remove "Defer parent/child computation" option as it was deprecated
/ removed from the backend in
80f1ac3599, turns out this checkbox
existed inactive for longer than it's been of any use (added in
68cb2ade09 on 2017-11-29, made
non-operating on 2018-01-24, that's so sad)
batching
--------
* add support for batching imports (skip & limit parameters)
* modify client to use batched imports & properly adapt responses so
it still looks like a single import for the client (more or less)
e.g. update row numbers in error messages, etc...
* properly handle partial imports though
* disable usual loading throbber to have a single progress
notification displayed continuously throughout all the batches: the
normal throbber only shows after 3s of waiting for an RPC response,
so it would keep flashing in and out (appear 3s into a batch's
import then disappear at the end only to reappear 3s into the next
batch's loading)
NOTE: the limit is row-wise. If a record straddles the limit (because
of nested O2M records), the record is imported in full and the "next
row" is whatever row follows the record. This means a limit of 10 can
lead to an import of 17 lines, and as the progress indicator is in
records# the increments can jump around.
Task 2059448
Close a rescue PoS Session from another company triggers this error:
"Please define income account for this product: "Office Chair" (id:5).
property_account_income_id on product is company dependent but no
company was forced before this fix.
closesodoo/odoo#36280
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
when consulting a pos.payment record, in form view, you get a "False" in
the breadcrumbs = the label is empty. Anything we could do about it ?
https://nimb.ws/sB7GEQ (NB : it works for returns (=negative amounts)
https://nimb.ws/M6QHJm )
This fix sets the breadcrumb to show the payment_id, the only field that
is unique for every payment and always has a value.
Before this fix product lines did not merge on adding a same product
after transfering an order or re-opening an order that was synced.
To verefy if lines can be merged an unused field 'type' was compared.
Removing this field fixes the problem.
Before this fix, if an empty order gets transfered to another table, the
screen gets stuck on the floorplan until the window is refreshed.
With this fix the new table is opened.
If a pos session is started in the automatically created pos config and the sales app is installed afterwards,
a traceback will be shown. This is because pos_sale tries to make
changes to the config, which are not allowed.
We removed the hardcoded team in data, and manage the default value
in an onchange on the company_id to keep a consistant team.
When a blanket order is opened, a supplier info is created and should be
used in priority over a regular supplier info with the same values.
That's what rev [0] tried to do but there was some mistakes: the
`purchase_requisition_id` field added in the order is ignored since it
isn't stored and the test didn't failed because the created blanket has
a lower price unit than the regular supplier info, meaning it is used in
priority. Setting the same price unit (50) result in the new purchase
order line merged in the first one.
Do not re-implement the same order.
Adapt the test now that we know the order didn't work (see rev[1]). The
user has to manually set a higher priority to the supplier info
generated by the purchase requisition.
[0] e85838d358
[1] 2ac4f2ee0fclosesodoo/odoo#36840
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
With the new ORM, x2m records are not ordered by default.
The _select_sellers implementation requires to loop on the supplier info
records ordered by their _order. We fix that by sorting with a lambda
with the same order set on the model. Simply using .sorted() isn't
enough since it does a sort in sql, so newId records are completely
removed from the resulting recordset.
This is related to task 1947351 and PR 34049.
We move the tests into purchase_stock and actually implement the tests
proposed in the task.
This commit fixes the /report/download route in multicompany
Since the multi company revamp (a5b6f31cf2)
the multi company rules depend on the context.
However the route /report/download was not forwarding any context, this meant
that when trying to read some fields on a record in a company that is different
than the default one, it would crash with the multi company ir.rule
Forwarding the context from the session in the Javascript call is quite simple
however since (521f7d36c1) it also requires to change
the signature of the `report_download` method in order to pass the context to the final
method.
As there was already some code allowing the adding of some context in `report_routes`
this PR reuses this code by simply passing the context as a kwargs.
closesodoo/odoo#36839
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
rev[0] added the possibility to put in pack without setting any done
quantity on move lines but when the reserved move lines are hidden
(thanks to rev[1]) it got confused on which move lines to work on.
[0] e03c1a836f
[1] ffd5d5a097closesodoo/odoo#36832
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
If a line was produced by a reconciliaion model, it shouldn't be put back
in the reconciliation propositions because a rpc request would not give
it back. Also, the line is not correctly formatted.
closesodoo/odoo#36826
Signed-off-by: Cedric Snauwaert (csn) <csn@openerp.com>
When trying to edit the amount of a proposition of an inactive
statement, the focus of the line tried and the edition of the amount
were racing one against each other causeing flickering and making it
hard to edit the line.
We removed the focus as it was intended for the keyboard navigation but
it was not fully usable, so we also removed the accesskey needed for the
focus.
PURPOSE
Fix various issues in eLearning application after new round of testing
and bug hunt. Some surveys fixes are included as they are used a lot
in eLearning.
SPECIFICATIONS
[FIX] mail: remove channel and partner default context keys when creating
followers
[FIX] survey: fix another crashing computed field
[FIX] survey: set email_from on certification mail template
[FIX] website_profile: fix another broken image thingy
[FIX] website_slides: make content stat button redirection match counters
[FIX] website_slides: remove unnecessary action
[FIX] website_{slides, profile}: fix display of not square user image
[FIX] website_slides: avoid admin being twice member of courses in demo data
[FIX] website_slides: still another fix of computed fields
[FIX] website_sale_slides: synchronize publish status of a channel and its
product
[FIX] website_slides_survey: create certificates with scoring by default
See sub commits for more details.
LINKS
Task 2065425 (avatar ratio badly displayed)
Task 2067324 (counters / action on content mismatch)
Task 2067872 (eLearning internal testing)
Task 2058598 (survey internal testing)
closesodoo/odoo#36756
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Certificate field is not sufficient, scoring type should be set by default
to avoid creating non certificates without knowing it.
Task 2067872 (eLearning internal testing)
Task 2058598 (survey internal testing)
PR #36756
Currently when creating a payment-based channel with its product and then
publishing the channel public users cannot browse the channel as the product
is not readable.
This commit fixes that by synchronizing the publish status of channels and
their products.
Task 2067872 (eLearning internal testing)
PR #36756
This commit fixes 2 issues coming from the recent ORM changes: records are
new records in onchange and compute methods must assign a value for all records.
In an onchange method, self.ids is a list of integer (real records)
whereas self.id is a NewId (virtual record)
Here a result dict was built using the reals ids as keys but later NewIds
are used as keys. Solution is to use record._origin to access the real record.
Moreover, the two dicts `result` and `type_stats` are the same. Assigning one
into the other is useless.
Task 2067872 (eLearning internal testing)
PR #36756
Since admin is responsible of all created demo channels and then re-added
manually as member in demo data of slide.channel.partner he is actually
twice member of some channels. This commit fixes that by resetting its
membership status before adding membership demo data.
PR #36756
When having not square images for user avatar several issues appear
* website_slides: heroes of the week banner is broken as circles are not
circles anymore. They look more like UFOs or funny snowmen;
* website_slides: my user status / leaderboard / achievements card display
is broken as image may take much more width than planned;
* website_slides: channel page view displays user avatar when having joined
it, and it is broken;
* website_profile: user avatars in top 3 of users karma ranking is broken.
In this commit we apply strict rules on width / height combined to an object
fit in order to always have a bioutifoul displayed circled image.
Task 2065425 (avatar ratio badly displayed)
PR #36756
Course content counters count only published content while content stat button
redirects to all contents. Solution to this mismatch is to apply a search
filter on button action to display published ontent by default.
Also remove unnecessary action. Using a type="edit" seems sufficient, no need
to define a python method just for that purpose.
Task 2067324 (counters / action on content mismatch)
PR #36756
As image fields have been renamed recently [1] we have to update controllers
of profile in order to write on image_1920, not image anymore.
Task 2067872 (eLearning internal testing)
Task 2058598 (survey internal testing)
PR #36756
[1] See 58a2ffa26f
Otherwise public users cannot receive their certification. Indeed email_from
will be the one of public user which is probably not set.
Task 2067872 (eLearning internal testing)
Task 2058598 (survey internal testing)
PR #36756
Still due to some recent ORM changes: finding a real ID, assigning values
even in create mode with default values.
Task 2058598 (survey internal testing)
PR #36756
Purpose of this commit is to avoid conflicts when creating new followers
with existing context keys. Indeed some actions may propagate a default
partner id or channel id that is not wanted. Example if when inviting someone
on a slide.channel in eLearning, a default_channel_id is set in context
that clashes with follower creation, thinking it is a mail.channel.
Task 2067872 (eLearning internal testing)
PR #36756