Coverage for baibu/localization/permissions.py: 100%

8 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2026-10-06 13:07 +0000

1"""Who may translate. 

2 

3Anyone with the ``localization.edit_translations`` permission may edit and 

4publish translations. A ``translators`` group with that permission is created 

5on ``migrate``; add people to it in the admin. 

6""" 

7 

8PERMISSION = "localization.edit_translations" 

9TRANSLATORS_GROUP = "translators" 

10 

11 

12def ensure_translators_group(**kwargs) -> None: 

13 from django.contrib.auth.models import Group 

14 from django.contrib.auth.models import Permission 

15 

16 permission = Permission.objects.filter( 

17 content_type__app_label="localization", codename="edit_translations" 

18 ).first() 

19 if permission is None: # pragma: no cover - created by the same migrate run 

20 return 

21 group, _created = Group.objects.get_or_create(name=TRANSLATORS_GROUP) 

22 group.permissions.add(permission)