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.TargetEntityTypeMixinType specific list of
Statusinstances.Holds multiple
Statuses to be used as a choice list for several other classes.A StatusList can only be assigned to only one entity type. So a
Projectcan only have one suitable StatusList object which is designed forProjectentities.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
Statusinstances, so you can prepare different StatusLists for different kind of entities using the same pool ofStatuses. - 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_listobject to any other class than aProjectobject.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_byThe Userwho has created this object.created_by_idThe id of the Userwho has created this entity.date_createdA datetime.datetimeinstance showing the creation date and time of this object.date_updatedA datetime.datetimeinstance showing the update date and time of this object.descriptionDescription of this object. entity_groupsentity_identity_typegeneric_dataThis attribute can hold any kind of data which exists in SOM. generic_textThis attribute can hold any text. html_classhtml_styleidmetadatanameName of this object nice_nameNice name of this object. notesAll the Notess attached to this entity.plural_class_namethe plural name of this class querystatus_list_idstatusesList of Statusobjects, showing the possible statusestagsA list of tags attached to this object. target_entity_typeThe entity type which this object is valid for. thumbnailthumbnail_idtjp_idreturns TaskJuggler compatible id to_tjprenders a TaskJuggler compliant string used for TaskJuggler typeThe type of the object. type_idThe id of the Typeof this entity.updated_byThe Userwho has updated this object.updated_by_idThe id of the Userwho has updated this entity.-
date_created¶ A
datetime.datetimeinstance showing the creation date and time of this object.
-
date_updated¶ A
datetime.datetimeinstance 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
Notess attached to this entity.It is a list of
Noteinstances 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
Taginstances 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
Typeinstance with a properType.target_entity_type.
- statuses – This is a list of