Bases: stalker.core.models.Entity, stalker.core.mixins.StatusMixin, stalker.core.mixins.ScheduleMixin, stalker.core.mixins.ProjectMixin
Manages Task related data.
Tasks are the smallest meaningful part that should be accomplished to complete the a Project.
In Stalker, currently these items supports Tasks:
If you want to have your own class to be taskable user the TaskMixin to add the ability to connect a Task to it.
The Task class itself is mixed with StatusMixin and ScheduleMixin. To be able to give the Task a Status and a start and end time.
Parameters: |
|
---|
Methods
__init__(**kwargs[, depends, effort, ...]) |
Attributes
bookings | A list of Booking objects |
code | The code name of this object. |
complete | A bool value showing if this task is completed or not. |
created_by | The User who has created this object. |
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. |
depends | A list of Tasks that this one is depending on. |
description | Description of this object. |
due_date | The date that the entity should be delivered. |
duration | The overriden duration attribute. |
effort | The total effort that needs to be spend to complete this Task. |
milestone | Specifies if this Task is a milestone. |
name | Name of this object |
nice_name | Nice name of this object. |
notes | All the notes about this entity. |
part_of | The :class:`~satlker.core.models.SimpleEntity derivative that this Task is a part of. |
priority | The priority of the current Task. |
project | A Project instance showing the |
resources | The list of stalker.core.models.Users instances |
start_date | The date that this entity should start. |
status | The current status index of the object. |
status_list | The list of statuses that this object can have. |
tags | A list of tags attached to this object. |
type | The type of the object. |
updated_by | The User who has updated this object. |
versions | A list of Version instances |
A list of Booking objects showing who and when spent how much effort on this task.
A bool value showing if this task is completed or not.
There is a good article about why not to use an attribute called percent_complete to measure how much the task is completed.
A list of Tasks that this one is depending on.
A CircularDependencyError will be raised when the task dependency creates a circlar dependency which means it is not allowed to create a dependency for this Task which is depending on another one which in some way depends to this one again.
The overriden duration attribute.
It is a datetime.timedelta instance. Showing the difference of the start_date and the due_date. If edited it changes the due_date attribute value.
The total effort that needs to be spend to complete this Task.
Can be used to create an initial bid of how long this task going to take. The effort is equaly divided to the assigned resources. So if the effort is 10 days and 2 resources is assigned then the duration of the task is going to be 5 days (if both of the resources are free to work). The default value is stalker.conf.defaults.DEFAULT_TASK_DURATION.
The effort defines the duration of the task. Every resource is counted equally effective and the duration will be calculated by the simple formula:
And changing the duration will also effect the effort spend. The effort will be calculated with the formula:
Specifies if this Task is a milestone.
Milestones doesn’t need any duration, any effort and any resources. It is used to create meaningfull dependencies between the critical stages of the project.
The list of stalker.core.models.Users instances assigned to this Task.
The :class:`~satlker.core.models.SimpleEntity derivative that this Task is a part of.
The priority of the current Task.
It is a number between 0 and 1000 shows how important this task is among the others.
The code name of this object.
It accepts string or unicode values and any other kind of objects will be converted to string. In any update to the name attribute the code also will be updated. If the code is not initialized or given as None, it will be set to the uppercase version of the nice_name attribute. Setting the code attribute to None will reset it to the default value. The default value is the upper case form of the nice_name.
A datetime.datetime instance showing the creation date and time of this object.
A datetime.datetime instance showing the update date and time of this object.
Description of this object.
The date that the entity should be delivered.
The due_date can be set to a datetime.timedelta and in this case it will be calculated as an offset from the start_date and converted to datetime.date again. Setting the start_date to a date passing the due_date will also set the due_date so the timedelta between them is preserved, default value is 10 days
Name of this object
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.
There is also the code attribute which is simply the upper case form of nice_name if it is not defined differently (i.e set to another value).
All the notes about this entity.
It is a list of Note objects or an empty list, None will be converted to an empty list.
The date that this entity should start.
Also effects the due_date attribute value in certain conditions, if the start_date is set to a time passing the due_date it will also offset the due_date to keep the duration value fixed. start_date should be an instance of class:datetime.date and the default value is datetime.date.today()
The current status index of the object.
This is an integer value and shows the index of the Status object in the StatusList of this object.
The list of statuses that this object can have.
A list of tags attached to this object.
It is a list of Tag instances which shows the tags of this object
The type of the object.
It is an instance of Type with a proper target_entity_type.