{% extends 'base.html' %}
{% block title %}
PyTasks - About - Task life cycle
{% endblock %}
{% block content %}
The task is created by a user and will start life in unpublished state. The creator has all rights over the task. The task in this
stage will be visible only to the creator. He can anyways request other users to view and review the task. Then the requested user
can view the task untill he does not reply to the request. If the user accepts the request, he can view, edit and comment on the task.
The user can also add/remove subtasks or dependencies. If he rejects the request he is just like other users and cannot view the task.
When the creator decides the task is ready to be published, he publishes the task. Through out this phase,
the creator of the task can delete the task at any point in time.
<br /><br />
If the task survives and is published, the task is available to be viewed by all the users. The task cannot be edited after this
point but subtasks/dependencies can be added/removed. If the task has subtasks, the task is locked forever. It implies that the task
cannot be claimed by anyone and exists only to show all of its subtasks in one place.<br /><br />
If a task has dependencies, the task is locked untill all of its dependencies are completed. If all its dependencies are completed,
the task is open for claims and can be claimed by users.
If a task has neither subtasks nor dependencies, it is open as well and users claim the task. Any of the reviewers can select user(s)
from the claimed users to work on the task . Dependencies can be added/removed only untill a user is selected to work on the task. This is due
to the fact that user had a chance to claim when the task had no dependencies or all its dependencies were satisfied.
Also selecting a user to work on the task implies the task has all its dependencies satisfied.<br /><br />
During the working stage of task, a reviewer can request assign of pynts to users working on task or the reviewers. The assign pynts link
will be available to reviewer on the task page. If there are no users working, the reviewer can request assign of pynts to himself
or one of the other reviewers, who ever has done work on the task. Even if there are no users working on task, if there is a
request for assign of pynts to the task implies that someone has worked on the task and hence dependencies cannot be
added after that.<br /><br />
The users can be selected to work or removed from working users at any point in time. If a user is removed, he can claim again
to request to continue working on the task. If a user is removed, all the pending requests for assigning pynts to user will be made invalid.
After a considerable amount of work has been done and all the users and reviewers have been assigned pynts properly, any reviewer in the
task can mark the task as complete. The link is available on assign pynts page just in case
the reviewer wants to assign more pynts before marking the task as complete.<br/>
If a reviewer feels that the task is invalid or decides to delete the task, he will not be allowed to do it. Instead he can close the task
by providing a closing message. The link to close task will be available to reviewers on the task page itself.<br /><br/>
Now all this can be done by any of the reviewers and hence think twice before you request a user to reviewer the task.
{% endblock %}