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
0ea18f2d
Commit
0ea18f2d
authored
Jul 30, 2024
by
Ilham Maulana
💻
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: auth permission and user detail payload
parent
b354e02b
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
20 additions
and
4 deletions
+20
-4
permissions.py
api/auth/permissions.py
+1
-1
views.py
api/auth/views.py
+8
-0
serializers.py
api/loans/serializers.py
+10
-2
views.py
api/loans/views.py
+1
-1
No files found.
api/auth/permissions.py
View file @
0ea18f2d
...
@@ -18,7 +18,7 @@ class IsStaffUser(IsAuthenticated):
...
@@ -18,7 +18,7 @@ class IsStaffUser(IsAuthenticated):
return
bool
(
return
bool
(
header
is
not
None
header
is
not
None
and
verified_token
.
exists
()
and
verified_token
is
not
None
and
verified_token
.
user
.
is_staff
and
verified_token
.
user
.
is_staff
)
)
...
...
api/auth/views.py
View file @
0ea18f2d
...
@@ -93,6 +93,13 @@ class UserDetailView(views.APIView):
...
@@ -93,6 +93,13 @@ class UserDetailView(views.APIView):
user_id
=
verified_token
[
0
]
.
user
.
id
user_id
=
verified_token
[
0
]
.
user
.
id
user
=
User
.
objects
.
get
(
pk
=
user_id
)
user
=
User
.
objects
.
get
(
pk
=
user_id
)
account_id
=
None
if
user
.
is_staff
:
account_id
=
user
.
librarian
.
id
else
:
account_id
=
user
.
member
.
id
data
=
{
data
=
{
"id"
:
user
.
pk
,
"id"
:
user
.
pk
,
"username"
:
user
.
username
,
"username"
:
user
.
username
,
...
@@ -100,6 +107,7 @@ class UserDetailView(views.APIView):
...
@@ -100,6 +107,7 @@ class UserDetailView(views.APIView):
"first_name"
:
user
.
first_name
,
"first_name"
:
user
.
first_name
,
"last_name"
:
user
.
last_name
,
"last_name"
:
user
.
last_name
,
"is_staff"
:
user
.
is_staff
,
"is_staff"
:
user
.
is_staff
,
"account_id"
:
account_id
,
}
}
return
Response
(
data
,
status
=
status
.
HTTP_200_OK
)
return
Response
(
data
,
status
=
status
.
HTTP_200_OK
)
...
...
api/loans/serializers.py
View file @
0ea18f2d
...
@@ -13,7 +13,7 @@ class BookLoanSerializer(serializers.ModelSerializer):
...
@@ -13,7 +13,7 @@ class BookLoanSerializer(serializers.ModelSerializer):
def
to_representation
(
self
,
instance
):
def
to_representation
(
self
,
instance
):
data
=
super
()
.
to_representation
(
instance
)
data
=
super
()
.
to_representation
(
instance
)
remaining_loan_time
=
instance
.
due_date
.
day
-
timezone
.
now
()
.
day
remaining_loan_time
=
timezone
.
now
()
.
day
-
instance
.
due_date
.
day
data
[
"remaining_loan_time"
]
=
str
(
remaining_loan_time
)
+
" days left"
data
[
"remaining_loan_time"
]
=
str
(
remaining_loan_time
)
+
" days left"
return
data
return
data
...
@@ -23,6 +23,7 @@ class BookLoanSerializer(serializers.ModelSerializer):
...
@@ -23,6 +23,7 @@ class BookLoanSerializer(serializers.ModelSerializer):
class
MemberLoanSerializer
(
BookLoanSerializer
):
class
MemberLoanSerializer
(
BookLoanSerializer
):
book_detail
=
BookSerializer
(
source
=
"book"
,
read_only
=
True
)
is_overdue
=
serializers
.
BooleanField
(
read_only
=
True
)
is_overdue
=
serializers
.
BooleanField
(
read_only
=
True
)
def
to_representation
(
self
,
instance
):
def
to_representation
(
self
,
instance
):
...
@@ -32,4 +33,11 @@ class MemberLoanSerializer(BookLoanSerializer):
...
@@ -32,4 +33,11 @@ class MemberLoanSerializer(BookLoanSerializer):
class
Meta
:
class
Meta
:
model
=
BookLoan
model
=
BookLoan
fields
=
[
"book"
,
"loan_date"
,
"due_date"
,
"is_overdue"
]
fields
=
[
"book"
,
"book_detail"
,
"member"
,
"loan_date"
,
"due_date"
,
"is_overdue"
,
]
api/loans/views.py
View file @
0ea18f2d
...
@@ -57,4 +57,4 @@ class MemberLoanViewSet(BookLoanViewSet):
...
@@ -57,4 +57,4 @@ class MemberLoanViewSet(BookLoanViewSet):
def
get_queryset
(
self
):
def
get_queryset
(
self
):
member_id
=
self
.
kwargs
.
get
(
"member_id"
)
member_id
=
self
.
kwargs
.
get
(
"member_id"
)
return
BookLoan
.
objects
.
filter
(
member
__id
=
member_id
)
.
order_by
(
"loan_date"
)
return
BookLoan
.
objects
.
filter
(
member
=
member_id
)
.
order_by
(
"loan_date"
)
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