Commit 88cf7f6a authored by Michal Čihař's avatar Michal Čihař

Move getting linked repo to SubProject manager

parent fefca754
......@@ -119,6 +119,15 @@ class SubProjectManager(models.Manager):
return self.all()
return self.filter(project__in=projects)
def get_linked(self, val):
'''
Returns subproject for linked repo.
'''
if not is_repo_link(val):
return None
project, subproject = val[10:].split('/', 1)
return self.get(slug=subproject, project__slug=project)
class TranslationManager(models.Manager):
def update_from_blob(self, subproject, code, path, force=False, request=None):
......
......@@ -62,7 +62,7 @@ from weblate.trans.util import (
is_plural, split_plural, join_plural,
get_source, get_target,
is_translated, get_user_display,
is_repo_link, get_linked_repo,
is_repo_link,
)
from weblate.trans.validators import (
validate_repoweb,
......@@ -639,7 +639,7 @@ class SubProject(models.Model):
'''
Returns subproject for linked repo.
'''
return get_linked_repo(self.repo)
return SubProject.get_linked(self.repo)
@property
def git_repo(self):
......
......@@ -204,14 +204,3 @@ def is_repo_link(val):
Checks whethere repository is just a link for other one.
'''
return val.startswith('weblate://')
def get_linked_repo(val):
'''
Returns subproject for linked repo.
'''
if not is_repo_link(val):
return None
project, subproject = val[10:].split('/', 1)
from weblate.trans.models import SubProject
return SubProject.objects.get(slug=subproject, project__slug=project)
......@@ -67,7 +67,7 @@ def validate_repo(val):
'''
from weblate.trans.models import SubProject
try:
repo = get_linked_repo(val)
repo = SubProject.get_linked(val)
if repo is not None and repo.is_repo_link():
raise ValidationError(_('Can not link to linked repository!'))
except SubProject.DoesNotExist:
......
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