mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-09 00:58:16 -06:00
Misc cleanup
This commit is contained in:
parent
6bec89d46b
commit
cbffc24810
@ -8,7 +8,7 @@ from core.models import DataSource, ObjectType
|
||||
from dcim.models import DeviceRole, DeviceType, Location, Platform, Region, Site, SiteGroup
|
||||
from netbox.filtersets import BaseFilterSet, ChangeLoggedModelFilterSet, NetBoxModelFilterSet
|
||||
from tenancy.models import Tenant, TenantGroup
|
||||
from users.models import Group
|
||||
from users.models import Group, User
|
||||
from utilities.filters import ContentTypeFilter, MultiValueCharFilter, MultiValueNumberFilter
|
||||
from virtualization.models import Cluster, ClusterGroup, ClusterType
|
||||
from .choices import *
|
||||
@ -343,14 +343,16 @@ class NotificationGroupFilterSet(BaseFilterSet):
|
||||
method='search',
|
||||
label=_('Search'),
|
||||
)
|
||||
# user_id = django_filters.ModelMultipleChoiceFilter(
|
||||
# queryset=get_user_model().objects.all(),
|
||||
# label=_('User (ID)'),
|
||||
# )
|
||||
# group_id = django_filters.ModelMultipleChoiceFilter(
|
||||
# queryset=Group.objects.all(),
|
||||
# label=_('Group (ID)'),
|
||||
# )
|
||||
user_id = django_filters.ModelMultipleChoiceFilter(
|
||||
field_name='users',
|
||||
queryset=User.objects.all(),
|
||||
label=_('User (ID)'),
|
||||
)
|
||||
group_id = django_filters.ModelMultipleChoiceFilter(
|
||||
field_name='groups',
|
||||
queryset=Group.objects.all(),
|
||||
label=_('Group (ID)'),
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = NotificationGroup
|
||||
|
@ -10,9 +10,11 @@ from core.models import ObjectType
|
||||
from extras.choices import *
|
||||
from extras.models import *
|
||||
from netbox.forms import NetBoxModelImportForm
|
||||
from users.models import Group, User
|
||||
from utilities.forms import CSVModelForm
|
||||
from utilities.forms.fields import (
|
||||
CSVChoiceField, CSVContentTypeField, CSVModelChoiceField, CSVMultipleContentTypeField, SlugField,
|
||||
CSVChoiceField, CSVContentTypeField, CSVModelChoiceField, CSVModelMultipleChoiceField, CSVMultipleContentTypeField,
|
||||
SlugField,
|
||||
)
|
||||
|
||||
__all__ = (
|
||||
@ -254,7 +256,25 @@ class JournalEntryImportForm(NetBoxModelImportForm):
|
||||
|
||||
|
||||
class NotificationGroupImportForm(CSVModelForm):
|
||||
users = CSVModelMultipleChoiceField(
|
||||
label=_('Users'),
|
||||
queryset=User.objects.all(),
|
||||
required=False,
|
||||
to_field_name='username',
|
||||
help_text=mark_safe(
|
||||
_('User names separated by commas, encased with double quotes')
|
||||
)
|
||||
)
|
||||
groups = CSVModelMultipleChoiceField(
|
||||
label=_('Groups'),
|
||||
queryset=Group.objects.all(),
|
||||
required=False,
|
||||
to_field_name='name',
|
||||
help_text=mark_safe(
|
||||
_('Group names separated by commas, encased with double quotes')
|
||||
)
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = NotificationGroup
|
||||
fields = ('name', 'description')
|
||||
fields = ('name', 'description', 'users', 'groups')
|
||||
|
@ -21,7 +21,7 @@ __all__ = (
|
||||
)
|
||||
|
||||
|
||||
def get_event_type_choices():
|
||||
def get_event_name_choices():
|
||||
"""
|
||||
Compile a list of choices from all registered event types
|
||||
"""
|
||||
@ -60,7 +60,7 @@ class Notification(models.Model):
|
||||
event_name = models.CharField(
|
||||
verbose_name=_('event'),
|
||||
max_length=50,
|
||||
choices=get_event_type_choices
|
||||
choices=get_event_name_choices
|
||||
)
|
||||
|
||||
objects = NotificationQuerySet.as_manager()
|
||||
|
@ -156,4 +156,7 @@ class ConfigContextModelQuerySet(RestrictedQuerySet):
|
||||
class NotificationQuerySet(RestrictedQuerySet):
|
||||
|
||||
def unread(self):
|
||||
"""
|
||||
Return only unread notifications.
|
||||
"""
|
||||
return self.filter(read__isnull=True)
|
||||
|
@ -322,11 +322,17 @@ class NotificationGroupTable(NetBoxTable):
|
||||
linkify=True,
|
||||
verbose_name=_('Name')
|
||||
)
|
||||
users = columns.ManyToManyColumn(
|
||||
linkify_item=True
|
||||
)
|
||||
groups = columns.ManyToManyColumn(
|
||||
linkify_item=True
|
||||
)
|
||||
|
||||
class Meta(NetBoxTable.Meta):
|
||||
model = NotificationGroup
|
||||
fields = ('pk', 'name', 'description', 'groups', 'users')
|
||||
default_columns = ('name', 'description')
|
||||
default_columns = ('name', 'description', 'groups', 'users')
|
||||
|
||||
|
||||
class WebhookTable(NetBoxTable):
|
||||
|
@ -84,6 +84,11 @@ DEFAULT_PERMISSIONS = getattr(configuration, 'DEFAULT_PERMISSIONS', {
|
||||
'extras.add_bookmark': ({'user': '$user'},),
|
||||
'extras.change_bookmark': ({'user': '$user'},),
|
||||
'extras.delete_bookmark': ({'user': '$user'},),
|
||||
# Permit users to manage their own notifications
|
||||
'extras.view_notification': ({'user': '$user'},),
|
||||
'extras.add_notification': ({'user': '$user'},),
|
||||
'extras.change_notification': ({'user': '$user'},),
|
||||
'extras.delete_notification': ({'user': '$user'},),
|
||||
# Permit users to manage their own subscriptions
|
||||
'extras.view_subscription': ({'user': '$user'},),
|
||||
'extras.add_subscription': ({'user': '$user'},),
|
||||
|
Loading…
Reference in New Issue
Block a user