Skip to content

Commit 0912a4c

Browse files
committed
Minor changes suggested by Jeff
1 parent 521dbd5 commit 0912a4c

3 files changed

Lines changed: 24 additions & 15 deletions

File tree

sasdata/fair_database/data/models.py

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,14 @@
33
from django.core.files.storage import FileSystemStorage
44

55

6+
def empty_list():
7+
return []
8+
9+
10+
def empty_dict():
11+
return {}
12+
13+
614
class Data(models.Model):
715
"""Base model for data."""
816

@@ -86,6 +94,15 @@ class Quantity(models.Model):
8694

8795

8896
class ReferenceQuantity(models.Model):
97+
"""
98+
Database models for quantities referenced by variables in an OperationTree.
99+
100+
Corresponds to the references dictionary in the QuantityHistory class in
101+
sasdata/quantity.py. ReferenceQuantities should be essentially the same as
102+
Quantities but with no operations performed on them and therefore no
103+
OperationTree.
104+
"""
105+
89106
# data value
90107
value = models.JSONField()
91108

@@ -105,14 +122,6 @@ class ReferenceQuantity(models.Model):
105122
)
106123

107124

108-
def empty_list():
109-
return []
110-
111-
112-
def empty_dict():
113-
return {}
114-
115-
116125
class MetaData(models.Model):
117126
"""Database model for scattering metadata"""
118127

@@ -178,7 +187,8 @@ class OperationTree(models.Model):
178187
null=True,
179188
)
180189

181-
# related quantity, only set for base of tree
190+
# quantity the operation produces
191+
# only set for base of tree (the most recent operation)
182192
quantity = models.OneToOneField(
183193
Quantity,
184194
on_delete=models.CASCADE,
@@ -201,6 +211,7 @@ class PublishedState(models.Model):
201211
# published
202212
published = models.BooleanField(default=False)
203213

214+
# TODO: update doi as needed when DOI generation is implemented
204215
# doi
205216
doi = models.URLField()
206217

sasdata/fair_database/fair_database/permissions.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,9 @@ def has_access(request, obj):
1414
class DataPermission(BasePermission):
1515
def has_object_permission(self, request, view, obj):
1616
if request.method == "GET":
17-
if obj.is_public or has_access(request, obj):
18-
return True
17+
return obj.is_public or has_access(request, obj)
1918
elif request.method == "DELETE":
20-
if not obj.is_public and is_owner(request, obj):
21-
return True
19+
return not obj.is_public and is_owner(request, obj)
2220
else:
2321
return is_owner(request, obj)
2422

sasdata/fair_database/user_app/tests.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,10 @@ def test_register_logout(self):
120120
self.client1.post("/auth/register/", data=self.register_data)
121121
response = self.client1.post("/auth/logout/")
122122
response2 = self.client1.get("/auth/user/")
123-
User.objects.get(username="testUser").delete()
124123
self.assertEqual(response.status_code, status.HTTP_200_OK)
125124
self.assertEqual(response.content, b'{"detail":"Successfully logged out."}')
126125
self.assertEqual(response2.status_code, status.HTTP_401_UNAUTHORIZED)
126+
User.objects.get(username="testUser").delete()
127127

128128
def test_multiple_logout(self):
129129
self.client1.post("/auth/login/", data=self.login_data_2)
@@ -142,10 +142,10 @@ def test_register_login(self):
142142
)
143143
logout_response = self.client1.post("/auth/logout/")
144144
login_response = self.client1.post("/auth/login/", data=self.login_data)
145-
User.objects.get(username="testUser").delete()
146145
self.assertEqual(register_response.status_code, status.HTTP_201_CREATED)
147146
self.assertEqual(logout_response.status_code, status.HTTP_200_OK)
148147
self.assertEqual(login_response.status_code, status.HTTP_200_OK)
148+
User.objects.get(username="testUser").delete()
149149

150150
# Test password is successfully changed
151151
def test_password_change(self):

0 commit comments

Comments
 (0)