Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
L
library-app-django
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ilham Maulana
library-app-django
Commits
c6257697
Commit
c6257697
authored
Jul 14, 2024
by
Ilham Maulana
💻
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: member loan api,
fix: deactivated search book loan
parent
46a43802
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
20 additions
and
3 deletions
+20
-3
views.py
api/loans/views.py
+11
-3
urls.py
api/urls.py
+9
-0
No files found.
api/loans/views.py
View file @
c6257697
...
...
@@ -4,15 +4,14 @@ from rest_framework.response import Response
from
rest_framework.filters
import
SearchFilter
from
django_filters.rest_framework
import
DjangoFilterBackend
from
.serializers
import
BookLoan
,
BookLoanSerializer
from
.serializers
import
BookLoan
,
BookLoanSerializer
,
MemberLoanSerializer
class
BookLoanViewSet
(
viewsets
.
ModelViewSet
):
queryset
=
BookLoan
.
objects
.
all
()
.
order_by
(
"loan_date"
)
serializer_class
=
BookLoanSerializer
filter_backends
=
[
DjangoFilterBackend
,
SearchFilter
]
filterset_fields
=
[
"loan_date"
,
"due_date"
,
"return_date"
,
"member__id"
]
search_fields
=
[
"book__title"
,
"member__name"
]
filterset_fields
=
[
"loan_date"
,
"due_date"
,
"return_date"
]
def
update
(
self
,
request
,
pk
):
instance
=
self
.
get_object
()
...
...
@@ -40,3 +39,12 @@ class UpComingBookLoanViewSet(BookLoanViewSet):
.
filter
(
due_date__gte
=
now
)
.
order_by
(
"loan_date"
)
)
class
MemberLoanViewSet
(
BookLoanViewSet
):
queryset
=
BookLoan
.
objects
.
all
()
serializer_class
=
MemberLoanSerializer
def
get_queryset
(
self
):
member_id
=
self
.
kwargs
.
get
(
"member_id"
)
return
BookLoan
.
objects
.
filter
(
member__id
=
member_id
)
.
order_by
(
"loan_date"
)
api/urls.py
View file @
c6257697
...
...
@@ -14,6 +14,7 @@ from .loans.views import (
BookLoanViewSet
,
OverduedBookLoanViewSet
,
UpComingBookLoanViewSet
,
MemberLoanViewSet
,
)
...
...
@@ -30,6 +31,9 @@ router.register(
r"upcoming-loans"
,
UpComingBookLoanViewSet
,
basename
=
"book_loans_upcoming"
)
router_member_loan
=
routers
.
DefaultRouter
()
router_member_loan
.
register
(
r"loans"
,
MemberLoanViewSet
,
basename
=
"member_loans"
)
urlpatterns
=
[
path
(
""
,
include
(
router
.
urls
)),
# auth
...
...
@@ -39,4 +43,9 @@ urlpatterns = [
),
path
(
"members/auth/login"
,
MemberLoginView
.
as_view
(),
name
=
"member_login"
),
path
(
"members/auth/logout"
,
MemberLogoutView
.
as_view
(),
name
=
"member_logout"
),
path
(
"members/<int:member_id>/"
,
include
(
router_member_loan
.
urls
),
name
=
"member_loans"
,
),
]
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment