| S.No |
First Name |
@@ -105,7 +106,7 @@
- {% if request.user.id != user.id and user.email != "admin@micropyramid.com" %}
+ {% if user.email != admin_email or request.user.email == admin_email %}
Edit
{% endif %}
Delete
diff --git a/common/urls.py b/common/urls.py
index ed46d661..afd1f935 100644
--- a/common/urls.py
+++ b/common/urls.py
@@ -4,6 +4,8 @@ from django.urls import path, re_path
from common.views import (
HomeView, LoginView, ForgotPasswordView, LogoutView, ChangePasswordView, ProfileView,
UsersListView, CreateUserView, UpdateUserView, UserDetailView, UserDeleteView)
+from django.conf.urls.static import static
+from django.conf import settings
app_name = 'common'
@@ -32,4 +34,4 @@ urlpatterns = [
path('reset/done/', auth_views.PasswordResetCompleteView.as_view(), name='password_reset_complete'),
-]
+] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
diff --git a/common/views.py b/common/views.py
index 62297711..0da9a7b5 100644
--- a/common/views.py
+++ b/common/views.py
@@ -1,12 +1,14 @@
from django.contrib.auth import logout, authenticate, login
from django.contrib.auth.hashers import check_password
from django.contrib.auth.mixins import LoginRequiredMixin, AccessMixin
-from django.http import HttpResponseRedirect
+from django.http import HttpResponseRedirect, JsonResponse
from django.shortcuts import render, redirect, get_object_or_404
from django.views.generic import (
CreateView, UpdateView, DetailView, TemplateView, View, DeleteView)
from common.models import User
from common.forms import UserForm, LoginForm, ChangePasswordForm
+from django.urls import reverse_lazy
+from django.conf import settings
def handler404(request, exception):
@@ -132,6 +134,7 @@ class UsersListView(AdminRequiredMixin, TemplateView):
context["active_users"] = self.get_queryset().filter(is_active=True)
context["inactive_users"] = self.get_queryset().filter(is_active=False)
context["per_page"] = self.request.POST.get('per_page')
+ context['admin_email'] = settings.ADMIN_EMAIL
return context
def post(self, request, *args, **kwargs):
@@ -149,11 +152,17 @@ class CreateUserView(AdminRequiredMixin, CreateView):
if form.cleaned_data.get("password"):
user.set_password(form.cleaned_data.get("password"))
user.save()
- return redirect("common:users_list")
+ if self.request.is_ajax():
+ data = {'success_url': reverse_lazy('common:users_list'), 'error': False}
+ return JsonResponse(data)
+ return super(CreateUserView, self).form_valid(form)
+
def form_invalid(self, form):
- return self.render_to_response(
- self.get_context_data(form=form, errors=form.errors))
+ response = super(CreateUserView, self).form_invalid(form)
+ if self.request.is_ajax():
+ return JsonResponse({'error': True, 'errors': form.errors})
+ return response
def get_context_data(self, **kwargs):
context = super(CreateUserView, self).get_context_data(**kwargs)
@@ -190,12 +199,20 @@ class UpdateUserView(LoginRequiredMixin, UpdateView):
user.is_superuser = False
user.save()
if self.request.user.role == "ADMIN" or self.request.user.is_superuser:
- return redirect("common:users_list")
- return redirect("common:profile")
+ if self.request.is_ajax():
+ data = {'success_url': reverse_lazy('common:users_list'), 'error': False}
+ return JsonResponse(data)
+ if self.request.is_ajax():
+ data = {'success_url': reverse_lazy('common:profile'), 'error': False}
+ return JsonResponse(data)
+ return super(UpdateUserView, self).form_valid(form)
+
def form_invalid(self, form):
- return self.render_to_response(
- self.get_context_data(form=form, errors=form.errors))
+ response = super(UpdateUserView, self).form_invalid(form)
+ if self.request.is_ajax():
+ return JsonResponse({'error': True, 'errors': form.errors})
+ return response
def get_context_data(self, **kwargs):
context = super(UpdateUserView, self).get_context_data(**kwargs)
diff --git a/contacts/templates/contacts.html b/contacts/templates/contacts.html
index 9da90473..e64fac40 100644
--- a/contacts/templates/contacts.html
+++ b/contacts/templates/contacts.html
@@ -78,6 +78,7 @@
+
{% if contact_obj_list|length > 0 %}
| S.no |
diff --git a/crm/settings.py b/crm/settings.py
index f1f52ca7..0d9b9f5f 100644
--- a/crm/settings.py
+++ b/crm/settings.py
@@ -34,6 +34,7 @@ INSTALLED_APPS = [
'leads',
'opportunity',
'planner',
+ 'sorl.thumbnail',
]
@@ -182,3 +183,5 @@ SG_USER = os.getenv('SG_USER', '')
SG_PWD = os.getenv('SG_PWD', '')
MANDRILL_API_KEY = os.getenv('MANDRILL_API_KEY', '')
+
+ADMIN_EMAIL = "admin@micropyramid.com"
diff --git a/leads/templates/view_leads.html b/leads/templates/view_leads.html
index 5cc9e716..15dcbb61 100644
--- a/leads/templates/view_leads.html
+++ b/leads/templates/view_leads.html
@@ -186,7 +186,8 @@
|