stalker.models.status.StatusList¶
-
class
stalker.models.status.
StatusList
(statuses=None, target_entity_type=None, **kwargs)[source]¶ Bases:
stalker.models.entity.Entity
,stalker.models.mixins.TargetEntityTypeMixin
Type specific list of
Status
instances.Holds multiple
Status
es to be used as a choice list for several other classes.A StatusList can only be assigned to only one entity type. So a
Project
can only have one suitable StatusList object which is designed forProject
entities.The list of statuses in StatusList can be accessed by using a list like indexing and it also supports string indexes only for getting the item, you can not set an item with string indices:
>>> from stalker import Status, StatusList >>> status1 = Status(name="Complete", code="CMPLT") >>> status2 = Status(name="Work in Progress", code="WIP") >>> status3 = Status(name="Pending Review", code="PRev") >>> a_status_list = StatusList(name="Asset Status List", statuses=[status1, status2, status3], target_entity_type="Asset") >>> a_status_list[0] <Status (Complete, CMPLT)> >>> a_status_list["complete"] <Status (Complete, CMPLT)> >>> a_status_list["WIP"] <Status (Work in Progress, WIP)>
Parameters: - statuses – This is a list of
Status
instances, so you can prepare different StatusLists for different kind of entities using the same pool ofStatus
es. - target_entity_type –
use this parameter to specify the target entity type that this StatusList is designed for. It accepts classes or names of classes.
For example:
from stalker import Status, StatusList, Project status_list = [ Status(name=”Waiting To Start”, code=”WTS”), Status(name=”On Hold”, code=”OH”), Status(name=”In Progress”, code=”WIP”), Status(name=”Waiting Review”, code=”WREV”), Status(name=”Approved”, code=”APP”), Status(name=”Completed”, code=”CMPLT”), ] project_status_list = StatusList( name=”Project Status List”, statuses=status_list, target_entity_type=”Project” ) # or project_status_list = StatusList( name=”Project Status List”, statuses=status_list, target_entity_type=Project )
now with the code above you can not assign the
project_status_list
object to any other class than aProject
object.The StatusList instance can be empty, means it may not have anything in its
StatusList.statuses
. But it is useless. The validation for empty statuses list is left to the SOM user.
-
__init__
(statuses=None, target_entity_type=None, **kwargs)¶
Methods
__init__
([statuses, target_entity_type])Attributes
created_by
The User
who has created this object.created_by_id
The id of the User
who has created this entity.date_created
A datetime.datetime
instance showing the creation date and time of this object.date_updated
A datetime.datetime
instance showing the update date and time of this object.description
Description of this object. entity_groups
entity_id
entity_type
generic_data
This attribute can hold any kind of data which exists in SOM. generic_text
This attribute can hold any text. html_class
html_style
id
metadata
name
Name of this object nice_name
Nice name of this object. notes
All the Notes
s attached to this entity.plural_class_name
the plural name of this class query
status_list_id
statuses
List of Status
objects, showing the possible statusestags
A list of tags attached to this object. target_entity_type
The entity type which this object is valid for. thumbnail
thumbnail_id
tjp_id
returns TaskJuggler compatible id to_tjp
renders a TaskJuggler compliant string used for TaskJuggler type
The type of the object. type_id
The id of the Type
of this entity.updated_by
The User
who has updated this object.updated_by_id
The id of the User
who has updated this entity.-
date_created
¶ A
datetime.datetime
instance showing the creation date and time of this object.
-
date_updated
¶ A
datetime.datetime
instance showing the update date and time of this object.
-
description
¶ Description of this object.
-
generic_data
¶ This attribute can hold any kind of data which exists in SOM.
-
generic_text
¶ This attribute can hold any text.
-
name
¶ Name of this object
-
nice_name
¶ Nice name of this object.
It has the same value with the name (contextually) but with a different format like, all the white spaces replaced by underscores (“_”), all the CamelCase form will be expanded by underscore (_) characters and it is always lower case.
-
notes
¶ All the
Notes
s attached to this entity.It is a list of
Note
instances or an empty list, setting it to None will raise a TypeError.
-
plural_class_name
¶ the plural name of this class
A list of tags attached to this object.
It is a list of
Tag
instances which shows the tags of this object
-
target_entity_type
¶ The entity type which this object is valid for.
Usually it is set to the TargetClass directly.
-
tjp_id
¶ returns TaskJuggler compatible id
-
to_tjp
¶ renders a TaskJuggler compliant string used for TaskJuggler integration. Needs to be overridden in inherited classes.
-
type
¶ The type of the object.
It is a
Type
instance with a properType.target_entity_type
.
- statuses – This is a list of