Objectives
Intro
Objectives form part of OPTTs (Objectives Projects Tasks and Targets).
Objectives belong to organisations and have a specific owner user and a specific creator user (automatically inferred at creation time). They are designed to be big picture holistic tasks that have a duration of 1-4 quarters of a financial year (or overlapping 2 financial years).
Observers
- When saving an objective, its
ending_yearfield is calculated based on the inputted data (starting_quarter,duration). - When saving an objective, its
energy_pointsfield is calculated based on duration and the configuredflowcode.energy_points_objective_multiplier
Jobs
UpdateObjectiveStatusis a job which updates the status of the objective based on whether it's overdue.
Relationships
Objectives have several key relationships:
- Belongs to
owner- this is a manually edited required field - Belongs to
creator- this is automatically inferred by the user creating the objective - Belongs to
organisation- this is automatically inferred by the creator's active organisation
Relationships used for frontend filtering:
- Belongs to many
departments(Department) - Belongs to many
division(Division) - Belongs to
owner
Other relationships which are not yet used elsewhere in the app (at the time of writing 03/2023):
These relationships aren't yet used other than to display in the objective modal, but may serve some future purposes in the roadmap
- Belongs to many
contributors(User) - Has many
milestones(Milestone) - Has many
budgets(Budget) - Has many
recruitments(Recruitment) - Has many
risks(Risks) - Has many
linkedOptts(LinkedOptt)
Relationship to elements. This is used when an OPTT is created on the fly while completing the catalogues:
- Belongs to many
elements(Element)