Laundry Management

An end-to-end Odoo solution for laundry businesses to automate order tracking, washing workflows, and customer management

Skills You'll Gain:
Odoo Module Development Workflow Automation Custom Model Design Security Rules
38 Tasks

Project Tasks

31. Add washing works model.

Your customer needs to manage the washing work and process associated with laundry order line

Implementation Steps:
  1. Implement a model for washing work with the following fields:
    • Name:A character field to specify the name of the work.
    • Assigned Person: A Many2one field linking to the user res.users assigned to this washing task.
    • Date: A datetime field for recording when the washing will take place.
    • Description: A text field to add additional details about the washing task.
    • State:A selection field representing the current status of the washing task (Draft, Process, Done).
    • laundry_line_id:A Many2one field linking to the corresponding laundry order line.

32. Add washing work list view.

Your customer needs to view all the created washing work as a list

Implementation Steps:
  1. List view should contain the following columns
    • Name
    • Assigned Person
    • Date
    • State

33. Set Up Access Rights

After implementing the washing work model you need to set up the access rights

Implementation Steps:
  1. Grant read, write, create permission to the User group.
  2. Grant full permission to the Managers group.

34.Confirm laundry order

The laundry order process should follow a structured workflow that includes multiple stages, beginning with the confirmation of the order

Implementation Steps:
    In Laundry order form
  1. Add button with Confirm Order label appears only when the order is in Draft state, and implement the following in confirm_order method:
    • Set the state of the current order to Laundry Order state.
    • Create Sale Order:
      • Create a new sale order in the sale.order model. The fields populated include:
      • Customer Details: Set the partner ID, invoice address, and shipping address based on the current order’s details.
      • Order Line: iterate over each line in the order's laundry_order_line_ids and for each line create a new record in the sale order line with the following info:
        1. Product ID: The product representing the laundry order line address.
        2. Price Unit: Uses the total amount from the current order line amount.
      • In Laundry order form add smart button with Sale Order label to display the created sale order.
    • Create washing work record:
      • Iterate over each line in the order's laundry_order_line_ids:
      • For each line, create a new record in the washing.work model. The fields populated include.
        1. Name: Combine the product name with the suffix '-Washing' to create a unique identifier for the washing work.
        2. Assigned Person: Set the user responsible for the washing work, taken from the assigned person in the washing type.
        3. Description: Include any description provided for the line item
        4. laundry_line_id: Link the washing record back to the order line.
        5. State: Set the initial state of the washing work to 'draft'
        6. Date: Record the current date and time as the washing date.
      • In Laundry order form add smart button with Washing Work label to display all washing works related to the current order

35.Start Washing

The system should enable users to initiate their assigned washing tasks seamlessly.

Implementation Steps:
    [In washing work form]
  1. Add button with Start label appears only when the washing work is in Draft state, and implement the following in start_wash method:
    • Set the state of the current order to Processing state if it is not already sets
    • Set the state of the current washing work to Process
    • Set the state of the current order line to Washing

36.Done form washing

The system should accurately track and manage the completion status of washing tasks.

Implementation Steps:
    [In washing work form]
  1. Add button with Done label appears only when the washing work is in Washing state, and implement the following in start_wash method:
    • Retrieve all washing works linked to the specified laundry order and do:
      1. If all works are marked as "Done," update the state of the laundry order to "Done."
    • Set the state of the current washing work to Done
    • Set the state of the current order line to Done

37.Cancel laundry order

User should be allowed to cancel laundry orders that have not yet progressed beyond the draft stage

Implementation Steps:
    [In laundry order form]
  1. Add button with Cancel label appears only when the laundry order is in Draft state, and implement the following in cancel_order method:
    • Set the state of the current order to Cancel