before this commit, on clicking top reinvoiced orders section in the expense dashboard throws traveback saying invalid field analytic_account_id.
as analytic_account_id field is now replaced by analytic_distribution, removing the usage of analytic_account_id from json files.
closesodoo/odoo#109014
X-original-commit: baea94b9e7e5e5d120e11d454194fbfd70dee4ef
Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
All the localization of syscohada was written in French instead of English.
To correct this, this PR changes the COA, tax group, tax template and char data and adds a French PO file to have all translations in the language used in those countries.
closesodoo/odoo#105187
Related: odoo/enterprise#33714
Signed-off-by: Laurent Smet <las@odoo.com>
*calendar,test_main_flows
This commit tries to unify the name of the create buttons in different
apps. "New" is used over "Create" to avoid confusion regarding its effect.
"Create" could be interpreted as we want the current record to create a new one.
But "New" implies that the user will land on an empty page that can be filled.
task id: 3074472
closesodoo/odoo#108439
Related: odoo/enterprise#35139
Signed-off-by: Bruno Boi (boi) <boi@odoo.com>
**Before this commit**
When a breadcrumb is restored, the props resId is overwritten by the
res_id of the action.
**After this commit**
The props resId is kept if it is defined.
closesodoo/odoo#108996
X-original-commit: 810a1d29bfa7c497627a37e0cec64df51b75bb4b
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
On scanning customer barcode, POS updates pricelist, but not fiscal position.
Fix it by using method `updatePricelist`, which both updates pricelist and
fiscal position.
STEPS:
-On a customer, define a fiscal position, a price list and a barcode
-Go to the POS, in settings, define that several price lists & fiscal positions are possible
-open a session and scan your customer.
opw-3102568
closesodoo/odoo#108968
X-original-commit: 9107dc8305699dc29d3c85d02c65d0f86ec03955
Signed-off-by: Trinh Jacky (trj) <trj@odoo.com>
Signed-off-by: Ivan Elizaryev (iel) <iel@odoo.com>
The function used to group fake records in _mockReadGroup was
overcomplicated. We simplify it.
closesodoo/odoo#108921
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
**Before this commit**
Calendar filters and gantt pills have almost same colors.
**After this commit**
Both calendar filters and gantt pills share standardized colors.
**Changes**
The SCSS variable "$o-colors-complete" has been merged with the calendar
variable "$o-filter_colors" (which has been removed).
This variable is only used by gantt and calendar views in the Odoo code.
The complete colors list now has 56 values instead of 30.
First color was replaced by "$o-colors-complete-first" but this is not
the case anymore ("$o-colors-complete-first" has now been removed).
Task id: 2518854
closesodoo/odoo#108597
Related: odoo/enterprise#35208
Signed-off-by: Dardenne Florent (dafl) <dafl@odoo.com>
Stock moves don't have a `partner_id` if they are created before setting
the picking's `partner_id`
Steps to reproduce (from v15):
1. Create a new transfer with operation type 'Delivery Orders'
2. Add a move, then a delivery address and save
3. Mark as todo and validate
4. Print the delivery slip
5. The warehouse address is printed but it should be the delivery
address
Solution:
Replace `onchange_partner_id` of `stock.picking` by a compute method in
`stock.move`. It assigns the partner_id of the `stock.move` to its
picking's partner_id if the move is part of the picking's
`move_ids_without_package` (in purchase_stock, also check that it is not
a dropshipping)
Problem:
When creating a picking, its moves' `partner_id` is only set if the
picking's `partner_id` was already set in the form
opw-3091139
closesodoo/odoo#107625
Signed-off-by: Tiffany Chang <tic@odoo.com>
after this commit: https://github.com/odoo/odoo/commit/8b91cab67f122667ecc250a8b016b152929c61e2 sales warning fields sale_warn and sale_warn_msg fields in the partner form is displayed always without respecting the option in sales settings.
the fields will be displayed always even if the feature is unticked in the settings.
after this commit, the fields will be shown only once the feature is activated in settings.
closesodoo/odoo#108987
X-original-commit: d247279c9e42469d0a120fa8d673fec69186c7e5
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
remove non existing dashboard view type from action in dashboard json files.
closesodoo/odoo#108986
X-original-commit: cebe0eb3ff581fd2827ddc3e2329ed4bdcddc2b5
Related: odoo/enterprise#35365
Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
action options
Steps to reproduce:
- Install Accounting
- Go to Accounting > Create New Invoice > Fill it and confirm.
- Reister a payment for the invoice.
- Click on the "i" icon next to the total (bottom right).
- And in the popup window click on "View"
Issue:
When we open the payment from the invoice, the dropdown action options
are not properly displayed, we cannot delete or duplicate the payment
until we refresh the page.
Solution:
We removed the context (which was setting some options to false) from
the action that is used to open the payment through that view.
opw-3092601
closesodoo/odoo#108963
X-original-commit: 7aa635fe74a8593379bc62466ea99af26eae3b52
Signed-off-by: William André (wan) <wan@odoo.com>
Problem:
In the UI, from the form view of a journal (`account.journal`), you can
set a bank account (`default_account_id`) which is not of the same type
as the journal.
In v15, it was not the case.
Cause:
Since refactor [1], the domain of
`default_account_id` has been changed in order to replace the
`user_type_id` conditions, but it seems like an unwanted '|' has been
left.
Solution:
Remove that pipe.
[1]: https://github.com/odoo/odoo/commit/26b2472f4977ccedbb0b5ed5f08be2c04313fd21closesodoo/odoo#108711
X-original-commit: ee7a4f9afee6cb4f359aea1759246c8c67fb75bf
Signed-off-by: Josse Colpaert <jco@odoo.com>
Signed-off-by: Arnaud-Sibille <arsi@odoo.com>
In Algeria, it is a legal requirement to write the total amount of an invoice in letters. The commit enables this feature. A futur feature will be available to enable a generic solution for all localizations.
task-3083537
PR number-107084
closesodoo/odoo#108353
X-original-commit: aefbd7d942f12ab32fed8331b9941d778b1c22a4
Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
Signed-off-by: hupo-odoo <hupo@odoo.com>
The geoip resolver was moved from http_routing to code/http.py in #86015
and is always available since then. The `_geoip_resolver` global
variable is a leftover we forgot to remove.
closesodoo/odoo#91337
Related: odoo/documentation#2151
Related: odoo/enterprise#27399
Signed-off-by: Julien Castiaux <juc@odoo.com>
request.geoip is no more a dictionnary cached in the session. It is now
a full blown object with lazy and smart geolocalisation capabilities.
Among other things, the previous dictionnary API is now deprecated. The
changes are:
* `request.geoip['country_name']` -> `request.geoip.country_name`
* `request.geoip['country_code']` -> `request.geoip.country_code`
* `request.geoip['city']` -> `request.geoip.city.name`
* `request.geoip['latitude']` -> `request.geoip.location.latitude`
* `request.geoip['longitude']` -> `request.geoip.location.longitude`
* `request.geoip['region']` -> `(request.geoip.subdivisions[0].iso_code if request.geoip.subdivisions else None)`
* `request.geoip['time_zone']` -> `request.geoip.location.time_zone`
It is safe to access all the attributes. Doing `request.geoip.city.name`
when the geolocalization failed (missing db, invalid address, ...)
evaluates to None. It does not raise an AttributeError.
Task: 2848206
Part-of: odoo/odoo#91337
Maxmind offers multiple ip-geolocalization databases, historically we
have been using the City database which contains records on a
city-basis. Many years later it turns out we are primary using geoip to
know the country of the user. Geolocalization in the City database is
considered slow by our standard and we have been clever in order not to
geolocate each request by saving the info in the session.
On the other hand, the Country database that is offered by Maxmind is
much more lightweight and geoip using that country is considered a fast
operation by our standard.
In this work we make Odoo compatible with both the City and the Country
databases. Using multiple database at the same time, we can be smart and
only query each of the two on-demand. If a user ask for its country,
we'll use the fast Country db. If a user ask for its city/timezone we'll
use the slower City db.
By default it loads both database from the `/usr/share/GeoIP/` folder,
respectively the files `GeoLite2-City.mmdb` and `GeoLite2-Country.mmdb`,
you can provide alternative paths using the `--geoip-city-db` and
`--geoip-country-db` CLI options.
In the same mindset as #86015, geoip is still lazy. It is done on-demand
and the result is cached on the current request. The different with the
related PR is that as we know consider geoip to be fast, we no longer
cache the result in the session.
Task: 2848206
Part-of: odoo/odoo#91337
Currently, when the partner phone has space, Razorpay throws an invalid phone exception error.
In this commit we sanitize the partner phone.
Case 1:
If partner phone is empty then validation error will be arrived. 'Phone number is required'.
Case 2:
If partner phone is not sanitized then validation error will be arrived. 'Incorrect phone number'.
EX: (+91 96385 44240) -> (+919638544240)
task-3113199
closesodoo/odoo#108969
X-original-commit: 38af5ee6a4feba802d50305fab8c001494f4e538
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
This commit moves the tooltip from the parent element of the list
aggregate to the value itself to avoid having a tooltip that is
not connected to its intended target (here the tootlip's arrow does
not point at the value at all before this commit).
Task-3106190
closesodoo/odoo#108894
Related: odoo/enterprise#35351
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
before this commit the name field in spreadsheet.dashboard.group and spreadsheet.dashboard is not translatable, and it always appears in english in the dashboard.
after this commit, the name will be translatable and values will be shown in users language in the dashboard.
closesodoo/odoo#108972
Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
Starting from 1 January 2023, the Goods and Services Tax rate (GST) will
change and go from 7% to 8%
task-3098705
closesodoo/odoo#108964
X-original-commit: 9b039531bd0073f8abe1e6e949c2031615aa15a3
Signed-off-by: Josse Colpaert <jco@odoo.com>
Signed-off-by: Simon Morais Da Cunha (smdc) <smdc@odoo.com>
Before this commit, the test "field matching is removed when filter is
deleted" failed on 2022 to 2033 year's transition.
Now a patch date is added to avoid the test to be time dependent.
closesodoo/odoo#108947
X-original-commit: 9d08a20d4c84c45799f766529d054b7df8fe0d66
Signed-off-by: Bruno Boi (boi) <boi@odoo.com>
Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
The mock server's mockReadGroup function would not properly compute the
range and domain of the returned groups for datetime fields with groupby
hour.
The year of the range/domain should be the same as the record and not
the current year.
Consider the following:
- a record with a datetime field of value "2016-12-14 12:34:56".
- a read_group with groupby "['datetime:hour']"
The corresponding group would have had the following metadata (considering current year is 2022):
- value: `"13:00 14 Dec"`
- domain: `[["datetime", ">=", "2022-12-14 12:00:00"], ["datetime", "<", "2022-12-14 13:00:00"]]`
- range: `{ from: "2022-12-14 12:00:00", to: "2022-12-14 13:00:00" }`
It now has the following valid metadata:
- value: `"13:00 14 Dec"`
- domain: `[["datetime", ">=", "2016-12-14 12:00:00"], ["datetime", "<", "2016-12-14 13:00:00"]]`
- range: `{ from: "2016-12-14 12:00:00", to: "2016-12-14 13:00:00" }`
X-original-commit: cca1fad650efc13cd1695acb723b9aa9a54ba184
Part-of: odoo/odoo#108947
Co-authored-by: Bruno Boi <boi@odoo.com>
When creating the POS journal entry for a POS session (or one of its
orders when realtime inventory management is enabled), it's possible for
the stock picking to fail if a product requires a serial number or lot
id and none was provided. After the POS session is closed, this stock
picking can be corrected and the accompanying inventory valuation
entries will be created. However, when using anglo-saxon accounting, the
amount on the COGS line in the POS journal entry will be 0. That's
because the current implementation sums up the values from the stock
valuation layers to determine this amount. If the stock picking failed,
there will be no stock valuation layers so the result is 0.
In other workflows in Odoo like creating an invoice from a sales order
before the delivery is validated, the implementation deals with this
case by falling back to the standard price if no stock valuation layers
are available. This fix does the same for the POS journal entries.
opw-2988701
closesodoo/odoo#108966
X-original-commit: 4aeed49d86b0dfb8e2d1555384458eb6e3358d67
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
Signed-off-by: Merel Geens <mege@odoo.com>
Reproduction:
1. Install Sale, Inventory
2. Go to Sale->products, search for “Customizable Desk”
3. Hover the cursor on the stat button “Sold”, from its definition, the
analysis should show the sold items in last 365 days
4. Click on the “Sold” button, no filter for “Order Date”
Reason: in V14, the “time_ranges” feature is removed. Thus using it in
the context won’t create any filter for searching
Fix: We use a custom filter to replace the time range "last_365_days".
We also make sure that the domain produced by that filter is the same as
the one used to compute the button count server side (this was not the
case in Odoo 13 when "last_365_days" was used). Similar fix is also done
in mrp and l10n_ar. Mind the utc convert for correct results.
opw-3000595
Related commits:
Removal of time_ranges: https://github.com/odoo-dev/odoo/commit/be5a51a345b8986da0e19627260f64f984e11ae9
Date filter fix: https://github.com/odoo/enterprise/pull/10938closesodoo/odoo#108951
X-original-commit: 03057029b210a59f3d7012aeea66cfa95790a8c8
Signed-off-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Signed-off-by: Liu Jinjiu (jili) <jili@odoo.com>
Steps to reproduce:
- install "sale_management" module;
- create a quotation;
- add a product;
- click on "Search More...";
- create a favorite filter;
- leave and return to the Dialog window.
Issue:
No previously saved filter appears.
Cause:
The `loadIrFilters` parameter has a default value equal to `false`.
Solution:
Set the value of the `loadIrFilters` parameter to `true`.
opw-3105096
closesodoo/odoo#108946
X-original-commit: 7b60ee37e31d92d79108bd4e472553a452c2b0be
Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
Signed-off-by: Lefebvre Thomas (thle) <thle@odoo.com>
# Steps to reproduce
* install eCommerce and Sales
* go to settings and activate `Discounts`, `Pricelists` and
set `Display Product Prices` to `Tax Included`.
* create a pricelist with a discount, making sure to set (in the
configuration tab):
* `Discount Policy` to `Show public price & discount to the customer`
* `Selectable` to `true`
* go to a product's page, select the pricelist you made and add the product
to the cart.
* go to the shopping cart
# The Issue
On the shopping cart page, the pre-discount price should be tax-included
,but it is not.
opw-3112462
closesodoo/odoo#108935
X-original-commit: f4095614e8a875d66efbbb8c579c73c52b8a1c1c
Signed-off-by: William Braeckman (wbr) <wbr@odoo.com>
In the website edition mode, the pricefilter option was displayed even if the attributes were not (top and left). The pricefilter was also depended on the fact that the user was displaying categories or not. After improvement, the pricefilter only depends on the attributes display (top or/and left).
Also, if the attributes are activated and only displayed on the top part of the website, then the pricefilter (if activated) should also be displayed only on the top part, and not on the left anymore.
task-3092992
closesodoo/odoo#108934
X-original-commit: b4c3548736f6c19d10a3fc4f358e7303f02d8a81
Signed-off-by: William Braeckman (wbr) <wbr@odoo.com>
When a record gets deleted, there is no more collaborationResId.
If there is no collaborationResId, prevent the collaboration to
restart, otherwise it will try to subscribe to a channel.
When trying to connect to a channel without record, there
is a cache miss being logged.
Task-3045910
closesodoo/odoo#108933
X-original-commit: e15e8fa1b039cb200686cf49f49075ec7d5486d4
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
In order to display all the category of the filmstrip, It was possible to use either the small bar by clicking on it and dragging, or to use the sliding move on the track pad. Since the bar to be dragged is very small, it was difficult to use it. Being able to click and drag everywhere on the filmstrip makes the move easier for the user.
task-3056398
closesodoo/odoo#106795
Signed-off-by: William Braeckman (wbr) <wbr@odoo.com>
If we use the token to connect a IoT in Windows
We execute the file rename_iot.sh
So with this commit we give the ability to rename
the IoT only in Linux (with a raspberry)
closesodoo/odoo#108922
X-original-commit: a2bf3c7576f63eb037440c7bf076f5c0b50109d8
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
before this commit, there is no form view defined for the ir.actions.client model, so opening the form view of this model returns the odoo auto created form view, which is not looking good in ui.
the form can be opened by clicking on Edit Action button in the debug tool from a client action menu like Discuss
closesodoo/odoo#108829
Signed-off-by: Julien Castiaux <juc@odoo.com>
Unable to print the customer address on invoice report while the company country is INDIA and bill to ship to address is different.
To reproduce the issue:
Step 1: Create an Indian company
Step 2: Activate Customer Addresses from setting
Step 3: Create an invoice with a different Bill to Ship to address
Step 4: Print the invoice
boom! The customer's address is not there!!
Origin from: https://github.com/odoo/odoo/commit/eb23c0c9d513bdefba20f523e70a807f9a634c57closesodoo/odoo#108908
X-original-commit: 2a83bb3079462bda720935f05dd46241ccae5996
Signed-off-by: Laurent Smet <las@odoo.com>
Steps to reproduce
==================
- Use a mobile viewport
- Go to Expenses
- Create a record
- Enter a description and a category
- Click on Action
- Click on Attach Receipt
-> Nothing happens
Cause of the issue
==================
When the button is clicked, the dropdown is closed. This means that the
AttachDocumentWidget and FileInput Components are both destroyed.
Solution
========
Instead of using the FileInput Component, use an input element outside
the DOM.
We also use `this.env.services.orm` instead of `useService("orm")`
because the last one does nothing when the widget is destroyed
opw-3065590
closesodoo/odoo#108897
X-original-commit: 84d50b40f150f251a81e128fa9645d7fcc729dab
Signed-off-by: Samuel Degueldre <sad@odoo.com>
Drop zones are available outside form when dragging form fields.
This leads to errors whenever the field is dropped outside a form.
This commit removes all drop zones outside the form when a field is
dragged.
Steps to reproduce:
- Edit Contact Us form.
- Drag'n'drop a field to the footer.
=> Error popup (should not be allowed in the first place)
task-2855670
closesodoo/odoo#108863
X-original-commit: 31aec4f89eea5f6095e420137c9603732674901c
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
Before this commit, domain selector did not support
selection field with "in/not in" operator because the
field does not accept these operators.
This commit adds the support as the operators can still be used.
closesodoo/odoo#108628
X-original-commit: 8ddd5e60f34f2ae9ca52fe936dc8da7054d1dc5e
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Before this commit, the domain selector did not list the
operator if it is not accepted by the field
i.e. [['state', 'in', ['draft']]] is not listed in the domain
selector because "in" is not accepted by a selection field.
Now, the domain selector shows the operator even if it
is not accepted by the field.
X-original-commit: 2ae3adbce8cae17116f96f0a86296e41faf55246
Part-of: odoo/odoo#108628
before this commit,
in the translation dialog for a model_terms translated field, English term and
translated terms are shown in different rows
after this commit,
An English term and its translated term are in the same row.
opw-3086352
closesodoo/odoo#108900
X-original-commit: 6cfede8c9b7ac317a602d36a227d7809c3b21964
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
Signed-off-by: Wang Chong (cwg) <cwg@odoo.com>
before this commit, on clicking the dashboard from community edition the message is shown that "No default view of type 'gantt' could be found !". similarly for cohort and map views also.
as gantt,map and cohort view is part of enterprise edition, removing it from actions.
closesodoo/odoo#108899
X-original-commit: 6729613b5aef8eaaa62b5f76165fafbb46b94be5
Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
Steps to reproduce
==================
- Go to Expense
- Type some random string in the search bar in order to have no match
- Click on one off the app button
-> An error occurs
Cause of the issue
==================
The QRModal was not ported to owl
opw-3070434
closesodoo/odoo#108898
X-original-commit: d3b3e6ebb228453938aeac8286f7e3a916b6a027
Signed-off-by: Kevin Baptiste <kba@odoo.com>
utilize the full width and fix the typo
closesodoo/odoo#108896
X-original-commit: f5d700f33a97014c79f93a9415ce51bf7c77d6be
Signed-off-by: Trinh Jacky (trj) <trj@odoo.com>
* = event, event_booth, website_event_questions
We used to provide data for the event templates (event.type) to provide a basic
configuration to play with. However, they are not much helpful, and sometimes
can confuse the users.
This commit removes the data records for the event templates, and on the
m2o field on event, now we let users create/edit them on the fly so that
they can explore the feature by themselves.
We have also added demo data to the 'Exhibition' and 'Sport' templates,
having booths and questions, respectively. Along with that, we have added
relevant data to the demo events where both templates were used; and set
auto-confirm to be false by default when creating a new event template.
taskID-2854123
closesodoo/odoo#99421
Related: odoo/upgrade#3849
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>