If a translation has an empty src and value, the value in the dictionary
after the search_read is False, not ''
When doing an insert, False is converted to 'false'
Before 489494e733 the translations were inserted using the ORM which correctly
converts False to ''
opw-1999723
closesodoo/odoo#33649
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Since b0ff033d69
To reproduce this issue: give to the processing method a PNG with transparency
and which is already encoded in palette mode.
In 12.0 such image could be `addons/payment/static/img/codensa_easy_credit.png`.
In earlier versions of Pillow, adding an alpha channel to such image would have
no effect, but since version 6.0.0 they raise an exception when that happens.
The PNG spec forbids the use of a full alpha channel with palette-based images
according to http://www.libpng.org/pub/png/book/chapter08.html#png.ch08.div.5.2
task-1998639
closesodoo/odoo#33628
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
toggle full width of calendar not working, this is because getItem of
localstorage service now returns parsed value, AbstractStorageService now
return JSON.parse(value)
this commit fixes that.
task-1975004
closesodoo/odoo#33570
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Co-authored-by: Priyanka Kaakdiya <pka@odoo.com>
Task 1961719
type was set to False when called in the create method. This yielded
always the same account when importing invoices. Getting the value of
type from the context corrects that issue.
closesodoo/odoo#32579
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
When setting the partner of a lead, on the form view the email_from
is automatically populated by the onchange on the partner_id.
This is not the case when created programmatically,
and this is not even the case when created from the kanban view.
This can lead to an unexpected failure to send emails down the line.
We apply the onchange in the create to fill all values consistently in all cases.
In case the values were already set, this simply won't change anything.
Note that we need to adapt the test from website_crm_partner_assign.
It uses demo data that makes little sense.
The opportunity crm.crm_case_21 is set in the UK,
with a partner base.res_partner_4 in the US, in the state Escuintla of Guatemala.
With the change from above, all the address fields on the opportunity are
populated by the onchange, from the partner.
opw 2000241
closesodoo/odoo#33622
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
Performance issue
-----------------
In databases with a lot of POS order lines, the Sales Analysis report is
quite slow. This impacts performances in the report itself and in the
form views of products and product templates. Indeed, they use the
`sale.report` model to compute the `sales_count` field on products.
opw-1987368
Bug on UOM
----------
- Activate Units of Measure
- Create a product A, set its UOM to 'g' (grams)
- Sell one product in the POS
In the Sales Analysis report, the amount is multiplied by 1000.
opw-1978462
Bug on taxes
------------
See issue #24746
All issues originates from the SQL view which is quite complex for no
good reason. Indeed, in v12 the fields `price_subtotal` and
`price_subtotal_incl` are stored and contain the necessary amounts.
closesodoo/odoo#33304
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Co-authored-by: Nicolas Martinelli <nim@odoo.com>
When receiving an email, an attachment is created for every base64
embedded image. We got an invalid image which caused the attachment
generation to fail with a traceback due to a base64 decode error.
The attachment creation has been wrapped into a try/catch in order to
remove problematic images.
opw-1987224
closesodoo/odoo#33620
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
Commit a0dd81b added 'magic' support for ir.config_parameter
to res.config.settings fields.
However for boolean fields, we have:
IrConfigParameter.get_param(icp, field.default(self) if field.default else False)
if value is False we do nothing.
If icp is defined we get a str.
Now if field.default(self) is truthy, it will be called with value.lower().
In particular if value is the boolean True, it will crash and thus settings are
rendered inaccessible.
Note that commit odoo/enterprise@39fb3be0ef gave a default '' value to a
boolean field, sidestepping the issue.
By convention, config_parameters encode booleans using bool(str),
i.e. '' encodes False, while anything else encodes True.
We follow this convention here;
which means that "False" would be be interpreted as True (to Tarski's dismay).
Note that passing a default True value would mean that the config_parameter
would be False before the first settings save, which could be avoided by putting
the value in the module data.
opw-2000718
Closesodoo/odoo#33517
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Co-authored-by: Martin Trigaux <mat@odoo.com>
For many2many_tags widget 'o_tag_color_0' class apply box shadow, in form
view it looks good but in kanban view, it does not look good so I have
removed box shadow from kanban view.
Before this commit in kanban view when no attributes are used in the field
at that time tags will be in box-shadow but after this commit even if no
attributes are used in the field, tags will be without box shadow.
Task ID: 1963188
Closes: #33503
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
- On the invoice pdf, if the invoice is in USD, we
need to specify conversion rate and amounts in AED.
Also, if it is between certain Gulf states, you need
to mention this on the invoice. 'Invoice' also
needs to replaced with 'Tax Invoice'.
- Taxes changed to 0% and 5% / AED symbol on currency
adapted to the real situation of UAE.
- A tax by state automatically adapted with the fiscal
positions in order to have the tax amounts correctly
split by state in the tax report.
opw-1931322
closesodoo/odoo#33385
Signed-off-by: Cedric Snauwaert (csn) <csn@openerp.com>
Suppose you make a reconciliation on an account having a foreign currency being
the same as the company one.
Suppose also you are making a reconciliation of three lines without currency_id set on this account:
- A with debit = 11
- B with credit = 10
- C with credit = 1
Before this commit, the reconciliation was wrong because all computation are made using the foreign
currency due to the account's configuration. As A, B & C have their amount_currency set to 0,
an account.full.reconcile is well created but only one account.partial.reconcile is created instead of
2 leading to an inconsistent state.
opw:1984684
closesodoo/odoo#33445
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
Co-authored-by: Goffin Simon <simon.goffin@outlook.com>
The action to send cart recovery mails is really made to be automated.
However it was written in a way requiring either manual input, to use
action_recovery_email_send.
To make an automated action, you basically need to put the code of it
directly into the action itself, or it would be made incorrectly.
opw 1981665
closesodoo/odoo#33185
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
- generic CoA
- Sars VAT ready structure
Thanks to Paradigm Digital
separate pr for 12.3
opw-1893580
Closes#32685
Signed-off-by: Cedric Snauwaert (csn) <csn@openerp.com>
In the accounting dashboard, click on the hamburger menu of a purchase
or sales journal, then click on View Bills. Both vendor bills and
refunds are displayed.
This is because the `use_domain` key of the view is replaced in the
`open_action` method.
opw-2000904
closesodoo/odoo#33562
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
In order to force the user to select a new leave_type when requesting a
leave for someone else. We reset its value in the `_onchange_employee_id`
Task : 1984487
Closes#32697Fixes#29806
Courtesy of @sswapnesh
closesodoo/odoo#33178
Signed-off-by: Romain Libert (rli) <rli@odoo.com>
- Create 3 products, add 2 sales tax to each product
- Create a quotation template with the se 3 products
- Switch to mobile mode
- Create a SO, add the quotation template
- Modify the first line and change the quantity
The taxes of the two other lines are removed.
This is due to the missing `tax_id` field in the mobile kanban view.
opw-1998493
closesodoo/odoo#33527
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Task 193992
The changes in account asset generate a lot of unposted aml in the future rendering hiding them by default necessary
closesodoo/odoo#31361
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
Task 193992
The cron is used to post draft entries such as those created by the module account_asset
Also add an inverse to account.move.amount
Also add a reverse compute on amount, and adapt its value according to the currency
Task 1950665
1. Define a tax on an account should tell if it's a SALE or PURCHASE tax
2. Credit Note creation from an invoice, label improvement
3. Improve Payable/Receivable account detection from bank statement reconciliation
closesodoo/odoo#32775
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
The quantity to consume for a component is computed in different places
(community and enterprise modules, workorder and produce wizard) during
a production. This commit share those computations into a static function.
closesodoo/odoo#32864
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
Instead of fil - fil_PH, it should have been fil_PH - fil.
The iso_code is used in URLs
The "code" value can not be changed in stable but iso-code can.
The code value will be changed in master as requires a migration script
closesodoo/odoo#32867
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Create an expense paid directly by the company, validate and post entries.
While the account move lines are correct, the payment is not: it is always null.
opw 1962500
closesodoo/odoo#32956
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
Configure a route to be in 3 steps
make a PO, validate all three pickings
Go on the final picking, the one that has the destination to the Stock
Click on the smart button to access the traceability report
unfold as many lines as you can
Before this commit, the first picking of the whole tree (Vendors to Input)
appeared as a direct child of the final picking,
as well as a child of the intermediary picking (as it should)
- Quality > Stock
|
- Input > Quality
| |
| -Vendors > Input
- Vendors > Input
After this commit, the final picking contains only the intermediary
which in turn contains only the origin
- Quality > Stock
|
- Input > Quality
|
-Vendors > Input
OPW 1970286
closesodoo/odoo#32953
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
The Traceability Report printing option is hidden since the report is
pretty much unusable.
opw-1973161
closesodoo/odoo#32939
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Pretty much the whole module is covered by the tests in this commit:
- standard comparison, from shop, from product page
- comparison with more complicated product configuration
- the comparison page itself
- the alternative products
task-1929151
closesodoo/odoo#32901
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
Co-authored-by: Priyanka Kakadiya <pka@odoo.com>
Co-authored-by: Mohammed Shekha <msh@openerp.com>
Co-authored-by: Sébastien Theys <seb@odoo.com>
Steps to reproduce the bug:
- Install MRP
- Uninstall MRP
- Install MRP
Bug:
An error was raised by sql constraint 'barcode_company_uniq' which ensures that
a barcode for a location is unique per company.
But when uninstalling MRP, some locations such as pbm_loc_id or sam_loc_id are set to
active = False and when re-installing MRP, the function _create_missing_locations tried
to re-create these locations and the sql constraint was raised.
opw:1967534
closesodoo/odoo#32882
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
The goal of commit 2dbce5e was to handle the company
holiday type in onchange which was probably forgotten
when the company type was introduced.
However because the last `elif` was changed to `else`,
the `else` clause is executed in some situations where
it shouldn't.
e.g. If holiday type is `employee` and an employee is set,
the `else` clause is (obviously wrongly) executed.
This is particularly a problem if the employee is not
HR user nor manager. In that case, the field employee_id
is invisible and its value has been deleted by the onchange.
The allocation cannot be saved because it violates the
sql constraint (employee is null).
Also, the `mode_company_id` and `category_id` should be set
to `False` when the holiday type is not company/category.
1. Open form view to create a leave
2. Change the leave type to 'By department'
3. Choose the department of the current user
4. Save the leave
5. Approve the leave
=> ValidationError, cannot have two leaves at the same time.
In `@api.onchange('holiday_type')`, when choosing by department
it sets `employee_id`, `mode_company_id` and `category_id`
to `False` ONLY if the department is not already set.
But by default, the employee is set to the user's employee
and the department is set to the employee's department.
Therefore the employee is never set to `False` and the
department leave is linked to this employee.
When validating the 'department' leave, an 'employee'
leave is created for each employee in the department.
For the current user, it crashes because the deparment leave overlaps with
the 'employee' leave since the department leave is linked to
the employee.
Since it is possible to create an operation in the regular list view, it
should also be possible to do it in the kanban mobile view.
opw-1963527
closesodoo/odoo#32907
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
added 5% tax rate for sale and purchase which was missing
was task# 1915454
closesodoo/odoo#33400
Signed-off-by: Cedric Snauwaert (csn) <csn@openerp.com>
1) In the settings of project, enable sub-tasks.
2) Create a new project with a sub-task.
3) Create a new product (type service).
4) In the "Sales" tab of the product check the "Create a new project
but no task" in the service tracking options and select the created
project as project template.
5) Create an invoice for that service and confirm it.
The sale order is set on the tasks of the duplicated project but not on
the sub-tasks.
The `write` mechanic is override in project.task to apply modifications
done on the parent task to its sub-tasks. The method
`_subtask_write_values` is used to gather `{field: value}` pairs and
update the sub-tasks. That method is override in `sale_timesheet` in
order to force the `sale_line_id` to `False` when the project is
duplicated because the duplicated project is not attached to the sale
order of the original model.
The fix has been re-write the `sale_line_id` value on sub-tasks.
opw-1985484
closesodoo/odoo#33416
Signed-off-by: Jérome Maes (jem) <jem@openerp.com>
The field website_published is not ensured when module portal
is installed because the module portal doesn't depend on module
website_mail.
PS:The module website_mail depends on the module portal because
website_mail depends on website and website depends on portal.
opw:1997478
closesodoo/odoo#33452
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
The rte_translator tour that test translation on the frontend could not
be started from the "[debug menu]" > "Start Tour" for two reasons:
- the start URL is not specified, so the test was started on current
backend page wich is wrong (in python the start url is "/")
- the backend original state (params after #) does not work with ?k=v
inside argument value, so `#return_url=/?debug=true`.
To solve this issue, we encode the return_url value and add a start url
when rte_translator is started manually.
opw-1998623
closes#33443
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
- Create a tour with only one step for Community
`edition: 'community'`
- Install a database in Enterprise
`tip.in_modal` in `_check_for_tooltip` cashes since `tip` is undefined.
opw-1998603
closesodoo/odoo#33430
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Include the Google Error message in the error message showed on screen.
Fine tuning of da13c70484 : missing transiflex translations, empty body,
wrong string format.
opw-1966309
closesodoo/odoo#33216
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
The snippets "Latest Posts - List" and "Latest Posts - Big Images" have
a "Number of columns" options but:
- these snippets are not taking the option into account and are
specifically size (in large "list" => 100% width, "big image" => 50%)
- the snippet content is dynamically generated, so the column sizing
set on preview when saving is lost when content is displayed
- the option "Number of posts" contradicts the option
"Number of columns" and can leads to have several lines that are not
taken into account in "Number of columns" (the column number is the
number of child)
Thus, this changeset disable the option for these snippets.
opw-1984899
closes#33393
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Fine tuning of 5ef86ef6c874ab4dc78402493d05b2460c69e7f6
Steps to reproduce:
Set a custom language settings for date by switching the %m and %d.
Create a sales order
Current behavior:
Invalid date error boxes was raised two times
fixes#33408
opw:1998971
closesodoo/odoo#33415
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
When a leave type is in hours, before this commit:
- in the leaves request list the request duration is shown in days.
- the name of the leave shown duration in days.
- the rounding after the conversion from hours to days, generates some
misunderstandings. If you have a day of 7.5 hours, and you take a leave
of 2 hours, it would be round it to 0.25 days, and not to 0.27 days as
it should be. This occurs because we round to the 1/16 of the day.
Now:
- in the leave request list, the request is shown either with days or
hours depending on the leave type.
- the name of the leave shown duration either with days or hours
depending on the leave type.
- the leaves are shown in the correct unit, there is not more
misunderstandings occurring because of the rounding.
related to commit : 5c33ebef5f and 2c366acbf0
opw-1974691
closes#29804closes#33290closesodoo/odoo#33369
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
- Activate online payment of invoices
- Activate and configure Stripe
- Create an invoice, access it through the portal
- Pay it with Stripe
The user is redirected to `/my` instead of `/my/invoices/<id>`.
The root cause is because Stripe creates 2 transactions, the second
being created at:
https://github.com/odoo/odoo/blob/43295c2a3741fb98f9c5d1a506652442efed0a82/addons/payment_stripe/static/src/js/stripe.js#L108
This second transaction, which is used to record the payment, doesn't
contain the appropriate `success_url`.
The best fix would probably be to either:
- prevent the creation of the second transaction by refactoring
`stripe.js`
- pass the appropriate `success_url` to the `stripe_form` template
- reuse existing draft transactions instead of creating a new one
None of these solutions is really suitable for stable since it might
require some heavy modification. However, a simple workaround is to
change the fallback `success_url`since we have all the necessary information
to build it.
opw-1997283
closesodoo/odoo#33404
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
- Go to the website settings and activate the option 'Tax-Included' for
the pricing in the website.
- Go to Sales > Configuration > Delivery methods and create a new method
based on rules. For example:
Price is 10.0 when the weight <= 100
Attach a product (with taxes) to it.
- Publish on website
- Buy a product on the eCommerce
- Checkout, go up to payment step and choose the delivery method created
The 'Delivery:' field on the left shows the delivery price with taxes
excluded although they are included. Funny thing: going back to the
'Address' step show the correct price.
This is because the `delivery_price` field does not take into account
the tax configuration.
We can use the `amount_delivery` field (hum hum) which does it
correctly.
opw-1981808
closesodoo/odoo#33394
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Install discuss, change the general setting in dev mode to disable the
"Show Effect" checkbox. Change the preferences of the user to let odoo
handle notifications. Ask another user to ping you on a chatter then go
to discuss and click the "Mark as Read" button. Traceback.
The `notification_manager` agent has been replaced by another agent in
07cd24b1ec, the code has been updated to use the new agent.
opw-1986844
closesodoo/odoo#33363
Signed-off-by: Julien Castiaux <Julien00859@users.noreply.github.com>
This reverts commit dbaef7de17 since it
causes issues (unbalanced moves). Temporary revert so we have time to
analyze the issue.
opw-1997794
closesodoo/odoo#33380
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>