]> git.ipfire.org Git - thirdparty/patchwork.git/commit
models: Validate Project.linkname does not contain forward slash
authorThomas Bracht Laumann Jespersen <t@laumann.xyz>
Mon, 28 Sep 2020 16:37:07 +0000 (18:37 +0200)
committerStephen Finucane <stephen@that.guru>
Thu, 1 Oct 2020 14:06:41 +0000 (15:06 +0100)
commitb7a6df90802738f729bae144bc618482d9fa6840
treecbf64904bea96cf7b569178de8259f5da5579bc7
parent8f40045ff48235be2552ce2df16ba493b8b83af7
models: Validate Project.linkname does not contain forward slash

I started by creating a project that contained a forward slash
(importing patches from https://lists.sr.ht/~sircmpwn/sr.ht-dev/) and
it fails to render the "projects" main page.

The specific error reads:

    NoReverseMatch at /

    Reverse for 'patch-list' with keyword arguments
    '{'project_id': 'foo/bar'}' not found. 1 pattern(s) tried:
    ['project/(?P<project_id>[^/]+)/list/$']

which appears to explicitly disallow forward slashes.

So I think it makes sense to validate that project linkname doesn't
contain forward slahes.

This implementation uses the validate_unicode_slug validator instead of just
rejecting inputs that contain forward slashes.

Signed-off-by: Thomas Bracht Laumann Jespersen <t@laumann.xyz>
Signed-off-by: Stephen Finucane <stephen@that.guru>
Closes: #380
patchwork/migrations/0044_add_project_linkname_validation.py [new file with mode: 0644]
patchwork/models.py
releasenotes/notes/issue-380-68aaf6ee232209cc.yaml [new file with mode: 0644]