Skip to content

Commit

Permalink
Merge pull request #777 from ae-utbm/taiste
Browse files Browse the repository at this point in the history
SAS Hotfixes
  • Loading branch information
imperosol authored Aug 9, 2024
2 parents f5cee10 + 57a8215 commit af724a1
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 2 deletions.
2 changes: 1 addition & 1 deletion core/templates/core/user_pictures.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@
from paginated routes.
In order to download all the user pictures, it may be needed
to performs multiple requests #}
const max_per_page = 1;
const max_per_page = 199;
const url = "{{ url("api:pictures") }}"
+ "?users_identified={{ object.id }}"
+ `&page_size=${max_per_page}`;
Expand Down
10 changes: 10 additions & 0 deletions sas/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,16 @@ def viewable_by(self, user: User) -> PictureQuerySet:
"""
if user.is_root or user.is_in_group(pk=settings.SITH_GROUP_SAS_ADMIN_ID):
return self.all()
if user.was_subscribed:
return self.filter(moderated=True)
# known bug : if all children of an album are also albums
# then this album is excluded, even if one of the sub-albums should be visible.
# The fs-like navigation is likely to be half-broken for non-subscribers,
# but that's ok, since non-subscribers are expected to see only the albums
# containing pictures on which they have been identified (hence, very few).
# Most, if not all, of their albums will be displayed on the
# `latest albums` section of the SAS.
# Moreover, they will still see all of their picture in their profile.
return self.filter(
Exists(Picture.objects.filter(parent_id=OuterRef("pk")).viewable_by(user))
)
Expand Down
4 changes: 3 additions & 1 deletion sas/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,9 @@ def post(self, request, *args, **kwargs):

def get_context_data(self, **kwargs):
kwargs = super().get_context_data(**kwargs)
pictures_qs = Picture.objects.viewable_by(self.request.user)
pictures_qs = Picture.objects.filter(
parent_id=self.object.parent_id
).viewable_by(self.request.user)
kwargs["form"] = self.form
kwargs["next_pict"] = (
pictures_qs.filter(id__gt=self.object.id).order_by("id").first()
Expand Down

0 comments on commit af724a1

Please sign in to comment.