From 03ed53aa6373887d6ff9eb46c62e35b6056778ab Mon Sep 17 00:00:00 2001 From: Ashwin Date: Sat, 2 Feb 2019 15:27:56 +0530 Subject: [PATCH] Add is active true or false option in user list page --- common/models.py | 3 +++ common/templates/create.html | 2 +- common/templates/list.html | 9 +++++---- common/urls.py | 5 ++++- common/views.py | 12 +++++++++++- templates/profile.html | 2 +- 6 files changed, 25 insertions(+), 8 deletions(-) diff --git a/common/models.py b/common/models.py index 41fad5f3..04b66410 100644 --- a/common/models.py +++ b/common/models.py @@ -37,6 +37,9 @@ class User(AbstractBaseUser, PermissionsMixin): def __unicode__(self): return self.email + class Meta: + ordering = ['-is_active'] + class Address(models.Model): address_line = models.CharField(_("Address"), max_length=255, blank=True, null=True) diff --git a/common/templates/create.html b/common/templates/create.html index 196cef53..fa278316 100644 --- a/common/templates/create.html +++ b/common/templates/create.html @@ -51,7 +51,7 @@ {{ errors.email }} -
+
{% if request.user.role == 'ADMIN' or request.user.is_superuser %} diff --git a/common/templates/list.html b/common/templates/list.html index 705ce782..850d453c 100644 --- a/common/templates/list.html +++ b/common/templates/list.html @@ -96,19 +96,20 @@ {{ user.username }} {{ user.email }} {% if user.is_superuser %} ADMIN {% else %} {{user.role}} {% endif %} - + {% if user.is_active == True %} - Active + Active {% else %} - InActive + InActive {% endif %} + {% if user.email != admin_email or request.user.email == admin_email %} Edit {% endif %} - + {% endfor %} diff --git a/common/urls.py b/common/urls.py index a7954ffe..6e6715b2 100644 --- a/common/urls.py +++ b/common/urls.py @@ -5,7 +5,7 @@ from common.views import ( HomeView, LoginView, ForgotPasswordView, LogoutView, ChangePasswordView, ProfileView, UsersListView, CreateUserView, UpdateUserView, UserDetailView, UserDeleteView, PasswordResetView, DocumentListView, DocumentCreateView, UpdateDocumentView, DocumentDetailView, DocumentDeleteView, - download_document) + download_document, change_user_status) from django.conf.urls.static import static from django.conf import settings @@ -45,4 +45,7 @@ urlpatterns = [ # download path('documents//download/', download_document, name='download_document'), + path('user/status//', change_user_status, name='change_user_status'), + + ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/common/views.py b/common/views.py index 93ba51ce..c4ce2eb3 100644 --- a/common/views.py +++ b/common/views.py @@ -359,4 +359,14 @@ def download_document(request, pk): response = HttpResponse(fh.read(), content_type="application/vnd.ms-excel") response['Content-Disposition'] = 'inline; filename=' + os.path.basename(file_path) return response - raise Http404 \ No newline at end of file + raise Http404 + + +def change_user_status(request, pk): + user = get_object_or_404(User, pk=pk) + if user.is_active: + user.is_active = False + else: + user.is_active = True + user.save() + return HttpResponseRedirect('/users/list/') diff --git a/templates/profile.html b/templates/profile.html index 25f2d39d..a897e83d 100644 --- a/templates/profile.html +++ b/templates/profile.html @@ -55,7 +55,7 @@ {% endthumbnail %} {% else %} - + Micro profile pic {% endif %}