| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- from __future__ import absolute_import
- from django.utils.translation import ugettext as _
- from django.contrib.auth import REDIRECT_FIELD_NAME
- from django.views.decorators.cache import never_cache
- from django.contrib.auth.views import LoginView as login
- from django.contrib.auth.views import LogoutView as logout
- from django.http import HttpResponse
- from .base import BaseAdminView, filter_hook
- from .dashboard import Dashboard
- from xadmin.forms import AdminAuthenticationForm
- from xadmin.models import UserSettings
- from xadmin.layout import FormHelper
- class IndexView(Dashboard):
- title = _("Main Dashboard")
- icon = "fa fa-dashboard"
- def get_page_id(self):
- return 'home'
- class UserSettingView(BaseAdminView):
- @never_cache
- def post(self, request):
- key = request.POST['key']
- val = request.POST['value']
- us, created = UserSettings.objects.get_or_create(
- user=self.user, key=key)
- us.value = val
- us.save()
- return HttpResponse('')
- class LoginView(BaseAdminView):
- title = _("Please Login")
- login_form = None
- login_template = None
- @filter_hook
- def update_params(self, defaults):
- pass
- @never_cache
- def get(self, request, *args, **kwargs):
- context = self.get_context()
- helper = FormHelper()
- helper.form_tag = False
- helper.include_media = False
- context.update({
- 'title': self.title,
- 'helper': helper,
- 'app_path': request.get_full_path(),
- REDIRECT_FIELD_NAME: request.get_full_path(),
- })
- defaults = {
- 'extra_context': context,
- # 'current_app': self.admin_site.name,
- 'authentication_form': self.login_form or AdminAuthenticationForm,
- 'template_name': self.login_template or 'xadmin/views/login.html',
- }
- self.update_params(defaults)
- # return login(request, **defaults)
- return login.as_view(**defaults)(request)
- @never_cache
- def post(self, request, *args, **kwargs):
- return self.get(request)
- class LogoutView(BaseAdminView):
- logout_template = None
- need_site_permission = False
- @filter_hook
- def update_params(self, defaults):
- pass
- @never_cache
- def get(self, request, *args, **kwargs):
- context = self.get_context()
- defaults = {
- 'extra_context': context,
- # 'current_app': self.admin_site.name,
- 'template_name': self.logout_template or 'xadmin/views/logged_out.html',
- }
- if self.logout_template is not None:
- defaults['template_name'] = self.logout_template
- self.update_params(defaults)
- # return logout(request, **defaults)
- return logout.as_view(**defaults)(request)
- @never_cache
- def post(self, request, *args, **kwargs):
- return self.get(request)
|