diff --git a/epdb/legacy_api.py b/epdb/legacy_api.py
index d2153a6e..952d4d5d 100644
--- a/epdb/legacy_api.py
+++ b/epdb/legacy_api.py
@@ -386,23 +386,50 @@ class PackageSchema(Schema):
@staticmethod
def resolve_readers(obj: Package):
- users = User.objects.filter(
- id__in=UserPackagePermission.objects.filter(
- package=obj, permission=UserPackagePermission.READ[0]
- ).values_list("user", flat=True)
- ).distinct()
+ readers = []
- return [{u.id: u.get_name()} for u in users]
+ user_ids = UserPackagePermission.objects.filter(package=obj).values_list("user", flat=True)
+
+ users = User.objects.filter(id__in=user_ids).distinct()
+
+ for u in users:
+ readers.append({"id": str(u.url), "identifier": "user", "name": u.get_name()})
+
+ group_ids = GroupPackagePermission.objects.filter(package=obj).values_list(
+ "group", flat=True
+ )
+
+ groups = Group.objects.filter(id__in=group_ids).distinct()
+
+ for g in groups:
+ readers.append({"id": str(g.url), "identifier": "group", "name": g.get_name()})
+
+ return readers
@staticmethod
def resolve_writers(obj: Package):
- users = User.objects.filter(
- id__in=UserPackagePermission.objects.filter(
- package=obj, permission=UserPackagePermission.WRITE[0]
- ).values_list("user", flat=True)
- ).distinct()
+ writers = []
- return [{u.id: u.get_name()} for u in users]
+ user_ids = UserPackagePermission.objects.filter(
+ package=obj,
+ permission__in=[UserPackagePermission.WRITE[0], UserPackagePermission.ALL[0]],
+ ).values_list("user", flat=True)
+
+ users = User.objects.filter(id__in=user_ids).distinct()
+
+ for u in users:
+ writers.append({"id": str(u.url), "identifier": "user", "name": u.get_name()})
+
+ group_ids = GroupPackagePermission.objects.filter(
+ package=obj, permission=[UserPackagePermission.WRITE[0], UserPackagePermission.ALL[0]]
+ ).values_list("group", flat=True)
+
+ groups = Group.objects.filter(id__in=group_ids).distinct()
+
+ for g in groups:
+ writers.append({"id": str(g.url), "identifier": "group", "name": g.get_name()})
+
+ return writers
@staticmethod
def resolve_review_comment(obj):
diff --git a/static/js/pw.js b/static/js/pw.js
index 26f4d870..7bf7fff7 100644
--- a/static/js/pw.js
+++ b/static/js/pw.js
@@ -463,7 +463,7 @@ function draw(pathway, elem) {
// TODO needs to be generic once we store it as AddInf
for (var s of n.predicted_properties["PepperPrediction"]) {
if (s["mean"] != null) {
- tempContent += "DT50 predicted via Pepper: " + s["mean"].toFixed(2) + "
"
+ tempContent += "DT50 predicted via Pepper: " + s["mean"].toFixed(2) + " days
"
}
}
}