Allow sorting by Last Scanned

This commit is contained in:
2021-11-12 04:16:19 +00:00
parent 66784c457a
commit e511723c07
5 changed files with 60 additions and 39 deletions

View File

@@ -59,6 +59,7 @@ class Member(models.Model):
monthly_fees = models.IntegerField(default=55, blank=True, null=True)
is_allowed_entry = models.BooleanField(default=True)
discourse_username = models.CharField(default='', max_length=40, blank=True, null=True)
allow_last_scanned = models.BooleanField(default=True)
history = HistoricalRecords(excluded_fields=['member_forms'])

View File

@@ -119,6 +119,12 @@ class SearchViewSet(Base, Retrieve):
elif self.action == 'create' and sort == 'overdue':
queryset = queryset.filter(status='Overdue')
queryset = queryset.order_by('expire_date')
elif self.action == 'create' and sort == 'last_scanned':
if self.request.user.member.allow_last_scanned:
queryset = queryset.filter(allow_last_scanned=True)
queryset = queryset.order_by('-user__cards__last_seen_at')
else:
queryset = []
elif self.action == 'create' and sort == 'best_looking':
queryset = []