Commit ab08da28 authored by Michal Čihař's avatar Michal Čihař

Adjust code to multiple owners situation

Issue #719
Signed-off-by: default avatarMichal Čihař <michal@cihar.com>
parent 180bab94
......@@ -70,9 +70,9 @@ def notify_merge_failure(subproject, error, status):
)
users.add(subscription.user_id)
if subproject.project.owner and subproject.project.owner_id not in users:
for owner in subproject.project.owners.all():
mails.append(
subproject.project.owner.profile.notify_merge_failure(
owner.profile.notify_merge_failure(
subproject, error, status
)
)
......@@ -126,9 +126,9 @@ def notify_new_language(subproject, language, user):
)
users.add(subscription.user_id)
if subproject.project.owner and subproject.project.owner_id not in users:
for owner in subproject.project.owners.all():
mails.append(
subproject.project.owner.profile.notify_new_language(
owner.profile.notify_new_language(
subproject, language, user
)
)
......
......@@ -566,7 +566,7 @@ class NotificationTest(ViewTestCase):
)
# Add project owner
self.subproject.project.owner = self.second_user()
self.subproject.project.owners.add(self.second_user())
notify_merge_failure(
self.subproject,
'Failed merge',
......@@ -620,7 +620,7 @@ class NotificationTest(ViewTestCase):
)
# Add project owner
self.subproject.project.owner = second_user
self.subproject.project.owners.add(second_user)
notify_new_language(
self.subproject,
Language.objects.filter(code='de'),
......
......@@ -28,7 +28,7 @@ def check_owner(user, project, permission):
"""
Checks whether owner group has given permission.
"""
if user != project.owner:
if not project.owners.filter(id=user.id).exists():
return False
group = Group.objects.get(name='Owners')
app, perm = permission.split('.')
......
......@@ -31,7 +31,8 @@ class PermissionsTest(TestCase):
self.user = User.objects.create_user('user', 'test@example.com', 'x')
self.owner = User.objects.create_user('owner', 'test@example.com', 'x')
self.owner.groups.add(Group.objects.get(name='Owners'))
self.project = Project.objects.create(slug='test', owner=self.owner)
self.project = Project.objects.create(slug='test')
self.project.owners.add(self.owner)
def test_owner_owned(self):
self.assertTrue(
......
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