mirror of
https://github.com/ajurna/cbwebreader.git
synced 2025-12-06 06:17:17 +00:00
Merge pull request #79
* resetting a users password forgot to save. * resetting a users password forgot to save.
This commit is contained in:
@@ -7,7 +7,8 @@ from typing import NamedTuple, List, Optional, Union
|
||||
import rarfile
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.models import User
|
||||
from django.db.models import Count, Q, F, Case, When, PositiveSmallIntegerField, QuerySet
|
||||
from django.db.models import Count, Q, F, Case, When, PositiveSmallIntegerField, QuerySet, ExpressionWrapper, \
|
||||
IntegerField
|
||||
|
||||
from comic import models
|
||||
from comic.errors import NotCompatibleArchive
|
||||
@@ -27,8 +28,8 @@ def generate_directory(user: User, directory: Optional[models.Directory] = None)
|
||||
total=Count('comicbook', distinct=True),
|
||||
progress=Count('comicbook__comicstatus', Q(comicbook__comicstatus__finished=True,
|
||||
comicbook__comicstatus__user=user), distinct=True),
|
||||
finished=Q(total=F('progress')),
|
||||
unread=Q(total__gt=F('progress'))
|
||||
finished=ExpressionWrapper(Q(total=F('progress')), output_field=IntegerField()),
|
||||
unread=ExpressionWrapper(Q(total__gt=F('progress')), output_field=IntegerField()),
|
||||
)
|
||||
files.extend(dir_db_query)
|
||||
|
||||
|
||||
@@ -63,6 +63,7 @@ class UserViewSet(viewsets.ModelViewSet): # pylint: disable=too-many-ancestors
|
||||
if target_user.username == serializer.data['username']:
|
||||
password = User.objects.make_random_password()
|
||||
target_user.set_password(password)
|
||||
target_user.save()
|
||||
resp_serializer = self.get_serializer({
|
||||
'username': target_user.username,
|
||||
'password': password
|
||||
@@ -115,6 +116,9 @@ class BrowseViewSet(viewsets.GenericViewSet):
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
lookup_field = 'selector'
|
||||
|
||||
def get_queryset(self):
|
||||
return
|
||||
|
||||
def list(self, request: Request) -> Response:
|
||||
serializer = self.get_serializer(generate_directory(request.user), many=True)
|
||||
return Response(serializer.data)
|
||||
|
||||
Reference in New Issue
Block a user