Files
maintenance-tools/maintenance_create_requests_from_project_task

============================================ maintenance_create_requests_from_project_task

This module allows the bulk creation of maintenance requests directly from a project task. It is particularly useful when a task requires maintenance actions on multiple equipment items simultaneously.

Key features:

  • Bulk creation: Create multiple maintenance requests at once from a task
  • Equipment filtering: Use domain filters to select target equipment
  • Smart defaults: Pre-fills equipment from the task's project
  • Request tracking: View all maintenance requests linked to a task

Installation

Use Odoo normal module installation procedure to install maintenance_create_requests_from_project_task.

This module depends on:

  • maintenance
  • maintenance_project
  • project

Configuration

No specific configuration is required.

Usage

Creating Maintenance Requests from a Task

  1. Go to Project > Tasks
  2. Open a task
  3. In the action menu (or via the server action), click "Create maintenance requests"
  4. A wizard opens with:
    • Task: The source task (read-only)
    • Title: The name for all created maintenance requests
    • Equipment Domain: Filter to select which equipment to target
      • By default, shows equipment linked to the task's project
      • Use the domain builder to refine the selection
    • Technician: Assign a technician to all requests
    • Maintenance Type: Corrective or Preventive
    • Priority: From Very Low to High
    • Duration: Estimated duration in hours
    • Scheduled Date: When the maintenance should occur
    • Description: Details about the maintenance work
  5. Click "Create"
  6. All matching equipment will have a maintenance request created
  7. You are redirected to the list of created requests

Viewing Linked Maintenance Requests

On the task form:

  • A smart button shows the count of open (not done) maintenance requests
  • Click it to view all maintenance requests linked to this task

Equipment Domain Examples

  • All equipment in the project: [('project_id', '=', project_id)]
  • Only servers: [('category_id.name', '=', 'Server')]
  • Equipment needing backup: [('backup_activated', '=', True)]
  • Combine conditions: [('project_id', '=', project_id), ('category_id.name', '=', 'Server')]

Known issues / Roadmap

  • Add template support for common maintenance scenarios
  • Add option to create a single request for multiple equipment

Bug Tracker

Bugs are tracked on our issues website. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback.

Credits

Contributors

  • Stéphan Sainléger

Funders

The development of this module has been financially supported by:

Maintainer

This module is maintained by Elabore.