refactor dashboard.views.UserDashboardView
- use gvacommon.viewmixins.StaffOrSelfLoginRequiredMixin instead of custom implementation
This commit is contained in:
parent
dd7a40a019
commit
3a9110dc30
1 changed files with 9 additions and 13 deletions
|
@ -4,15 +4,13 @@ This module defines the views for the gnuviechadmin customer dashboard.
|
||||||
"""
|
"""
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
from django.http import HttpResponseForbidden
|
|
||||||
from django.views.generic import (
|
from django.views.generic import (
|
||||||
DetailView,
|
DetailView,
|
||||||
TemplateView,
|
TemplateView,
|
||||||
)
|
)
|
||||||
from django.utils.translation import ugettext as _
|
|
||||||
from django.contrib.auth import get_user_model
|
from django.contrib.auth import get_user_model
|
||||||
|
|
||||||
from braces.views import LoginRequiredMixin
|
from gvacommon.viewmixins import StaffOrSelfLoginRequiredMixin
|
||||||
|
|
||||||
from hostingpackages.models import CustomerHostingPackage
|
from hostingpackages.models import CustomerHostingPackage
|
||||||
|
|
||||||
|
@ -25,7 +23,7 @@ class IndexView(TemplateView):
|
||||||
template_name = 'dashboard/index.html'
|
template_name = 'dashboard/index.html'
|
||||||
|
|
||||||
|
|
||||||
class UserDashboardView(LoginRequiredMixin, DetailView):
|
class UserDashboardView(StaffOrSelfLoginRequiredMixin, DetailView):
|
||||||
"""
|
"""
|
||||||
This is the user dashboard view.
|
This is the user dashboard view.
|
||||||
|
|
||||||
|
@ -35,18 +33,16 @@ class UserDashboardView(LoginRequiredMixin, DetailView):
|
||||||
slug_field = 'username'
|
slug_field = 'username'
|
||||||
template_name = 'dashboard/user_dashboard.html'
|
template_name = 'dashboard/user_dashboard.html'
|
||||||
|
|
||||||
def dispatch(self, request, *args, **kwargs):
|
|
||||||
if (request.user.is_staff or request.user == self.get_object()):
|
|
||||||
return super(UserDashboardView, self).dispatch(
|
|
||||||
request, *args, **kwargs
|
|
||||||
)
|
|
||||||
return HttpResponseForbidden(
|
|
||||||
_('You are not allowed to view this page.')
|
|
||||||
)
|
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super(UserDashboardView, self).get_context_data(**kwargs)
|
context = super(UserDashboardView, self).get_context_data(**kwargs)
|
||||||
context['hosting_packages'] = CustomerHostingPackage.objects.filter(
|
context['hosting_packages'] = CustomerHostingPackage.objects.filter(
|
||||||
customer=self.object
|
customer=self.object
|
||||||
)
|
)
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
def get_customer_object(self):
|
||||||
|
"""
|
||||||
|
Returns the customer object.
|
||||||
|
|
||||||
|
"""
|
||||||
|
return self.get_object()
|
||||||
|
|
Loading…
Reference in a new issue