This commit introduces AI integration for helpdesk tickets to automatically generate sales orders:
- openwebui_connector: New module providing integration with OpenWebUI AI service
* Configurable API connection (key, base URL, model)
* AI prompt template system for reusable prompts
* Uses Claude 3 Sonnet model by default
- helpdesk_sale_order_ai: Extends helpdesk_sale_order with AI capabilities
* AI-powered analysis of ticket content to suggest products
* Smart product quantity parsing from various formats
* Dedicated UI tab for AI suggestions in helpdesk tickets
* Auto-creation of sales orders with matched products
The integration streamlines the process of converting customer support requests into sales opportunities.
- Fix: partners can no longer have default carrier accounts that are
archived.
- Refactor: remove write/create overrides to replace them with
computed/stored fields.
- Disable sending of notification emails when events are created or updated
in Odoo during a CalDAV server synchronization.
- General code cleanup with improved type hints.
Prior to this fix, the organizer on events was being incorrectly set to
the database's admin user in some cases, when synchronizing an event
from the CalDAV server.
Since Odoo 18, emails coming in to an alias creating account moves
(vendor bills) get rejected if they do not contain an attachment that
can be read by the system. This means that sending a plain email receipt
with no attachment bounces, when it would be nice to have a vendor bill
with the message in the chatter as a minimum.
This module checks for attachments and injects one, in the form of a
simple pdf containing the email header and contents, if there was no
attachment to begin with.
This should enable sending of a simple email and not having it bounce
due to there being no attachment.
Fixes an issue where creating the bills from the purchase orders could
create a bill with quantities vastly different from the received batch
quantities. This would happen when the purchase orders had lines with
quantities to invoice that did not match the receipt quantities.
Instead of creating the bills from the POs, we now generate the bill
and its line values directly from the quantities on the move lines
related to the batch.