34 lines
1,013 B
Python
34 lines
1,013 B
Python
from django.contrib.auth.mixins import LoginRequiredMixin
|
|
from django.contrib.auth import views as auth_views
|
|
from django.urls import reverse_lazy, resolve
|
|
from django.utils.translation import gettext_lazy as _
|
|
from django.shortcuts import redirect
|
|
|
|
|
|
class UserView(LoginRequiredMixin):
|
|
login_url = "/login/"
|
|
wallet = False
|
|
|
|
def get_context_data(self, **kwargs):
|
|
context = super().get_context_data(**kwargs)
|
|
context.update({
|
|
'title': self.title,
|
|
'subtitle': self.subtitle,
|
|
'icon': self.icon,
|
|
'section': self.section,
|
|
'path': resolve(self.request.path).url_name,
|
|
'user': self.request.user,
|
|
'wallet': self.wallet,
|
|
})
|
|
return context
|
|
|
|
|
|
class AdminView(UserView):
|
|
|
|
def get(self, request, *args, **kwargs):
|
|
if not request.user.is_admin:
|
|
url = reverse_lazy('idhub:user_dashboard')
|
|
return redirect(url)
|
|
|
|
return super().get(request, *args, **kwargs)
|