- NAME
- REQUIRES
  - RT::Record::Role
  - LifecycleType
  - Lifecycle
- PROVIDES
  - LifecycleObj
  - SetLifecycle
  - ValidateLifecycle
  - ActiveStatusArray
  - InactiveStatusArray
  - StatusArray
  - IsValidStatus
  - IsActiveStatus
  - IsInactiveStatus

# NAME

RT::Record::Role::Lifecycle - Common methods for records which have a Lifecycle column

# REQUIRES

## RT::Record::Role

## LifecycleType

Used as a role parameter. Must return a string of the type of lifecycles the record consumes, i.e. ticket for RT::Queue.

## Lifecycle

A Lifecycle method which returns a lifecycle name is required. Currently unenforced at compile-time due to poor interactions with "AUTOLOAD" in DBIx::SearchBuilder::Record. You'll hit run-time errors if this method isn't available in consuming classes, however.

# PROVIDES

## LifecycleObj

Returns an RT::Lifecycle object for this record's `Lifecycle`. If called as a class method, returns an RT::Lifecycle object which is an aggregation of all lifecycles of the appropriate type.

## SetLifecycle

Validates that the specified lifecycle exists before updating the record.

Takes a lifecycle name.

## ValidateLifecycle

Takes a lifecycle name. Returns true if it's an OK name and such lifecycle is configured. Returns false otherwise.

## ActiveStatusArray

Returns an array of all ActiveStatuses for the lifecycle

## InactiveStatusArray

Returns an array of all InactiveStatuses for the lifecycle

## StatusArray

Returns an array of all statuses for the lifecycle

## IsValidStatus

Takes a status.

Returns true if STATUS is a valid status. Otherwise, returns 0.

## IsActiveStatus

Takes a status.

Returns true if STATUS is a Active status. Otherwise, returns 0

## IsInactiveStatus

Takes a status.

Returns true if STATUS is a Inactive status. Otherwise, returns 0

← Back to index