From 108cddfac4cf4bce998c31de836856e2710cac47 Mon Sep 17 00:00:00 2001 From: Zambom Date: Thu, 22 Dec 2016 15:43:22 -0200 Subject: [PATCH] Adding manage users page --- amadeus/templates/base.html | 6 ++---- users/templates/list_users.html | 95 ----------------------------------------------------------------------------------------------- users/templates/users/list.html | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ users/urls.py | 1 + users/views.py | 43 +++++++++++++++++++++---------------------- 5 files changed, 91 insertions(+), 121 deletions(-) delete mode 100644 users/templates/list_users.html create mode 100644 users/templates/users/list.html diff --git a/amadeus/templates/base.html b/amadeus/templates/base.html index 7f8420c..bc61476 100644 --- a/amadeus/templates/base.html +++ b/amadeus/templates/base.html @@ -107,10 +107,8 @@
  • diff --git a/users/templates/list_users.html b/users/templates/list_users.html deleted file mode 100644 index 3257ff7..0000000 --- a/users/templates/list_users.html +++ /dev/null @@ -1,95 +0,0 @@ -{% extends 'home.html' %} - -{% load i18n pagination django_bootstrap_breadcrumbs permission_tags static %} - -{% block breadcrumbs %} - - {{ block.super }} - {% breadcrumb 'Manage Users' 'users:manage' %} - -{% endblock %} - -{% block menu %} -{% endblock %} - -{% block content %} - {% if messages %} - {% for message in messages %} - - {% endfor %} - {% endif %} -
    -
    -
    - -
    -
    - -
    -
    -
    - - {% if users|length > 0 %} - {% for acc in users %} -
    -
    -
    - {% if acc.image %} -
    - {% else %} - {% if acc.gender == 'M' %} - Avatar - {% else %} - Avatar - {% endif %} - {% endif %} -
    -
    -

    {% trans 'Name' %}: {{ acc.name }}

    -

    {% trans 'Profile' %}: {{ acc.get_type_profile_display }}

    -

    {% trans 'Email' %}: {{ acc.email }}

    -

    {% trans 'Contact' %}: {{ acc.phone }}

    - -
    - - - - -
    -
    - {% endfor %} - {% pagination request paginator page_obj %} - {% else %} -
    -
    -

    {% trans 'No users found' %}

    -
    -
    - {% endif %} -{% endblock %} diff --git a/users/templates/users/list.html b/users/templates/users/list.html new file mode 100644 index 0000000..8179496 --- /dev/null +++ b/users/templates/users/list.html @@ -0,0 +1,67 @@ +{% extends 'base.html' %} + +{% load i18n django_bootstrap_breadcrumbs permission_tags static %} + +{% block breadcrumbs %} + {{ block.super }} + {% breadcrumb 'Manage Users' 'users:manage' %} +{% endblock %} + +{% block menu %} +{% endblock %} + +{% block content %} + {% if messages %} + {% for message in messages %} + + {% endfor %} + {% endif %} +
    +
    +
    + +
    +
    + +
    +
    +
    + + {% if users %} + {% for acc in users %} +
    +
    +
    + + + +
    +
    +

    {% trans 'Name' %}: {{ acc }}

    +

    {% trans 'Email' %}: {{ acc.email }}

    +

    {% trans 'Description' %}: {{ acc.description|truncatechars:100|default:_("Not Informed") }}

    +
    + +
    +
    + {% endfor %} + {% else %} +
    +
    +

    {% trans 'No users found' %}

    +
    +
    + {% endif %} +{% endblock %} diff --git a/users/urls.py b/users/urls.py index 40b241b..7dc5f84 100644 --- a/users/urls.py +++ b/users/urls.py @@ -7,6 +7,7 @@ urlpatterns = [ url(r'^login/$', views.login, name='login'), url(r'^logout/$', auth_views.logout, {'next_page': 'users:login'}, name='logout'), url(r'^signup/$', views.RegisterUser.as_view(), name = 'signup'), + url(r'^$', views.UsersListView.as_view(), name = 'manage'), url(r'^profile/$', views.Profile.as_view(), name = 'profile'), url(r'^edit_profile/$', views.UpdateProfile.as_view(), name = 'edit_profile'), ] diff --git a/users/views.py b/users/views.py index edfb629..6266a02 100644 --- a/users/views.py +++ b/users/views.py @@ -22,29 +22,7 @@ from .serializers import UserSerializer from rest_framework.permissions import IsAuthenticated, IsAuthenticatedOrReadOnly # ================ ADMIN ======================= -# class UsersListView(HasRoleMixin, LoginRequiredMixin, generic.ListView): -# allowed_roles = ['system_admin'] -# #login_url = reverse_lazy("core:home") -# redirect_field_name = 'next' -# template_name = 'list_users.html' -# context_object_name = 'users' -# paginate_by = 10 - -# def get_queryset(self): -# search = self.request.GET.get('search', None) - -# if search is None: -# users = User.objects.all().order_by('name').exclude( username = self.request.user.username) -# else: -# users = User.objects.filter(Q(username = search) | Q(name = search) | Q(name__icontains = search) | Q(username__icontains = search)).exclude( username = self.request.user.username) - -# return users - -# def get_context_data (self, **kwargs): -# context = super(UsersListView, self).get_context_data(**kwargs) -# context['title'] = 'Manage Users' -# return context # class Create(HasRoleMixin, LoginRequiredMixin, generic.edit.CreateView): @@ -182,6 +160,27 @@ from rest_framework.permissions import IsAuthenticated, IsAuthenticatedOrReadOnl # return context +class UsersListView(HasRoleMixin, LoginRequiredMixin, generic.ListView): + login_url = reverse_lazy("users:login") + redirect_field_name = 'next' + + allowed_roles = ['system_admin'] + + template_name = 'users/list.html' + context_object_name = 'users' + paginate_by = 10 + + def get_queryset(self): + users = User.objects.all().order_by('social_name','username').exclude(email = self.request.user.email) + + return users + + def get_context_data (self, **kwargs): + context = super(UsersListView, self).get_context_data(**kwargs) + context['title'] = _('Manage Users') + + return context + class Profile(LoginRequiredMixin, generic.DetailView): login_url = reverse_lazy("users:login") redirect_field_name = 'next' -- libgit2 0.21.2