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
230799c6
Commit
230799c6
authored
Jul 29, 2024
by
Ilham Maulana
💻
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: user profile update endpoint
parent
77f68fcb
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
18 additions
and
5 deletions
+18
-5
serializers.py
api/auth/serializers.py
+2
-5
views.py
api/auth/views.py
+14
-0
urls.py
api/urls.py
+2
-0
No files found.
api/auth/serializers.py
View file @
230799c6
...
...
@@ -11,7 +11,6 @@ class UserSerializer(serializers.ModelSerializer):
"id"
,
"username"
,
"email"
,
"password"
,
"first_name"
,
"last_name"
,
"is_staff"
,
...
...
@@ -19,10 +18,8 @@ class UserSerializer(serializers.ModelSerializer):
extra_kwargs
=
{
"password"
:
{
"write_only"
:
True
}}
def
update
(
self
,
instance
,
validated_data
):
partial
=
self
.
context
.
get
(
"is_partial"
,
False
)
return
serializers
.
ModelSerializer
.
update
(
self
,
instance
,
validated_data
,
partial
=
partial
)
partial
=
validated_data
.
get
(
"is_partial"
,
False
)
return
serializers
.
ModelSerializer
.
update
(
self
,
instance
,
validated_data
)
class
LoginHistorySerializer
(
serializers
.
ModelSerializer
):
...
...
api/auth/views.py
View file @
230799c6
...
...
@@ -19,6 +19,8 @@ from .serializers import (
Member
,
MemberSerializer
,
TokenSerializer
,
User
,
UserSerializer
,
)
from
.permissions
import
IsStaffUser
,
IsNotStaffUser
...
...
@@ -284,3 +286,15 @@ class ResetPasswordConfirmView(views.APIView):
{
"message"
:
"Reset password success"
},
status
=
status
.
HTTP_200_OK
,
)
class
UserViewSet
(
viewsets
.
ModelViewSet
):
serializer_class
=
UserSerializer
queryset
=
User
.
objects
.
all
()
.
order_by
(
"id"
)
def
update
(
self
,
request
,
pk
):
instance
=
self
.
get_object
()
serializer
=
self
.
get_serializer
(
instance
,
data
=
request
.
data
)
serializer
.
is_valid
(
raise_exception
=
True
)
serializer
.
save
()
return
Response
(
serializer
.
data
,
status
=
status
.
HTTP_200_OK
)
api/urls.py
View file @
230799c6
...
...
@@ -14,6 +14,7 @@ from .auth.views import (
TokenResetPasswordView
,
ResetPasswordConfirmView
,
UserDetailView
,
UserViewSet
,
)
from
.book.views
import
BookViewSet
,
CategoryViewSet
from
.loans.views
import
(
...
...
@@ -25,6 +26,7 @@ from .loans.views import (
router
=
routers
.
DefaultRouter
()
router
.
register
(
r"user"
,
UserViewSet
,
basename
=
"user"
)
router
.
register
(
r"librarians"
,
LibrarianViewSet
,
basename
=
"librarians"
)
router
.
register
(
r"members"
,
MemberViewSet
,
basename
=
"members"
)
router
.
register
(
r"books"
,
BookViewSet
,
basename
=
"books"
)
...
...
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