|
|
@@ -1,10 +1,13 @@
|
|
1
|
1
|
# views.py
|
|
2
|
2
|
from django.contrib.auth import authenticate, login, logout
|
|
3
|
3
|
from django.shortcuts import render, redirect
|
|
4
|
|
-from .forms import CustomLoginForm, CustomUserCreationForm, UserProfileForm
|
|
|
4
|
+from .forms import CustomLoginForm, CustomUserCreationForm, UserProfileForm, UserCustomForm
|
|
5
|
5
|
from .models import UserProfile
|
|
|
6
|
+from .filters import UserFilter
|
|
6
|
7
|
from django.contrib.auth.decorators import login_required
|
|
7
|
8
|
from django.contrib import messages
|
|
|
9
|
+from core.utils import ConfigurableCRUDView
|
|
|
10
|
+from django.contrib.auth.models import User
|
|
8
|
11
|
|
|
9
|
12
|
def login_view(request):
|
|
10
|
13
|
if request.method == "POST":
|
|
|
@@ -61,3 +64,25 @@ def profile_view(request):
|
|
61
|
64
|
form = UserProfileForm(instance=profile)
|
|
62
|
65
|
|
|
63
|
66
|
return render(request, 'sysadmin/profile.html', {'form': form})
|
|
|
67
|
+
|
|
|
68
|
+
|
|
|
69
|
+class UserCRUDView(ConfigurableCRUDView):
|
|
|
70
|
+ model = User
|
|
|
71
|
+ list_template_name = 'legacy/datacrud_list.html'
|
|
|
72
|
+ detail_template_name = 'legacy/datacrud_detail.html'
|
|
|
73
|
+ form_template_name = 'sysadmin/user_form.html'
|
|
|
74
|
+ confirm_delete_template_name = 'legacy/datacrud_confirm_delete.html'
|
|
|
75
|
+ filterset_class = UserFilter
|
|
|
76
|
+
|
|
|
77
|
+ page_title = "Users"
|
|
|
78
|
+
|
|
|
79
|
+ # URL name mappings
|
|
|
80
|
+ list_url_name = 'sysadmin:users-list'
|
|
|
81
|
+ create_url_name = 'sysadmin:users-create'
|
|
|
82
|
+ update_url_name = 'sysadmin:users-update'
|
|
|
83
|
+ delete_url_name = 'sysadmin:users-delete'
|
|
|
84
|
+ # excludes = ["splitdata"]
|
|
|
85
|
+ config_fields = ("id", "username", "is_active", "is_staff", "is_superuser", "last_login")
|
|
|
86
|
+ config_field_orders = ["id",] # Display these fields first
|
|
|
87
|
+ form_class = UserCustomForm
|
|
|
88
|
+ config_edit_fields = None
|