The function remove_domain_leaf is currently used for project burdown chart. Due to an increasing need of such a function in multiple modules for various functional cases, it has been decided to: - Move this function in 'resource' that is imported in all the modules where this function is needed. - Implement extensive unit test to ensure that it address corner cases. - Refactor the function to address the corner cases it was not addressing until now. The refactored function 'filter_domain_leaf' is used to transform a given domain to a new domain using only the leaves that verify a given check (more precisely, the leaves whose first element verify this check). To perform this transformation, the leaves that do not verify this check are considered as undetermined. All the logical operators dealing with undetermined leaves are ignored, which means: - AND(leaf, ?) = leaf - OR(leaf, ?) = leaf - AND(? , ?) = ? - OR(?, ?) = ? - NOT(?) = ? If the result of the operation is undetermined, it is returned as an empty domain ([]). closes odoo/odoo#105470 Related: odoo/enterprise#33657 Related: odoo/upgrade#4221 Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Project Management
Infinitely flexible. Incredibly easy to use.
Odoo's collaborative and realtime open source project management helps your team get work done. Keep track of everything, from the big picture to the minute details, from the customer contract to the billing.
Designed to Fit Your Own Process
Organize projects around your own processes. Work on tasks and issues using the kanban view, schedule tasks using the gantt chart and control deadlines in the calendar view. Every project may have its own stages, allowing teams to optimize their job.
Easy to Use
Get organized as fast as you can think. The easy-to-use interface takes no time to learn, and every action is instantaneous, so there’s nothing standing between you and your sweet productive flow.
Work Together
Real-time chats, document sharing, email integration
Use the chatter to communicate with your team or customers and share comments and documents on tasks and issues. Integrate discussion fast with the email integration.
Talk to other users or customers with the website live chat feature.
Collaborative Writing
The power of etherpad, inside your tasks
Collaboratively edit the same specifications or meeting minutes right inside the application. The integrated etherpad feature allows several people to work on the same tasks, at the same time.
This is very efficient for scrum meetings, meeting minutes or complex specifications. Every user has their own color and you can replay the whole creation of the content.
Get Work Done
Get alerts on followed events to stay up to date with what interests you. Use instant green/red visual indicators to scan through what has been done and what requires your attention.
Timesheets, Contracts & Invoicing
Projects are automatically integrated with customer contracts, allowing you to invoice based on time & materials and record timesheets easily.
Track Issues
Single out the issues that arise in a project in order to have a better focus on resolving them. Integrate customer interaction on every issue and get accurate reports on your team's performance.