This patch introduces the ability to view relations between submissions by creating and updating them via the REST API.
Changes since v3: - Redesign relations part in submissions view - Add missing fixes tag in 'docs: Add missing series index schema' - Show more than just the submission ids in the REST API (by Daniel Axtens) - Add a "by" column to SubmissionRelation to identify who is doing what - Restrict relation changes to submissions that are already part of another relation (returns HTTP code 409 CONFLICT) - Add test for conflicting submissions in relations - Clarify MaintainerPermission with some comments - Optimize db access in submission.html and in the relations REST API - Remove submission_count ordering for relations - Remove RelationError openAPI schema (formerly used for bulk operations) Note: - Kept one-to-many instead of many-to-many for submissions in relations. - Kept all tests in test_relation. They are not that comprehensive. They just test the same thing for different users (maintainer/non-maintainer/anonymous). I had to write all combinations manually as not every python version we support allows generating test cases automatically. They also helped me a lot in finding permission issues. Mete Polat (4): ui, templates: Combine series and related row models, templates: Add submission relations docs: Add missing series index schema REST: Add submission relations docs/api/schemas/latest/patchwork.yaml | 278 +++++++++++++++++ docs/api/schemas/patchwork.j2 | 290 ++++++++++++++++++ docs/api/schemas/v1.0/patchwork.yaml | 5 + docs/api/schemas/v1.1/patchwork.yaml | 5 + docs/api/schemas/v1.2/patchwork.yaml | 278 +++++++++++++++++ htdocs/css/style.css | 2 +- patchwork/api/embedded.py | 39 +++ patchwork/api/index.py | 1 + patchwork/api/relation.py | 121 ++++++++ .../migrations/0038_submission_relations.py | 30 ++ patchwork/models.py | 16 + patchwork/templates/patchwork/submission.html | 94 ++++-- patchwork/tests/api/test_relation.py | 181 +++++++++++ patchwork/tests/utils.py | 15 + patchwork/urls.py | 11 + patchwork/views/patch.py | 7 + ...submission-relations-c96bb6c567b416d8.yaml | 10 + 17 files changed, 1351 insertions(+), 32 deletions(-) create mode 100644 patchwork/api/relation.py create mode 100644 patchwork/migrations/0038_submission_relations.py create mode 100644 patchwork/tests/api/test_relation.py create mode 100644 releasenotes/notes/add-submission-relations-c96bb6c567b416d8.yaml -- 2.24.0 _______________________________________________ Patchwork mailing list Patchwork@lists.ozlabs.org https://lists.ozlabs.org/listinfo/patchwork