diff --git a/netbox/templates/users/api_token.html b/netbox/templates/users/account/api_token.html similarity index 100% rename from netbox/templates/users/api_token.html rename to netbox/templates/users/account/api_token.html diff --git a/netbox/templates/users/api_tokens.html b/netbox/templates/users/account/api_tokens.html similarity index 94% rename from netbox/templates/users/api_tokens.html rename to netbox/templates/users/account/api_tokens.html index aaff36a44..25f5f02e6 100644 --- a/netbox/templates/users/api_tokens.html +++ b/netbox/templates/users/account/api_tokens.html @@ -1,4 +1,4 @@ -{% extends 'users/base_profile.html' %} +{% extends 'users/account/base.html' %} {% load helpers %} {% load render_table from django_tables2 %} diff --git a/netbox/templates/users/base_profile.html b/netbox/templates/users/account/base.html similarity index 100% rename from netbox/templates/users/base_profile.html rename to netbox/templates/users/account/base.html diff --git a/netbox/templates/users/bookmarks.html b/netbox/templates/users/account/bookmarks.html similarity index 95% rename from netbox/templates/users/bookmarks.html rename to netbox/templates/users/account/bookmarks.html index 4695f509e..fa3c28c7c 100644 --- a/netbox/templates/users/bookmarks.html +++ b/netbox/templates/users/account/bookmarks.html @@ -1,4 +1,4 @@ -{% extends 'users/base_profile.html' %} +{% extends 'users/account/base.html' %} {% load buttons %} {% load helpers %} {% load render_table from django_tables2 %} diff --git a/netbox/templates/users/password.html b/netbox/templates/users/account/password.html similarity index 94% rename from netbox/templates/users/password.html rename to netbox/templates/users/account/password.html index 77c152de8..dcdd19e29 100644 --- a/netbox/templates/users/password.html +++ b/netbox/templates/users/account/password.html @@ -1,4 +1,4 @@ -{% extends 'users/base_profile.html' %} +{% extends 'users/account/base.html' %} {% load form_helpers %} {% block title %}Change Password{% endblock %} diff --git a/netbox/templates/users/preferences.html b/netbox/templates/users/account/preferences.html similarity index 98% rename from netbox/templates/users/preferences.html rename to netbox/templates/users/account/preferences.html index 3d67e7b24..59cca302c 100644 --- a/netbox/templates/users/preferences.html +++ b/netbox/templates/users/account/preferences.html @@ -1,4 +1,4 @@ -{% extends 'users/base_profile.html' %} +{% extends 'users/account/base.html' %} {% load helpers %} {% load form_helpers %} diff --git a/netbox/templates/users/profile.html b/netbox/templates/users/account/profile.html similarity index 98% rename from netbox/templates/users/profile.html rename to netbox/templates/users/account/profile.html index 0922f9ddf..0e8ab1162 100644 --- a/netbox/templates/users/profile.html +++ b/netbox/templates/users/account/profile.html @@ -1,4 +1,4 @@ -{% extends 'users/base_profile.html' %} +{% extends 'users/account/base.html' %} {% load helpers %} {% load render_table from django_tables2 %} diff --git a/netbox/templates/users/base.html b/netbox/templates/users/base.html deleted file mode 100644 index 9711dc79e..000000000 --- a/netbox/templates/users/base.html +++ /dev/null @@ -1,11 +0,0 @@ -{% extends 'generic/object.html' %} -{% load buttons %} -{% load static %} -{% load helpers %} -{% load plugins %} - -{% block content-wrapper %} -
- {% block content %}{% endblock %} -
-{% endblock %} diff --git a/netbox/templates/users/group.html b/netbox/templates/users/group.html index bb699468b..dd4b1aa8a 100644 --- a/netbox/templates/users/group.html +++ b/netbox/templates/users/group.html @@ -1,4 +1,4 @@ -{% extends 'users/base.html' %} +{% extends 'generic/object.html' %} {% load i18n %} {% load helpers %} {% load render_table from django_tables2 %} diff --git a/netbox/templates/users/objectpermission.html b/netbox/templates/users/objectpermission.html index 2ef6acbae..26a5d06d3 100644 --- a/netbox/templates/users/objectpermission.html +++ b/netbox/templates/users/objectpermission.html @@ -1,4 +1,4 @@ -{% extends 'users/base.html' %} +{% extends 'generic/object.html' %} {% load i18n %} {% load helpers %} {% load render_table from django_tables2 %} diff --git a/netbox/templates/users/passworduser.html b/netbox/templates/users/passworduser.html deleted file mode 100644 index 3b50c3bc0..000000000 --- a/netbox/templates/users/passworduser.html +++ /dev/null @@ -1,28 +0,0 @@ -{% extends 'users/base_profile.html' %} -{% load i18n %} -{% load form_helpers %} - -{% block title %}{% trans "Change Password" %}{% endblock %} - -{% block tabs %} - -{% endblock tabs %} - -{% block content %} -
- {% csrf_token %} -
-
{% trans "Password" %}
- {% render_field form.new_password1 %} - {% render_field form.new_password2 %} -
-
- {% trans "Cancel" %} - -
-
-{% endblock %} diff --git a/netbox/templates/users/user.html b/netbox/templates/users/user.html index 64aab2d4e..549144336 100644 --- a/netbox/templates/users/user.html +++ b/netbox/templates/users/user.html @@ -1,4 +1,4 @@ -{% extends 'users/base.html' %} +{% extends 'generic/object.html' %} {% load i18n %} {% load helpers %} {% load render_table from django_tables2 %} diff --git a/netbox/users/urls.py b/netbox/users/urls.py index 50965a16f..573a44224 100644 --- a/netbox/users/urls.py +++ b/netbox/users/urls.py @@ -6,11 +6,14 @@ from . import views app_name = 'users' urlpatterns = [ - # User + # Account views path('profile/', views.ProfileView.as_view(), name='profile'), path('bookmarks/', views.BookmarkListView.as_view(), name='bookmarks'), path('preferences/', views.UserConfigView.as_view(), name='preferences'), path('password/', views.ChangePasswordView.as_view(), name='change_password'), + path('api-tokens/', views.TokenListView.as_view(), name='token_list'), + path('api-tokens/add/', views.TokenEditView.as_view(), name='token_add'), + path('api-tokens//', include(get_model_urls('users', 'token'))), # Users path('users/', views.NetBoxUserListView.as_view(), name='netboxuser_list'), @@ -34,9 +37,4 @@ urlpatterns = [ path('permissions/delete/', views.ObjectPermissionBulkDeleteView.as_view(), name='objectpermission_bulk_delete'), path('permissions//', include(get_model_urls('users', 'objectpermission'))), - # API tokens - path('api-tokens/', views.TokenListView.as_view(), name='token_list'), - path('api-tokens/add/', views.TokenEditView.as_view(), name='token_add'), - path('api-tokens//', include(get_model_urls('users', 'token'))), - ] diff --git a/netbox/users/views.py b/netbox/users/views.py index c272cf923..c93b8cc82 100644 --- a/netbox/users/views.py +++ b/netbox/users/views.py @@ -158,7 +158,7 @@ class LogoutView(View): # class ProfileView(LoginRequiredMixin, View): - template_name = 'users/profile.html' + template_name = 'users/account/profile.html' def get(self, request): @@ -177,7 +177,7 @@ class ProfileView(LoginRequiredMixin, View): class UserConfigView(LoginRequiredMixin, View): - template_name = 'users/preferences.html' + template_name = 'users/account/preferences.html' def get(self, request): userconfig = request.user.config @@ -205,7 +205,7 @@ class UserConfigView(LoginRequiredMixin, View): class ChangePasswordView(LoginRequiredMixin, View): - template_name = 'users/password.html' + template_name = 'users/account/password.html' def get(self, request): # LDAP users cannot change their password here @@ -240,7 +240,7 @@ class ChangePasswordView(LoginRequiredMixin, View): class BookmarkListView(LoginRequiredMixin, generic.ObjectListView): table = BookmarkTable - template_name = 'users/bookmarks.html' + template_name = 'users/account/bookmarks.html' def get_queryset(self, request): return Bookmark.objects.filter(user=request.user) @@ -263,7 +263,7 @@ class TokenListView(LoginRequiredMixin, View): table = tables.TokenTable(tokens) table.configure(request) - return render(request, 'users/api_tokens.html', { + return render(request, 'users/account/api_tokens.html', { 'tokens': tokens, 'active_tab': 'api-tokens', 'table': table, @@ -307,7 +307,7 @@ class TokenEditView(LoginRequiredMixin, View): messages.success(request, msg) if not pk and not settings.ALLOW_TOKEN_RETRIEVAL: - return render(request, 'users/api_token.html', { + return render(request, 'users/account/api_token.html', { 'object': token, 'key': token.key, 'return_url': reverse('users:token_list'),