FSM Stage Validation

fieldservice_stage_validation
REPOSITORY
REPOSITORYOCA/field-service
GIT
GIThttps://github.com/OCA/field-service.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/field-service/tree/17.0/fieldservice_stage_validation
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYField Service
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Brian McMaster
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Brian McMaster
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, Iván Todorovich, oca-ci, Antoni Marroig Campomar
WEBSITE
WEBSITEhttps://github.com/OCA/field-service
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:00
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/field-service:
    - fieldservice
    - base_territory
odoo/odoo:
    - base
    - base_geolocalize
    - base_setup
    - web
    - resource
    - contacts
    - mail
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
As the stage of a field service document progresses, it may be important
for specific fields of the document be completed.

For example, when a field service order enters the 'Complete' stage, the
fields for 'Actual End Date' and/or 'Resolution Notes' should be set.

This module allows you to raise a Validation Error if the designated
fields are not set when moving to a new stage. Since stages can be used
for field service orders, workers, locations, or equipments, this logic
is available to be applied to each document type.

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
fsm_stage_form_view_inherit_validation fsm.stage.validation.form fsm.stage field Inherits fieldservice.fsm_stage_form_view
Models touched (5)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • stage_type_model_id Many2one → ir.model
    compute='_compute_stage_model' help='Technical field to hold model type' string='Model for Stage' args: 'ir.model'
  • validate_field_ids Many2many → ir.model.fields
    help='Select fields which must be set on the document in this stage' string='Fields to Validate' args: 'ir.model.fields'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/field-service
GIT
GIThttps://github.com/OCA/field-service.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/field-service/tree/16.0/fieldservice_stage_validation
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYField Service
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Brian McMaster
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Brian McMaster
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Juliette BLANC
WEBSITE
WEBSITEhttps://github.com/OCA/field-service
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:41
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/field-service:
    - fieldservice
    - base_territory
odoo/odoo:
    - base
    - base_geolocalize
    - base_setup
    - web
    - resource
    - contacts
    - mail
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
fsm_stage_form_view_inherit_validation fsm.stage.validation.form fsm.stage field Inherits fieldservice.fsm_stage_form_view
Models touched (5)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • stage_type_model_id Many2one → ir.model
    compute='_compute_stage_model' help='Technical field to hold model type' string='Model for Stage' args: 'ir.model'
  • validate_field_ids Many2many → ir.model.fields
    help='Select fields which must be set on the document in this stage' string='Fields to Validate' args: 'ir.model.fields'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/field-service
GIT
GIThttps://github.com/OCA/field-service.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/field-service/tree/15.0/fieldservice_stage_validation
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYField Service
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Brian McMaster
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Brian McMaster
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, ShwetaSerpentCS
WEBSITE
WEBSITEhttps://github.com/OCA/field-service
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:30
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/field-service:
    - fieldservice
    - base_territory
odoo/odoo:
    - base
    - base_geolocalize
    - base_setup
    - web
    - resource
    - contacts
    - mail
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
fsm_stage_form_view_inherit_validation fsm.stage.validation.form fsm.stage field Inherits fieldservice.fsm_stage_form_view
Models touched (5)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • stage_type_model_id Many2one → ir.model
    compute='_compute_stage_model' help='Technical field to hold model type' string='Model for Stage' args: 'ir.model'
  • validate_field_ids Many2many → ir.model.fields
    help='Select fields which must be set on the document in this stage' string='Fields to Validate' args: 'ir.model.fields'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/field-service
GIT
GIThttps://github.com/OCA/field-service.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/field-service/tree/14.0/fieldservice_stage_validation
VERSION
VERSION 1.1.1
CATEGORY
CATEGORYField Service
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Brian McMaster
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Brian McMaster
COMMITTERS
COMMITTERSoca-travis, Weblate, OCA-git-bot, Maksym Yankin, BojanOD, PicchiSeba
WEBSITE
WEBSITEhttps://github.com/OCA/field-service
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:50
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/field-service:
    - fieldservice
    - base_territory
odoo/odoo:
    - base
    - base_geolocalize
    - base_setup
    - web
    - resource
    - contacts
    - mail
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
fsm_stage_form_view_inherit_validation fsm.stage.validation.form fsm.stage field Inherits fieldservice.fsm_stage_form_view
Models touched (5)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • stage_type_model_id Many2one → ir.model
    compute='_compute_stage_model' help='Technical field to hold model type' string='Model for Stage' args: 'ir.model'
  • validate_field_ids Many2many → ir.model.fields
    help='Select fields which must be set on the document in this stage' string='Fields to Validate' args: 'ir.model.fields'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/field-service
GIT
GIThttps://github.com/OCA/field-service.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/field-service/tree/13.0/fieldservice_stage_validation
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYField Service
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Brian McMaster
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Brian McMaster
COMMITTERS
COMMITTERSOCA Transbot, oca-travis, Weblate, OCA-git-bot, Brian McMaster
WEBSITE
WEBSITEhttps://github.com/OCA/field-service
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:10
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/field-service:
    - fieldservice
    - base_territory
odoo/odoo:
    - base
    - base_geolocalize
    - base_setup
    - web
    - resource
    - contacts
    - mail
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
fsm_stage_form_view_inherit_validation fsm.stage.validation.form fsm.stage field Inherits fieldservice.fsm_stage_form_view
Models touched (5)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • stage_type_model_id Many2one → ir.model
    compute=_compute_stage_model help='Technical field to hold model type' string='Model for Stage' args: 'ir.model'
  • validate_field_ids Many2many → ir.model.fields
    help='Select fields which must be set on the document in this stage' string='Fields to Validate' args: 'ir.model.fields'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/field-service
GIT
GIThttps://github.com/OCA/field-service.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/field-service/tree/12.0/fieldservice_stage_validation
VERSION
VERSION 0.2.0
CATEGORY
CATEGORYField Service
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Brian McMaster
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Brian McMaster
COMMITTERS
COMMITTERSOCA Transbot, oca-travis, Weblate, OCA-git-bot, brian10048
WEBSITE
WEBSITEhttps://github.com/OCA/field-service
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:14
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/field-service:
    - fieldservice
OCA/partner-contact:
    - partner_fax
OCA/web:
    - web_timeline
odoo/odoo:
    - base_geolocalize
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - resource
    - contacts
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
fsm_stage_form_view_inherit_validation fsm.stage.validation.form fsm.stage field Inherits fieldservice.fsm_stage_form_view
Models touched (5)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • stage_type_model_id Many2one → ir.model
    compute=_compute_stage_model help='Technical field to hold model type' string='Model for Stage' args: 'ir.model'
  • validate_field_ids Many2many → ir.model.fields
    help='Select fields which must be set on the document in this stage' string='Fields to Validate' args: 'ir.model.fields'
Public methods (0)

No public methods.