Skip to content

Commit d3dda21

Browse files
committed
Updates to enable fixture for test.portal
Changes to be committed: modified: api/apps.py modified: api/model/groups.py modified: api/model/prefix.py modified: api/models.py new file: bcodb/fixtures/test_portal.json new file: token.json
1 parent 4887ed5 commit d3dda21

File tree

6 files changed

+6570
-13
lines changed

6 files changed

+6570
-13
lines changed

api/apps.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,7 @@ class ApiConfig(AppConfig):
2020
def ready(self):
2121
"""Create the anonymous user if they don't exist."""
2222

23-
if not 'test' in sys.argv:
24-
post_migrate.connect(populate_models, sender=self)
23+
if 'test' in sys.argv or 'loaddata' in sys.argv or 'flush' in sys.argv:
24+
return
25+
else:
26+
post_migrate.connect(populate_models, sender=self)

api/model/groups.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -448,7 +448,10 @@ def associate_user_group(sender, instance, created, **kwargs):
448448
if the user isn't anon or the already existent bco_drafter or bco_publisher.
449449
"""
450450

451-
if not 'test' in sys.argv:
451+
if 'test' in sys.argv or 'loaddata' in sys.argv:
452+
return
453+
454+
else:
452455
if created:
453456
print(instance)
454457
Group.objects.create(name=instance)

api/model/prefix.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -681,7 +681,10 @@ def create_permissions_for_prefix(sender, instance=None, **kwargs):
681681
# owner_user=User.objects.get(username='wheel')
682682
# )
683683

684-
if not 'test' in sys.argv:
684+
if 'test' in sys.argv or 'loaddata' in sys.argv:
685+
return
686+
687+
else:
685688
owner_user = User.objects.get(username=instance.owner_user)
686689
owner_group = Group.objects.get(name=instance.owner_group_id)
687690
drafters = Group.objects.get(name=instance.prefix.lower() + "_drafter")

api/models.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
Source: https://www.django-rest-framework.org/api-guide/authentication/#generating-tokens
2222
"""
2323

24+
import sys
2425
from django.db import models
2526
from django.conf import settings
2627
from django.contrib.auth.models import Group, User
@@ -125,15 +126,18 @@ def create_auth_token(sender, instance=None, created=False, **kwargs):
125126
"""Link user creation to token generation.
126127
Source: https://www.django-rest-framework.org/api-guide/authentication/#generating-tokens
127128
"""
128-
if created:
129-
# The anonymous user's token is hard-coded
130-
# in server.conf.
131-
if instance.username == "anon":
132-
# Create anon's record with the hard-coded key.
133-
Token.objects.create(user=instance, key=settings.ANON_KEY)
134-
else:
135-
# Create a normal user's record.
136-
Token.objects.create(user=instance)
129+
if 'loaddata' in sys.argv:
130+
return
131+
else:
132+
if created:
133+
# The anonymous user's token is hard-coded
134+
# in server.conf.
135+
if instance.username == "anon":
136+
# Create anon's record with the hard-coded key.
137+
Token.objects.create(user=instance, key=settings.ANON_KEY)
138+
else:
139+
# Create a normal user's record.
140+
Token.objects.create(user=instance)
137141

138142

139143
# Link object deletion to object permissions deletion.

0 commit comments

Comments
 (0)