mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
* Fixes: #14840 - Forces API to use proxy model * Update tests to use proxy model * Revert "Update tests to use proxy model" This reverts commit1d784cfe5d
. * Revert "Fixes: #14840 - Forces API to use proxy model" This reverts commitdf85cc967c
. * More realistic change to resole issue with netboxusers-list * Revert "More realistic change to resole issue with netboxusers-list" This reverts commit15df8082aa
. * Fixes: #14840 - Better fix for netboxusers-list * Swap model for serializer from proxy model
This commit is contained in:
@ -27,6 +27,13 @@ def get_serializer_for_model(model, prefix=''):
|
|||||||
# Serializers for Django's auth models are in the users app
|
# Serializers for Django's auth models are in the users app
|
||||||
if app_name == 'auth':
|
if app_name == 'auth':
|
||||||
app_name = 'users'
|
app_name = 'users'
|
||||||
|
# Account for changes using Proxy model
|
||||||
|
if app_name == 'users':
|
||||||
|
if model_name == 'NetBoxUser':
|
||||||
|
model_name = 'User'
|
||||||
|
elif model_name == 'NetBoxGroup':
|
||||||
|
model_name = 'Group'
|
||||||
|
|
||||||
serializer_name = f'{app_name}.api.serializers.{prefix}{model_name}Serializer'
|
serializer_name = f'{app_name}.api.serializers.{prefix}{model_name}Serializer'
|
||||||
try:
|
try:
|
||||||
return dynamic_import(serializer_name)
|
return dynamic_import(serializer_name)
|
||||||
|
@ -52,6 +52,8 @@ def get_viewname(model, action=None, rest_api=False):
|
|||||||
# Alter the app_label for group and user model_name to point to users app
|
# Alter the app_label for group and user model_name to point to users app
|
||||||
if app_label == 'auth' and model_name in ['group', 'user']:
|
if app_label == 'auth' and model_name in ['group', 'user']:
|
||||||
app_label = 'users'
|
app_label = 'users'
|
||||||
|
if app_label == 'users' and model._meta.proxy and model_name in ['netboxuser', 'netboxgroup']:
|
||||||
|
model_name = model._meta.proxy_for_model._meta.model_name
|
||||||
|
|
||||||
viewname = f'{app_label}-api:{model_name}'
|
viewname = f'{app_label}-api:{model_name}'
|
||||||
# Append the action, if any
|
# Append the action, if any
|
||||||
|
Reference in New Issue
Block a user