diff --git a/netbox/templates/users/group.html b/netbox/templates/users/group.html
index ec5c0acad..77e1a3f88 100644
--- a/netbox/templates/users/group.html
+++ b/netbox/templates/users/group.html
@@ -29,10 +29,10 @@
-
+
- {% for group in request.user.groups.all %}
- - {{ group }}
+ {% for user in object.user_set.all %}
+ - {{ user }}
{% empty %}
- None
{% endfor %}
diff --git a/netbox/templates/users/objectpermission.html b/netbox/templates/users/objectpermission.html
index 4fdbb428a..4f646515a 100644
--- a/netbox/templates/users/objectpermission.html
+++ b/netbox/templates/users/objectpermission.html
@@ -29,10 +29,10 @@
-
+
- {% for group in request.user.groups.all %}
- - {{ group }}
+ {% for user in object.users.all %}
+ - {{ user }}
{% empty %}
- None
{% endfor %}
diff --git a/netbox/users/forms/bulk_edit.py b/netbox/users/forms/bulk_edit.py
index c2b548e8d..c444b4cf6 100644
--- a/netbox/users/forms/bulk_edit.py
+++ b/netbox/users/forms/bulk_edit.py
@@ -1,13 +1,11 @@
from django import forms
from django.utils.translation import gettext as _
-from circuits.choices import CircuitCommitRateChoices, CircuitStatusChoices
-from circuits.models import *
-from ipam.models import ASN
from netbox.forms import NetBoxModelBulkEditForm
-from tenancy.models import Tenant
+from users.models import *
from utilities.forms import add_blank_choice
from utilities.forms.fields import CommentField, DynamicModelChoiceField, DynamicModelMultipleChoiceField
+from utilities.forms import BootstrapMixin
from utilities.forms.widgets import DatePicker, NumberWithOptions
__all__ = (
@@ -17,44 +15,42 @@ __all__ = (
)
-class UserBulkEditForm(NetBoxModelBulkEditForm):
- asns = DynamicModelMultipleChoiceField(
- queryset=ASN.objects.all(),
- label=_('ASNs'),
+class UserBulkEditForm(BootstrapMixin, forms.Form):
+ first_name = forms.CharField(
+ max_length=150,
required=False
)
- description = forms.CharField(
- max_length=200,
+ last_name = forms.CharField(
+ max_length=150,
required=False
)
- comments = CommentField(
- label=_('Comments')
+ is_active = forms.BooleanField(
+ required=False,
+ label=_('Active')
+ )
+ is_staff = forms.BooleanField(
+ required=False,
+ label=_('Staff status')
+ )
+ is_superuser = forms.BooleanField(
+ required=False,
+ label=_('Superuser status')
)
- model = Provider
+ model = NetBoxUser
fieldsets = (
- (None, ('asns', 'description')),
- )
- nullable_fields = (
- 'asns', 'description', 'comments',
+ (None, ('first_name', 'last_name', 'is_active', 'is_staff', 'is_superuser')),
)
+ nullable_fields = ()
class GroupBulkEditForm(NetBoxModelBulkEditForm):
- asns = DynamicModelMultipleChoiceField(
- queryset=ASN.objects.all(),
- label=_('ASNs'),
+ first_name = forms.CharField(
+ max_length=150,
required=False
)
- description = forms.CharField(
- max_length=200,
- required=False
- )
- comments = CommentField(
- label=_('Comments')
- )
- model = Provider
+ model = NetBoxGroup
fieldsets = (
(None, ('asns', 'description')),
)
@@ -64,23 +60,10 @@ class GroupBulkEditForm(NetBoxModelBulkEditForm):
class ObjectPermissionBulkEditForm(NetBoxModelBulkEditForm):
- asns = DynamicModelMultipleChoiceField(
- queryset=ASN.objects.all(),
- label=_('ASNs'),
- required=False
- )
- description = forms.CharField(
- max_length=200,
- required=False
- )
- comments = CommentField(
- label=_('Comments')
- )
-
- model = Provider
+ model = ObjectPermission
fieldsets = (
- (None, ('asns', 'description')),
+ (None, ('description')),
)
nullable_fields = (
- 'asns', 'description', 'comments',
+ 'description',
)
diff --git a/netbox/users/urls.py b/netbox/users/urls.py
index caed08c45..fd248993a 100644
--- a/netbox/users/urls.py
+++ b/netbox/users/urls.py
@@ -23,7 +23,7 @@ urlpatterns = [
path('groups/', views.NetBoxGroupListView.as_view(), name='netboxgroup_list'),
path('groups/add/', views.NetBoxGroupEditView.as_view(), name='netboxgroup_add'),
path('groups/import/', views.NetBoxGroupBulkImportView.as_view(), name='netboxgroup_import'),
- path('groups/edit/', views.NetBoxGroupBulkEditView.as_view(), name='netboxgroup_bulk_edit'),
+ # path('groups/edit/', views.NetBoxGroupBulkEditView.as_view(), name='netboxgroup_bulk_edit'),
path('groups/delete/', views.NetBoxGroupBulkDeleteView.as_view(), name='netboxgroup_bulk_delete'),
path('groups//', include(get_model_urls('users', 'netboxgroup'))),
diff --git a/netbox/users/views.py b/netbox/users/views.py
index 16556dc2a..21f613e85 100644
--- a/netbox/users/views.py
+++ b/netbox/users/views.py
@@ -432,11 +432,11 @@ class NetBoxGroupBulkImportView(generic.BulkImportView):
model_form = forms.GroupImportForm
-class NetBoxGroupBulkEditView(generic.BulkEditView):
- queryset = NetBoxGroup.objects.all()
- filterset = filtersets.GroupFilterSet
- table = tables.GroupTable
- form = forms.GroupBulkEditForm
+# class NetBoxGroupBulkEditView(generic.BulkEditView):
+# queryset = NetBoxGroup.objects.all()
+# filterset = filtersets.GroupFilterSet
+# table = tables.GroupTable
+# form = forms.GroupBulkEditForm
class NetBoxGroupBulkDeleteView(generic.BulkDeleteView):