Content
View differences
Updated by Bruno Pagno 5 days ago
The goal is to adjust Version Boards behaviour so that it can operate with target\_versions instead of versions.
Context:
* Boards (represented by `Boards::Grid`) have an `options` field like -> `options: {type: "action", attribute: "version"}`
* Boards have a collection of widgets that include references to queries
```text
[28] pry(main)> board.widgets
=> Grids::Widget Load (5.7ms) SELECT "grid_widgets".* FROM "grid_widgets" WHERE "grid_widgets"."grid_id" = $1 /* loading for pp */ LIMIT $2 [["grid_id", 42], ["LIMIT", 11]]
[#<Grids::Widget:0x00007f1ecef9bf98
id: 166,
start_row: 1,
end_row: 2,
start_column: 1,
end_column: 2,
identifier: "work_package_query",
options: {"queryId" => 144, "filters" => [{target_version_id: {operator: "=", values: ["25"]}}]},
grid_id: 42>,
#<Grids::Widget:0x00007f1eced8a790
id: 167,
start_row: 1,
end_row: 2,
start_column: 2,
end_column: 3,
identifier: "work_package_query",
options: {"queryId" => 145, "filters" => [{target_version_id: {operator: "=", values: ["26"]}}]},
grid_id: 42>,
#<Grids::Widget:0x00007f1eced8a650
id: 168,
start_row: 1,
end_row: 2,
start_column: 3,
end_column: 4,
identifier: "work_package_query",
options: {"queryId" => 146, "filters" => [{target_version_id: {operator: "=", values: ["27"]}}]},
grid_id: 42>,
#<Grids::Widget:0x00007f1eced8a510
id: 169,
start_row: 1,
end_row: 2,
start_column: 4,
end_column: 5,
identifier: "work_package_query",
options: {"queryId" => 147, "filters" => [{target_version_id: {operator: "=", values: ["28"]}}]},
grid_id: 42>,
#<Grids::Widget:0x00007f1eced8a3d0
id: 170,
start_row: 1,
end_row: 2,
start_column: 5,
end_column: 6,
identifier: "work_package_query",
options: {"queryId" => 148, "filters" => [{target_version_id: {operator: "=", values: ["29"]}}]},
grid_id: 42>]
```
Reference implementation:
* [https://github.com/opf/openproject/pull/22473/changes/4400a258916fdd5fa10ceeddfe09f8d6ef2a212c](https://github.com/opf/openproject/pull/22473/changes/4400a258916fdd5fa10ceeddfe09f8d6ef2a212c)
Just be aware that this is somewhat broken and unfinished.
Context:
* Boards (represented by `Boards::Grid`) have an `options` field like -> `options: {type: "action", attribute: "version"}`
* Boards have a collection of widgets that include references to queries
```text
[28] pry(main)> board.widgets
=> Grids::Widget Load (5.7ms) SELECT "grid_widgets".* FROM "grid_widgets" WHERE "grid_widgets"."grid_id" = $1 /* loading for pp */ LIMIT $2 [["grid_id", 42], ["LIMIT", 11]]
[#<Grids::Widget:0x00007f1ecef9bf98
id: 166,
start_row: 1,
end_row: 2,
start_column: 1,
end_column: 2,
identifier: "work_package_query",
options: {"queryId" => 144, "filters" => [{target_version_id: {operator: "=", values: ["25"]}}]},
grid_id: 42>,
#<Grids::Widget:0x00007f1eced8a790
id: 167,
start_row: 1,
end_row: 2,
start_column: 2,
end_column: 3,
identifier: "work_package_query",
options: {"queryId" => 145, "filters" => [{target_version_id: {operator: "=", values: ["26"]}}]},
grid_id: 42>,
#<Grids::Widget:0x00007f1eced8a650
id: 168,
start_row: 1,
end_row: 2,
start_column: 3,
end_column: 4,
identifier: "work_package_query",
options: {"queryId" => 146, "filters" => [{target_version_id: {operator: "=", values: ["27"]}}]},
grid_id: 42>,
#<Grids::Widget:0x00007f1eced8a510
id: 169,
start_row: 1,
end_row: 2,
start_column: 4,
end_column: 5,
identifier: "work_package_query",
options: {"queryId" => 147, "filters" => [{target_version_id: {operator: "=", values: ["28"]}}]},
grid_id: 42>,
#<Grids::Widget:0x00007f1eced8a3d0
id: 170,
start_row: 1,
end_row: 2,
start_column: 5,
end_column: 6,
identifier: "work_package_query",
options: {"queryId" => 148, "filters" => [{target_version_id: {operator: "=", values: ["29"]}}]},
grid_id: 42>]
```
Reference implementation:
* [https://github.com/opf/openproject/pull/22473/changes/4400a258916fdd5fa10ceeddfe09f8d6ef2a212c](https://github.com/opf/openproject/pull/22473/changes/4400a258916fdd5fa10ceeddfe09f8d6ef2a212c)
Just be aware that this is somewhat broken and unfinished.