Commit 13356b81 authored by Michal Čihař's avatar Michal Čihař

Better validation of project links

We should properly report errors in project links, not fail on
incomplete ones.

Closes #379
parent c6e7fab1
......@@ -422,6 +422,26 @@ class SubProjectTest(RepoTestCase):
project.full_clean
)
# Bad link
project.repo = 'weblate://foo'
project.push = ''
self.assertRaisesMessage(
ValidationError,
'Invalid link to Weblate project, '
'use weblate://project/subproject.',
project.full_clean
)
# Bad link
project.repo = 'weblate://foo/bar'
project.push = ''
self.assertRaisesMessage(
ValidationError,
'Invalid link to Weblate project, '
'use weblate://project/subproject.',
project.full_clean
)
# Translation validation
translation = project.translation_set.get(language_code='cs')
translation.full_clean()
......
......@@ -85,8 +85,13 @@ def validate_repo(val):
repo = SubProject.objects.get_linked(val)
if repo is not None and repo.is_repo_link():
raise ValidationError(_('Can not link to linked repository!'))
except SubProject.DoesNotExist:
raise ValidationError(_('Invalid link to repository!'))
except (SubProject.DoesNotExist, ValueError):
raise ValidationError(
_(
'Invalid link to Weblate project, '
'use weblate://project/subproject.'
)
)
def validate_autoaccept(val):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment