Remove project iteration
What does this MR do and why?
This MR does NOT contain any user-facing/feature change. The MR only eliminates dead code.
Project-level iterations (an iteration that belongs to a project) have been implemented but the feature was never made public. For now, iterations only belong to groups/iterations cadences and we should clean up the code related to project-level iterations. Issue #299864 (closed).
-
We should ignore
project_id
in the Iteration model so we can drop the columnproject_id
in the next release. -
Remove the dead model code pertaining to project-level iterations.
-
Various rspecs, unfortunately, have used project-level iterations and we need to replace them with group-level iterations.
e.g.,
create(:iteration, project: project)
=>create(:iteration, group: group)
orcreate(:iteration, iterations_cadence: cadence)
-
The concern
Timebox
needs to be refactored/decomposed. The concern was originally created to contain the logic shared between timebox-like objects that can either belong to a project or a group. Because iterations do not belong to projects, using the concern in the Iteration model has often created frictions.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.