Tuesday, January 4, 2022
33 changes · master
Enhancements to existing features
Installing event-related sales and track features is now less likely to fail if optional default event records were previously removed. This helps keep setup smoother for businesses adding event capabilities later.
Original PR description
This PR makes the installation process for event dependent modules more robust by updating data records using write method (in xml, with help of `<function>` tag), so that if the record is available, it will be updated otherwise no traceback will be thrown. TaskID-2584092
Product variant image refreshes now account for changes made on the main product record, avoiding unnecessary background updates to every variant when an image changes. This makes the update process cleaner, though product images may refresh more often when other product details are edited.
Original PR description
Since [1] whenever the image of a `product.template` is updated, the write date of all its related `product.product` is updated. This was done to force a change of the unique parameter on image fields, which is based on the last update field. After this commit the `product.product`'s last update is instead computed by also taking the `product.template`'s last update into account. This avoids the need for updating the write date when the image is changed, but on the other hand it also forces product images to be reloaded whenever any other field of the `product.template` is changed. [1]: https://github.com/odoo/odoo/pull/71139 Related to https://github.com/odoo/odoo/pull/76309 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The French FEC accounting export now stores generated export data as an attachment instead of directly in the database. This helps prevent memory-related failures when exporting very large files, making the process more reliable for businesses with high transaction volumes.
Original PR description
Set fec_data to attachment True to avoid storing data ion DB Task: 2453453
The Project demo environment has been expanded and cleaned up to better showcase real project workflows, including tasks, timesheets, deadlines, ratings, activities, and customer portal sharing. This makes demos and evaluations more realistic for users exploring project management, sales-linked projects, expenses, purchases, manufacturing, and timesheet scenarios.
Original PR description
This PR aims to greatly improve the demo data of the project module. It brings the following changes: - Reorder timesheet lines in the code to sort them by project - Rename timesheet lines in the…
This PR aims to greatly improve the demo data of the project module.
It brings the following changes:
- Reorder timesheet lines in the code to sort them by project
- Rename timesheet lines in the code to make it easier to add new lines
- Rework the `Research & Developpement` project tasks to make the data more consistent
- Change some tasks stages and personal stages to make them more consistent with the rest of the data
- Add tasks for each SOL in the `AGR - SO` project
- Add 6 new tasks in the `DPC - SO` project
- Schedule more activities on projects and tasks
- Set the kanban state of some tasks
- Assign unassigned projects
- Make Mitchell Admin a follower of some projects
- Set the deadline of some tasks (some late, some in the future)
- Add some archived tasks
- Share the project stages across all projects
- Create a project template with those stages for sales orders projects, and use it for AGR and DPC
- Assign unassigned tasks
- Assign some tasks to multiple users
- Add timesheets to some subtasks
- Add more ratings, with comments
- Make the project `Renovations` visible to all employees
- Add an end date to some projects
- Switch the status of the `DPC - SO` project to "off track"
- Configure the project `AGR - SO` in employee rate
- Change the name of the tasks of the `After-Sales Services` to "Services"
- Add a description to some projects and tasks
- Add messages to the chatter of some projects and tasks
- Add a new email template `Project: Project Completed` for the project stage "Done"
- Share the project `AGR - SO` in the portal with Joel Willis
- Make some timesheets non-billable in the project `AGR - SO`
- Set the analytic account of the project `Office Design` to a Purchase Order and some Expenses
- Add private tasks for Mitchell Admin and Marc Demo
- Add an 80% threshold for the order upsell activity on the `Customer Care (Prepaid Hours)` service and add timesheets to trigger it
- Fix a typo in the task "Useablity review"
- Change the personal stages "Canceled" to "Cancelled" for consistency with other stages
- Fix a few missing tasks due to id conflicts
Task 2669762Sales orders now avoid loading product detail data when it is not needed, reducing unnecessary background work. This improves performance for common sales workflows without changing what users see or how they work.
Original PR description
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Adds richer demo data across Helpdesk-related apps to make testing and demonstrations quicker to prepare. This helps teams showcase support, sales timesheet, stock, and forum integrations with less manual setup.
Original PR description
The purpose of the task is to add demo data to ease the testing of tasks, reduce the time to set up a database for a demo, and showcase our features. task-2677843
Companies can now set a maximum age for timesheet entries, preventing employees from logging time too far in the past. This helps managers catch timesheet issues sooner and reduces the risk of outdated entries affecting billing and employee time records.
Original PR description
Currently, nothing prevents users from encoding timesheets way in the past. This could easily go unnoticed by managers, if they only focus on the last week or month when validating timesheets. This could be an issue as past timesheets can impact the invoicing of services, as well as the overall time record of the employees. The goal of this task is to add an option to prevent users from encoding timesheets after a certain number of days. task-2695707
The Helpdesk overview has been updated to make key performance indicators clearer and easier to act on. Labels, colors, column placement, and default report views now better highlight open tickets, failed tickets, customer satisfaction, response trends, and success rates.
Original PR description
Purpose of the commit is to improve the helpdesk overview. So in this commit did the following changes: Generic: - added an 'open tickets' label under 'my tickets' - renamed 'sla failed' into 'failed…
Purpose of the commit is to improve the helpdesk overview. So in this commit did the following changes: Generic: - added an 'open tickets' label under 'my tickets' - renamed 'sla failed' into 'failed tickets' - renamed 'avg 7 days' into 'avg last 7 days' - display 'open tickets' in green if > 0 - display failed tickets in orange if > 0 - display avg open hours in grey - moved the 'happy rating' column to the right of 'success rate' - clicking anywhere on the daily target cell should switch it to edit mode - renamed various action name - round the nb of avg open hours to the unit Tickets: - the default value for pivot view of avg open hours: group by: subject measure: time to close (hours) filter: my tickets and open tickets - the default value for graph view of avg open hours: group by: subject measure: time to close (hours) filter: my tickets and open tickets in barchart view, unstacked and in descending order - the default value for closed tickets > today: open a list view with a default filter on 'my tickets' and 'closed tickets' - the default value for closed tickets > avg 7 days: group by: close date > day filter: my tickets and close tickets Ratings - renamed 'happy rating' into 'customer satisfaction' - default filter: my ratings - the default value for pivot view of today: group by: subject - the default value for pivot view of avg 7 days: group by: date > day Success rate - today: open a list view by default default filter: closed tickets, my tickets, sla success - avg 7 days: default filter: my tickets, sla success and closed tickets default group by: closed date > day TaskID-2531487 closes #19809
The project demo data has been adjusted so task dates better match the rest of the sample data. Task names were also reorganized by project, making demo scenarios easier to understand and maintain.
Original PR description
This PR will change some tasks dates to make them more consistent with the rest of the demo data Related: https://github.com/odoo/odoo/pull/80102/ Task 2669762
Code cleanup and technical improvements
This update renames an internal mail calling field to make it clear when a participant has muted themselves. It prepares the system to distinguish self-muting from other muted states in future call features, with no expected change for users today.
Original PR description
This commit renames the isMuted variable into isSelfMuted to reflect the user action of self muting, as opposed to the state of being mute, which will be distinct in an upcoming commit. part of task-2720026
Miscellaneous changes
In test_01_leave_request_flow_limited, a time off was created with: - 'date_from': (datetime.today() + relativedelta(days=2)), - 'date_to': datetime.today() + relativedelta(days=3), The test fails during the end of December because no allocation is found. The time is now frozen in the test task-2726308 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#82140
Original PR description
In test_01_leave_request_flow_limited, a time off was created with: - 'date_from': (datetime.today() + relativedelta(days=2)), - 'date_to': datetime.today() + relativedelta(days=3), The test fails during the end of December because no allocation is found. The time is now frozen in the test task-2726308 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#82140
In test_limited_type_days_left, a time off was created with: - 'date_from': (datetime.today() - relativedelta(days=2)), - 'date_to': datetime.today(), The test fails beginning of January as the allocation created at the beginning of the test is valid between Jan 1 and Dec 31 task-2726171 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#82136
Original PR description
In test_limited_type_days_left, a time off was created with: - 'date_from': (datetime.today() - relativedelta(days=2)), - 'date_to': datetime.today(), The test fails beginning of January as the allocation created at the beginning of the test is valid between Jan 1 and Dec 31 task-2726171 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#82136
Before this commit: kanban click on time value does not open the form view. After this commit: kanban click on time value will open the form view. Task-2655411 Forward-Port-Of: odoo/odoo#80744
Original PR description
Before this commit: kanban click on time value does not open the form view. After this commit: kanban click on time value will open the form view. Task-2655411 Forward-Port-Of: odoo/odoo#80744
While investigating an issue with the x2many tracking, we found a better way that to track those field while also fixing the issue. Fixes an issue with `default_*` context keys that are used in the project app upon writing on tasks. TaskId-2725014 Forward-Port-Of: odoo/odoo#82092 Forward-Port-Of: odoo/odoo#82069
Original PR description
While investigating an issue with the x2many tracking, we found a better way that to track those field while also fixing the issue. Fixes an issue with `default_*` context keys that are used in the project app upon writing on tasks. TaskId-2725014 Forward-Port-Of: odoo/odoo#82092 Forward-Port-Of: odoo/odoo#82069
test_leave_whole_company_07 test was failing due ot the hr_leave_date_check2 constraint. This constraint check that date_from <= date_to for a leave. date_from and date_to were not assigned any value before and had a default value of fields.Datetime.now. Depending on which date_from or date_to is created first, a few second difference can exist and this violates the hr_leave_date_check2 constraint task-2726143 -- I confirm I have signed the CLA and read the PR guidelines at www.odo
Original PR description
test_leave_whole_company_07 test was failing due ot the hr_leave_date_check2 constraint. This constraint check that date_from <= date_to for a leave. date_from and date_to were not assigned any value before and had a default value of fields.Datetime.now. Depending on which date_from or date_to is created first, a few second difference can exist and this violates the hr_leave_date_check2 constraint task-2726143 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#82183 Forward-Port-Of: odoo/odoo#82131
A company name >50 chars leads to: Authorize.Net: Received data with status code "3" and error code "The 'AnetApi/xml/v1/schema/AnetApiSchema.xsd:company' element is invalid - The value XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX is invalid according to its datatype 'String' - The actual length is greater than the MaxLength value." This limits the company name to the specified 50 chars [1][2]. Cutting off the company name should be fine for the same reasons as outlined in 6
Original PR description
A company name >50 chars leads to: Authorize.Net: Received data with status code "3" and error code "The 'AnetApi/xml/v1/schema/AnetApiSchema.xsd:company' element is invalid - The value XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX is invalid according to its datatype 'String' - The actual length is greater than the MaxLength value." This limits the company name to the specified 50 chars [1][2]. Cutting off the company name should be fine for the same reasons as outlined in 64b86f36264c2e655681c7b6bed69e89891107bf. [1] https://developer.authorize.net/api/reference/index.html#payment-transactions-charge-a-credit-card [2] https://api.authorize.net/xml/v1/schema/AnetApiSchema.xsd opw-2725246 Forward-Port-Of: odoo/odoo#82102
Forward-Port-Of: odoo/odoo#81988
Original PR description
Forward-Port-Of: odoo/odoo#81988
Reproduction: - have 308 redirection from /shop to /boutique and refresh routes - go in incognito on /boutique?order=name+asc (don't go on /boutique first, or restart odoo to clear ORM cache) - select a sorting option eg. price => we are redirected to /boutique?order=name+asc?order=list_price+asc and this error is shown: Invalid "order" specified (is_published desc, name asc?order=list_price asc, id desc). This is happening because url_rewrite is keeping current query string
Original PR description
Reproduction: - have 308 redirection from /shop to /boutique and refresh routes - go in incognito on /boutique?order=name+asc (don't go on /boutique first, or restart odoo to clear ORM cache) -…
Reproduction:
- have 308 redirection from /shop to /boutique and refresh routes
- go in incognito on /boutique?order=name+asc (don't go on
/boutique first, or restart odoo to clear ORM cache)
- select a sorting option eg. price
=> we are redirected to /boutique?order=name+asc?order=list_price+asc
and this error is shown:
Invalid "order" specified (is_published desc, name asc?order=list_price
asc, id desc).
This is happening because url_rewrite is keeping current query string
(see ir.http()._slug_matching) and caching it. So if the first call
caches:
url_rewrite('/boutique') => /boutique?order=name+asc
all other url_rewrite('/boutique') calls will give you
/boutique?order=name+asc even if the query string has changed.
In addition to that, url_for may append query_string to url_rewrite
return value, so you may get a double query_string such as:
?order=name+asc?order=list_price+asc
which causes the error.
In this fix, we restore the removal of query string that was removed in
3beb454.
opw-2702036
Forward-Port-Of: odoo/odoo#82056
Forward-Port-Of: odoo/odoo#81685Forward-Port-Of: odoo/odoo#81391
Original PR description
Forward-Port-Of: odoo/odoo#81391
Currently, we allow the user to press CTRL+Enter to force the submission of his answer for that question when the focus is within a textarea. However, we do not want to submit the question if CTRL+Arrow-right is pressed (since you may use CTRL+arrows to navigate within your text). In the same fashion, we don't want to select "option C" if you use CTRL+C to copy some text in the textarea. This commit fixes these use cases by only allowing the shortcut handling when the focus is within
Original PR description
Currently, we allow the user to press CTRL+Enter to force the submission of his answer for that question when the focus is within a textarea. However, we do not want to submit the question if CTRL+Arrow-right is pressed (since you may use CTRL+arrows to navigate within your text). In the same fashion, we don't want to select "option C" if you use CTRL+C to copy some text in the textarea. This commit fixes these use cases by only allowing the shortcut handling when the focus is within a textarea when the pressed key is 'Enter' (code 13). Task-2716078 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#82149 Forward-Port-Of: odoo/odoo#81594
Description of the issue/feature this PR addresses: 1. create a fresh db in version 14.0 with the website module and a theme installed. 2. upgrade the db to version 15.0 when I click the "Pick a theme" button the error is occurring Current behavior before PR: ``` TypeError: Cannot read properties of undefined (reading 'value') at Engine.eval (eval at _render (http://localhost:8069/web/assets/12013-adfcf1f/web.assets_common.min.js:4490:73), :16:119) at Engine._render (http://localhost:
Original PR description
Description of the issue/feature this PR addresses: 1. create a fresh db in version 14.0 with the website module and a theme installed. 2. upgrade the db to version 15.0 when I click the "Pick a…
Description of the issue/feature this PR addresses: 1. create a fresh db in version 14.0 with the website module and a theme installed. 2. upgrade the db to version 15.0 when I click the "Pick a theme" button the error is occurring Current behavior before PR: ``` TypeError: Cannot read properties of undefined (reading 'value') at Engine.eval (eval at _render (http://localhost:8069/web/assets/12013-adfcf1f/web.assets_common.min.js:4490:73), :16:119) at Engine._render (http://localhost:8069/web/assets/12013-adfcf1f/web.assets_common.min.js:4489:296) at Engine.render (http://localhost:8069/web/assets/12013-adfcf1f/web.assets_common.min.js:4489:151) at Class._render (http://localhost:8069/web/assets/12014-9673983/web.assets_backend.min.js:5171:222) at Class.start (http://localhost:8069/web/assets/12014-9673983/web.assets_backend.min.js:5160:1453) at Class.prototype. [as start] (http://localhost:8069/web/assets/12013-adfcf1f/web.assets_common.min.js:4712:488) at http://localhost:8069/web/assets/12013-adfcf1f/web.assets_common.min.js:5050:52 at async Promise.all (index 8) ``` Desired behavior after PR is merged: The error is resolved and we can pick a theme. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#82156 Forward-Port-Of: odoo/odoo#81578
A mega-tour was introduced with [1] to test every single snippet. This tour, despite being very useful as it tests the core behavior of the website builder, is creating a lot of race conditions. This commit won't fix anything but will actually reduce the tour length, hopefully also reducing the amount of race condition while those are fixed. Indeed, some snippets were tested multiple times, as a snippet might include another snippet in its DOM, the xpath query would return multiple times
Original PR description
A mega-tour was introduced with [1] to test every single snippet. This tour, despite being very useful as it tests the core behavior of the website builder, is creating a lot of race conditions. This commit won't fix anything but will actually reduce the tour length, hopefully also reducing the amount of race condition while those are fixed. Indeed, some snippets were tested multiple times, as a snippet might include another snippet in its DOM, the xpath query would return multiple times the same snippet. Duplicates: s_card (5), s_banner (2), s_donation_button (2), s_dynamic_snippet_products (2), s_newsletter_subscribe_form (3), s_searchbar_input (2), s_text_block (3), s_hr (2). [1]: https://github.com/odoo/odoo/commit/460d5ecb926c13a79ba363f8f86442433d91bf6f task-2726529 Forward-Port-Of: odoo/odoo#82169
Current behavior: You had a traceback when trying to pay with Stripe and a specific modified Quotation template Steps to reproduce: 1. Set stripe as the payment acquirer (with default test values ) 2. Modify the Quotation Template "4 person Desk" - Uncheck "Online signature" - Put "Confirmation Mail" as "Sales Order: Confirmation Email" 3. Create a SO 4. Set it's quotation template as "4 person Desk" 5. Action > Generate Payment link 6. Use the link as the public user (in incognito f
Original PR description
Current behavior: You had a traceback when trying to pay with Stripe and a specific modified Quotation template Steps to reproduce: 1. Set stripe as the payment acquirer (with default test values ) 2. Modify the Quotation Template "4 person Desk" - Uncheck "Online signature" - Put "Confirmation Mail" as "Sales Order: Confirmation Email" 3. Create a SO 4. Set it's quotation template as "4 person Desk" 5. Action > Generate Payment link 6. Use the link as the public user (in incognito for instance) 7. Pay with Stripe => Traceback opw-2721526 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#82151 Forward-Port-Of: odoo/odoo#82077
Steps to reproduce the bug: - Install inventory and sales - Create a SO > Confirm - Click on the delivery > print > delivery slip or picking operation Problem: Only the name and phone number are in the report opw-2697221 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#80540
Original PR description
Steps to reproduce the bug: - Install inventory and sales - Create a SO > Confirm - Click on the delivery > print > delivery slip or picking operation Problem: Only the name and phone number are in the report opw-2697221 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#80540
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#80380
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#80380
Currently, report lines in the BS, P&L and General Ledger that are unfoldable, need to be clicked twice in order to unfold (after scrolling). This is not supposed to be the case. This happens because a clone of the report table is made in order to improve the management of the width of columns with ellispis in the reports. task-2711352 Forward-Port-Of: odoo/enterprise#23235
Original PR description
Currently, report lines in the BS, P&L and General Ledger that are unfoldable, need to be clicked twice in order to unfold (after scrolling). This is not supposed to be the case. This happens because a clone of the report table is made in order to improve the management of the width of columns with ellispis in the reports. task-2711352 Forward-Port-Of: odoo/enterprise#23235
Currently, when mentioning another user, the regex will break at a "." character. This character is allowed in user names and should thus be taken into account. e.g: @odoo.official will now be correctly recognized and linked. (And will turn into a link to https://instagram.com/odoo.official) A test case was modified to ensure that behavior. Task-2717346 Forward-Port-Of: odoo/enterprise#23213 Forward-Port-Of: odoo/enterprise#22963
Original PR description
Currently, when mentioning another user, the regex will break at a "." character. This character is allowed in user names and should thus be taken into account. e.g: @odoo.official will now be correctly recognized and linked. (And will turn into a link to https://instagram.com/odoo.official) A test case was modified to ensure that behavior. Task-2717346 Forward-Port-Of: odoo/enterprise#23213 Forward-Port-Of: odoo/enterprise#22963
Currently when this modules is installed/udpated we setup the accounting info using the new account codes for the EA's CoA in 15.0 https://github.com/odoo/odoo/commit/8d6bd85d2ba9f1aee414734372c0ea684cbd6aa5 Before this patch we used to fail the setup with a message to the user. Here we silently skip the setup if the necessary accounts are not found. This is far from ideal, and the user will need to manually setup the account codes. It is, nonetheless, necessary to allow the upgrade of
Original PR description
Currently when this modules is installed/udpated we setup the accounting info using the new account codes for the EA's CoA in 15.0 https://github.com/odoo/odoo/commit/8d6bd85d2ba9f1aee414734372c0ea684cbd6aa5 Before this patch we used to fail the setup with a message to the user. Here we silently skip the setup if the necessary accounts are not found. This is far from ideal, and the user will need to manually setup the account codes. It is, nonetheless, necessary to allow the upgrade of older DBs with the AE CoA already installed. Forward-Port-Of: odoo/enterprise#23119
Create a negative line with a discount. The remaining amount to distribute wasn't computed correctly. Forward-Port-Of: odoo/enterprise#23077
Original PR description
Create a negative line with a discount. The remaining amount to distribute wasn't computed correctly. Forward-Port-Of: odoo/enterprise#23077
Before this commit: rating with 'no rating' is shown in customer ratings After this commit: it won't show ratings which has 'no ratings yet' Task-2655411 Forward-Port-Of: odoo/enterprise#22667
Original PR description
Before this commit: rating with 'no rating' is shown in customer ratings After this commit: it won't show ratings which has 'no ratings yet' Task-2655411 Forward-Port-Of: odoo/enterprise#22667
The continuation_contract was not properly populated as the original contract was time_credit. Forward-Port-Of: odoo/enterprise#23211
Original PR description
The continuation_contract was not properly populated as the original contract was time_credit. Forward-Port-Of: odoo/enterprise#23211
PR #23098 introduced new CO² values for 2022, this commit adapts the test for them. Forward-Port-Of: odoo/enterprise#23210
Original PR description
PR #23098 introduced new CO² values for 2022, this commit adapts the test for them. Forward-Port-Of: odoo/enterprise#23210
…appraisal In test_appraisal_next_appraisal_date_uppcoming_appraisal, a search is done the employees to check the appraisal date based on the number of appraisal the employee had. If the appraisal count is 0, the domain checks if the create_date of the employee is within the month of the duration_after_recruitment. Since a relativedelta is applied to the current date, if the current date has 30 days and the create_date is on the 31st of a month, it won't find the employee. Instead,
Original PR description
…appraisal In test_appraisal_next_appraisal_date_uppcoming_appraisal, a search is done the employees to check the appraisal date based on the number of appraisal the employee had. If the appraisal count is 0, the domain checks if the create_date of the employee is within the month of the duration_after_recruitment. Since a relativedelta is applied to the current date, if the current date has 30 days and the create_date is on the 31st of a month, it won't find the employee. Instead, the create_date is checked against a date range starting from the first of the month to the last day task-2726422 Forward-Port-Of: odoo/enterprise#23215