mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-25 01:48:38 -06:00
Fixes #5383: Fix setting user password via REST API
This commit is contained in:
parent
f8b523b97b
commit
77bbe5730b
@ -1,5 +1,13 @@
|
|||||||
# NetBox v2.9
|
# NetBox v2.9
|
||||||
|
|
||||||
|
## v2.9.11 (FUTURE)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* [#5383](https://github.com/netbox-community/netbox/issues/5383) - Fix setting user password via REST API
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## v2.9.10 (2020-11-24)
|
## v2.9.10 (2020-11-24)
|
||||||
|
|
||||||
### Enhancements
|
### Enhancements
|
||||||
|
@ -19,9 +19,23 @@ class UserSerializer(ValidatedModelSerializer):
|
|||||||
class Meta:
|
class Meta:
|
||||||
model = User
|
model = User
|
||||||
fields = (
|
fields = (
|
||||||
'id', 'url', 'username', 'first_name', 'last_name', 'email', 'is_staff', 'is_active', 'date_joined',
|
'id', 'url', 'username', 'password', 'first_name', 'last_name', 'email', 'is_staff', 'is_active',
|
||||||
'groups',
|
'date_joined', 'groups',
|
||||||
)
|
)
|
||||||
|
extra_kwargs = {
|
||||||
|
'password': {'write_only': True}
|
||||||
|
}
|
||||||
|
|
||||||
|
def create(self, validated_data):
|
||||||
|
"""
|
||||||
|
Extract the password from validated data and set it separately to ensure proper hash generation.
|
||||||
|
"""
|
||||||
|
password = validated_data.pop('password')
|
||||||
|
user = super().create(validated_data)
|
||||||
|
user.set_password(password)
|
||||||
|
user.save()
|
||||||
|
|
||||||
|
return user
|
||||||
|
|
||||||
|
|
||||||
class GroupSerializer(ValidatedModelSerializer):
|
class GroupSerializer(ValidatedModelSerializer):
|
||||||
|
@ -22,15 +22,19 @@ class UserTest(APIViewTestCases.APIViewTestCase):
|
|||||||
model = User
|
model = User
|
||||||
view_namespace = 'users'
|
view_namespace = 'users'
|
||||||
brief_fields = ['id', 'url', 'username']
|
brief_fields = ['id', 'url', 'username']
|
||||||
|
validation_excluded_fields = ['password']
|
||||||
create_data = [
|
create_data = [
|
||||||
{
|
{
|
||||||
'username': 'User_4',
|
'username': 'User_4',
|
||||||
|
'password': 'password4',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'username': 'User_5',
|
'username': 'User_5',
|
||||||
|
'password': 'password5',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'username': 'User_6',
|
'username': 'User_6',
|
||||||
|
'password': 'password6',
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user