mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-25 00:36:11 -06:00
12589 user bulk import
This commit is contained in:
parent
1a33637e08
commit
68cd6efca6
@ -1,17 +1,39 @@
|
||||
from django import forms
|
||||
|
||||
from users.models import NetBoxGroup
|
||||
from netbox.forms import NetBoxModelImportForm
|
||||
from users.models import NetBoxGroup, NetBoxUser
|
||||
from utilities.forms import CSVModelForm
|
||||
|
||||
__all__ = (
|
||||
'GroupImportForm',
|
||||
'UserImportForm',
|
||||
)
|
||||
|
||||
|
||||
class GroupImportForm(NetBoxModelImportForm):
|
||||
class GroupImportForm(CSVModelForm):
|
||||
|
||||
class Meta:
|
||||
model = NetBoxGroup
|
||||
fields = (
|
||||
'name',
|
||||
)
|
||||
|
||||
|
||||
class UserImportForm(CSVModelForm):
|
||||
|
||||
class Meta:
|
||||
model = NetBoxUser
|
||||
fields = (
|
||||
'username', 'first_name', 'last_name', 'email', 'password', 'is_staff',
|
||||
'is_active', 'is_superuser'
|
||||
)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
edited = getattr(self, 'instance', None)
|
||||
instance = super().save(*args, **kwargs)
|
||||
|
||||
# On edit, check if we have to save the password
|
||||
if edited and self.cleaned_data.get("password"):
|
||||
instance.set_password(self.cleaned_data.get("password"))
|
||||
instance.save()
|
||||
|
||||
return instance
|
||||
|
@ -16,6 +16,7 @@ urlpatterns = [
|
||||
path('users/', views.NetBoxUserListView.as_view(), name='netboxuser_list'),
|
||||
path('users/add/', views.NetBoxUserEditView.as_view(), name='netboxuser_add'),
|
||||
path('users/edit/', views.NetBoxUserBulkEditView.as_view(), name='netboxuser_bulk_edit'),
|
||||
path('users/import/', views.NetBoxUserBulkImportView.as_view(), name='netboxuser_import'),
|
||||
path('users/delete/', views.NetBoxUserBulkDeleteView.as_view(), name='netboxuser_bulk_delete'),
|
||||
path('users/<int:pk>/', include(get_model_urls('users', 'netboxuser'))),
|
||||
|
||||
|
@ -405,6 +405,11 @@ class NetBoxUserBulkEditView(generic.BulkEditView):
|
||||
form = forms.UserBulkEditForm
|
||||
|
||||
|
||||
class NetBoxUserBulkImportView(generic.BulkImportView):
|
||||
queryset = NetBoxUser.objects.all()
|
||||
model_form = forms.UserImportForm
|
||||
|
||||
|
||||
class NetBoxUserBulkDeleteView(generic.BulkDeleteView):
|
||||
queryset = NetBoxUser.objects.all()
|
||||
filterset = filtersets.UserFilterSet
|
||||
|
Loading…
Reference in New Issue
Block a user