* account, analytic, calendar, coupon, crm, crm_iap_lead_website,
delivery, digest, event, event_crm, fleet, gamification, hr,
hr_expense, hr_skills, im_livechat, lunch, mail, maintenance,
mass_mailing, membership, mrp, point_of_sale, pos_mercury, product,
purchase, purchase_requisition, sale_management, sales_team, sms,
stock, stock_landed_costs, survey, website_crm_partner_assign,
website_event_exhibitor, website_event_track, website_forum,
website_slides, base
This commit removes oe_edit_only labels and adds placeholder
on fields in form views from a lot of apps to minimize the
shift when switching mode.
task 2330101
There are currently some elements in views that are not reachable on a
deterministic way when those views are inherited. That means, to reach
them, positional selectors need to be used (e.g. `last()`). That causes
inherited views to get broken when there are small changes in element
position.
A good example of this is [1]:
<th class="text-right">Unit Price</th>
Which can't be filtered by:
- Class, because there are several `<th>` elements with the same class
- Text content, because when content is translated, selector will fail
To solve the above, this change provides IDs for several elements, to make
possible/easier to reach them on a safely manner.
[1] https://github.com/odoo/odoo/blob/54b40f1eb096/addons/sale_management/report/sale_report_templates.xml#L15closesodoo/odoo#60388
X-original-commit: 746bacf680c74603f63f7b46304b8fb364e0d60e
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Signed-off-by: Luis González [Vauxoo] <luisg123v@users.noreply.github.com>
Before this commit, It was refering to non-existing decimal precision "Product UoS" which doesn't exists since odoo 9.
Followup on d152106b1bclosesodoo/odoo#60235
X-original-commit: 9199bd588109330344aa505c5930f127a3920f5e
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Before this commit, links to the documentation were referenced the
previous version, 13.0, instead of the current one, 14.0.
Eventhough there is a redirection done by NGINX of a "versionless" URL
to the latest one (e.g. /documentation/user/general/auth/google.html
-> /documentation/user/14.0/general/auth/google.html as of today), the
goal is to keep links owrking for users that will still be using the
14.0 in three years (and should not endup on the 17.0 doc).
closesodoo/odoo#60228
X-original-commit: 7ac08486d91d0ff0151abeeda057ffa6beda72e8
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
This commit adapts the business code in which
class/module/function/method redefinition took place so that it no
longer happens and the pylint test passes.
Including demo data this time
closesodoo/odoo#58862
X-original-commit: 575abde110acb3d12b25f177a863374becef0894
Related: odoo/enterprise#13705
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Mainly transifex issues but also some errors found through 'grep' checks.
Fix typos and obscure english strings in xml contents, fields strings/helps, some docstrings, ...
ensuring correct translations base (and fallback when translations isn't available).
closesodoo/odoo#57276
X-original-commit: 4214f05d454bca2b60fda3a288d529c098e84f77
Related: odoo/enterprise#13053
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
- Go to Sales > Configuration > Settings and activate "Product Configurator"
- Go to Sales > Configuration > Attributes and create an Attribute:
* Attribute Name: Attribute X
* Variants Creation Mode: Never (create_variant='no_variant')
* Attribute Values:
- Value 1
- Value 2
- Go to Sales > Products > Products and create a Product:
* Product Name: Product X
* Variants: Attribute X (Value 1, Value 2)
- Go to Sales > Configuration > Quotation Templates and create a Template:
* Quotation Template: Template X
* Lines:
- Product: Product X - Description: XXX
- Go to Sales > Orders > Quotations and create a Quotation
- Select Template X as Quotation Template
- Add Product X in Order Lines and validate Product Configurator
The Product is added to the SO line but the selected Attribute value is not displayed
in the SO line description, as it usually does.
It comes from the fact that when using a Quotation Template, if an added Product is
defined in the Template, the description from the Template (i.e. XXX) is used instead of
the default generated description.
This is not practical as it is not possible to differentiate several Product X with
different values for Attribute X, because of its Variants Creation Mode set to Never.
opw-2322827
closesodoo/odoo#57195
X-original-commit: b4cc0f0bd4ff9b6b537041a174d5283bbd18dfbd
Signed-off-by: Anh Thao PHAM <kitan191@users.noreply.github.com>
Steps to reproduce
Enable optional products in sale order
Make a sale order with optional products for a portal customer
with taxcloud fiscal position. Validate the order.
Tax will be calculated on the sol.
Access the sale order as the portal user.
Add the optional product, verify the order and pay.
The optional product will get the taxcloud data
AFTER the order has been verified and possibly paid. As this should not
occur this add the override to calculate taxcloud data right after
adding the optional product
opw-2310614
closesodoo/odoo#56110
X-original-commit: a7a91d5de55817b7580f3cd3d262a9dcce7496e7
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
Co-authored-by: agr-odoo <agr@odoo.com>
The execute method of res_config settings must not be overridden. set_values() must be overridden because the uninstall must be done at the end of transaction.
closesodoo/odoo#56101
Taskid: 2282427
X-original-commit: 6d6227915539c7af10e7e2b23565baea602a1d82
Related: odoo/enterprise#12504
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
The purpose of this task is to improve the UI of the 'Apps', by
improving the clarity of the kanban, sequencing the apps and
simplifying the app categories in the searchpanel
So in this commit, Added the new sequences for ir.module.module
and ir.module.category records.
TaskID: 2240257
Related Enterprise: https://github.com/odoo/enterprise/pull/12413Closes: #55907
Replace wrong usages of any(list|recordset), by any(generator)
to speed up computations, avoiding list creations and/or looping twice on a recordset
for nothing.
any([generator]) => any(generator)
any(filtered) => any(generator)
closesodoo/odoo#55768
Related: odoo/enterprise#12360
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
PURPOSE
Review the tips and digest layout design to make sure they have a WOW effect
and increase trial conversion/retention.
SPECIFICATIONS
“Odoo supports configurable products”
“Sell or buy products in bulk with matrixes”
Remove sale_expense tips.
See code for specifications.
LINKS
Task ID-2274264
COM PR: odoo/odoo#53580
ENT PR: odoo/enterprise#1139
X-original-commit: 15398990a1b162fef3e2280d9c4a82de9f61491f
l10n runbot builds are all failing when running at least one test depending of AccountTestCommon because it:
- doesn't create a sandboxed testing environnement to manage the multi-currency, multi-company, the default company's currency, the exchange rates...
- doesn't setup a testing user then all tests are done using the superuser.
- doesn't provide a fully setup chart of accounts: exchange difference journal is not set, accounts have bad types, etc...
- is run sometimes at-install.
--task: 2301180m
When more than one parameter is present in a message, it helps the
translation to use named placeholder. This way, the order can be
changed. It also helps the comprehension of the message.
PURPOSE
Make digest email and tips more appealing. The goals of these tips are
* to encourage the adoption of other apps (Did you know ?);
* to make Odoo look more fun (Fun tips and tricks, young and dynamic style);
* to show social proof and increase trust (emphasis on already existing
projects / customers to);
SPECIFICATIONS
Digest now use qweb views instead of a standard mail.template record for
rendering as
* template is very custom;
* probability of breaking it while edition the mail template is high;
it is easier to maintain and extend in qweb;
* only body was really used, other mail-related fields were not used;
We therefore remove the mail template data and the field used for it on
the digest model. Template is now forced to a Qweb view.
We can also remove the template_id field. Indeed we think that having
different templates for digests is a really advanced use case we do not
want to support.
Finally kpis and action computation is rewritten. It now returns an unique
structure containing all information in a more neutral way, holding values
for 3 columns. Purpose is to be less date-oriented in data construct and
allow people to use digest qweb template to display a 3-columns KPIs content
even if not related to yesterday / last 7 days / last 30 days.
LINKS
Task ID 2197417
Community PR odoo/odoo#51619
Upgrade PR odoo/upgrade#1256
render, render_template, load, activity_schedule_with_view,
get_website_pages should all be private:
It should not be possible to render an aribtrary template only with
its name or id
Still need to render some qweb views from js so the method
render_template is kept public.
This explains why the website editor still need read access on
ir.ui.view as we want to allow any snippet to be rendered.
The validity_date and/or remaining_validity_days fields on the sale
order
could be wrong due to different timezones.
Furthermore, using datetime.now to create a date is unnecessary.
closesodoo/odoo#49639
X-original-commit: 40e0c39fb410d018d007f2c70c12daf4289d2370
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Purpose
=======
Having price and discount on quotation template is quite confusing
as it is more the job of pricelists.
In order to make it more simple for the user, we should remove the
fields price_unit and discount from quotation template.
Implementation
========
Now, the public price of a product is used instead of the price from
the quotation template. If a pricelist exists, it is taken into
account as before.
+ Add new tests to check the sale order template behavior.
closesodoo/odoo#47186
Taskid: 47186
Related: odoo/upgrade#972
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Issue
- Install eCommerce with any theme
- Website > Enable optional product
- Create a SO with an optional product
- Save > Customer Preview
- Mobile view with inspector
- Click on the shopping cart icon in
the optional product line
Quantity selector is not correctly
displayed
Cause
First, the input width is 50%, which
means very small on mobile and there
are paddings on the input and the buttons
Solution
Remove the 50% width and paddings on mobile
It allows to see 3 chars on very small
mobile screen.
OPW-2220893
closesodoo/odoo#48423
X-original-commit: 38e90e09239eb75bd25001c7870758b380159ad0
Signed-off-by: Jason Van Malder (jvm) <jvm@odoo.com>
ir.rule are default values but can be customized based on the
company's policy and needs.
This is typically a record that is in noupdate as should be
customization-friendly.
Purpose
=======
- Change the font-awesome icon from fa-book to fa-question.
- Change the icon color to text-secondary (the same than the multi-company
icon).
- Adjust the icon size to the uppercase text size.
closesodoo/odoo#47210
Taskid: 2209062
Related: odoo/enterprise#9116
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
porpose of the task is to avoid the reload of the web client
when you add an optional product, in the customer portal
this commit will fix the issue of window reload when add optional product and delete
product in customer portal.
removed order line from sale order, when a customer set the quantity of an option line to 0 in the portal
task-1961015
Closes#32551
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Co-authored-by: mba-odoo <mba@odoo.com>
Purpose
=======
A 'book icon' link to the documentation of a feature has been
added in its settings panel, when it is useful (complex feature).
Add a nightly test that parses all the res_config_settings views
from the base one and checks that all documentation links are still valid.
Add the o_doc_link class to all documentation links to be able to easily
catch them if needed.
closesodoo/odoo#45813
Taskid: 2180574
Related: odoo/enterprise#8601
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Without at least one field, performing a search in these models' search
view is outright impossible.
closesodoo/odoo#45177
X-original-commit: 0aabfbff3ce5d68bf37e1734ba7aa43f62803f3a
Related: odoo/enterprise#8379
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
[FIRST ISSUE]
Steps to reproduce the bug:
- Create a pricelist PL with 50% reduction on all products.
- Create a SO with PL
- Add an optional product P
Bug:
The price is correct for P but the discount displayed was 0%.
[SECOND ISSUE]
Steps to reproduce the bug:
- Add the option line to the order
Bug:
A new line was create for P in the SO with the correct price but the discount was not displayed
PS: The discount field on the model sale.order.option has been implemented to add a new discount
to the displayed price unit of the option. But it has not been implemented to show the discount computed with
the pricelist.
opw:2186470
closesodoo/odoo#45056
X-original-commit: bcb304bbad3d10ca5efc7411fff4c9efff8fa6b3
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
Before this commit, the name and description of a product were copied on a sale order template but not their translations. When the seller used the quotation template for a partner in another language, the descriptions were not translated.
After this task, the translations are kept on the quotation template. The user can still override the descriptions in the template and manage the translations by himself.
closesodoo/odoo#40477
Taskid: 2055933
Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
Without demo data, for the odoo-master transifex project
closesodoo/odoo#41935
X-original-commit: dab7670b73506fb3a835695ee3bd735e0c5e5c2b
Related: odoo/enterprise#7287
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
purpose of this commit is when the pricelist is chnaged and
some products alredy added to the sale order, display a button
"recompute price" that throws a confirmation model asking for
recompute the price of the so line
task: 1947320
Closes: #31535
Co-authored-by: Mitali Patel <mpa@odoo.com>
Reproduce the issue
- Install Sale
- Create a quotation template with a product price that is different
than the price on the product form.
- Create a quotation
- Select a customer then the quotation template
The product price is not the price mentionned in the quotation
template
Cause
In the method `onchange_sale_order_template_id`, if we have
a pricelist set and the discount policy "with discount" we
use the price of the pricelist instead of the price of the
template line.
This commit use the template line's price if the discount policy
is not 'without' discount and if there is a template line's price
OPW-2146210
closesodoo/odoo#41139
X-original-commit: 1ed2c4dcb76f462497ae669372077446be3dd738
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
The static domains were already added in
65613f5f83, it's just that the dynamic
ones were missed / left over.
closesodoo/odoo#40960
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
Purpose
=======
This is the first huge step to improve the test suite in several ways:
- Make them demo data independent, allowing to modify the demo data without having to adapt the tests depending on it. It also allows to have a beautiful + convenient demo dataset to make a demonstration, and to configure complex data in the tests to manage the corner cases.
- Improve the test performances by converting them into SavepointCase. Each test will be rollbacked to it's initial state, after the setUpClass call. That way the different data are not re-created at each test for nothing.
- Introduce several test classes in base/tests/common.py to launch a TransactionCase, HttpCase or SavepointCase test with an available demo user, portal user or a large set of partners.
- This is the first step to tend to a rolling release process, allowing to execute the tests (or a subset of the tests) on a migrated base, for example.
closesodoo/odoo#39868
Taskid: 2075739
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>