only superusers can login
This commit is contained in:
parent
7b9b56beac
commit
bdd7984dfa
|
@ -1,15 +1,17 @@
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.conf.urls import patterns, include, url
|
from django.conf.urls import patterns, include, url
|
||||||
from django.contrib.auth.decorators import login_required
|
|
||||||
|
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
admin.autodiscover()
|
admin.autodiscover()
|
||||||
|
|
||||||
from url_utils import decorated_includes
|
from .views import admin_required
|
||||||
|
from .urls_utils import decorated_includes
|
||||||
|
from .environment.urls import urlpatterns as environment_urls
|
||||||
|
|
||||||
urlpatterns = patterns('',
|
urlpatterns = patterns('',
|
||||||
url(r'^$', 'hobo.views.home', name='home'),
|
url(r'^$', 'hobo.views.home', name='home'),
|
||||||
url(r'^environment/', decorated_includes(login_required, include('hobo.environment.urls'))),
|
url(r'^environment/', decorated_includes(admin_required,
|
||||||
|
include(environment_urls))),
|
||||||
url(r'^hobos.json$', 'hobo.views.hobo'),
|
url(r'^hobos.json$', 'hobo.views.hobo'),
|
||||||
url(r'^admin/', include(admin.site.urls)),
|
url(r'^admin/', include(admin.site.urls)),
|
||||||
url(r'^accounts/login', 'django.contrib.auth.views.login',
|
url(r'^accounts/login', 'django.contrib.auth.views.login',
|
||||||
|
|
|
@ -5,11 +5,12 @@ from django.utils.translation import ugettext as _
|
||||||
from django.views.generic.base import TemplateView
|
from django.views.generic.base import TemplateView
|
||||||
from django.views.generic import edit
|
from django.views.generic import edit
|
||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import user_passes_test
|
||||||
|
|
||||||
from .environment.utils import Zone, get_operational_services
|
from .environment.utils import Zone, get_operational_services
|
||||||
from .forms import HoboForm, HoboUpdateForm, get_tenant_model
|
from .forms import HoboForm, HoboUpdateForm, get_tenant_model
|
||||||
|
|
||||||
|
admin_required = user_passes_test(lambda u: u.is_superuser)
|
||||||
|
|
||||||
class Home(TemplateView):
|
class Home(TemplateView):
|
||||||
template_name = 'hobo/home.html'
|
template_name = 'hobo/home.html'
|
||||||
|
@ -24,7 +25,7 @@ class Home(TemplateView):
|
||||||
context['zones'].append(Zone(_('Environment Settings'), 'settings', 'environment/'))
|
context['zones'].append(Zone(_('Environment Settings'), 'settings', 'environment/'))
|
||||||
return context
|
return context
|
||||||
|
|
||||||
home = login_required(Home.as_view())
|
home = admin_required(Home.as_view())
|
||||||
|
|
||||||
class ManagerHome(edit.CreateView):
|
class ManagerHome(edit.CreateView):
|
||||||
template_name = 'hobo/manager_home.html'
|
template_name = 'hobo/manager_home.html'
|
||||||
|
@ -48,7 +49,7 @@ class ManagerHome(edit.CreateView):
|
||||||
self.object.create_schema(True)
|
self.object.create_schema(True)
|
||||||
return response
|
return response
|
||||||
|
|
||||||
manager_home = login_required(ManagerHome.as_view())
|
manager_home = admin_required(ManagerHome.as_view())
|
||||||
|
|
||||||
class ManagerUpdateTenant(edit.UpdateView):
|
class ManagerUpdateTenant(edit.UpdateView):
|
||||||
model = get_tenant_model()
|
model = get_tenant_model()
|
||||||
|
@ -63,7 +64,7 @@ class ManagerUpdateTenant(edit.UpdateView):
|
||||||
self.object.create_schema(True)
|
self.object.create_schema(True)
|
||||||
return response
|
return response
|
||||||
|
|
||||||
update_tenant = login_required(ManagerUpdateTenant.as_view())
|
update_tenant = admin_required(ManagerUpdateTenant.as_view())
|
||||||
|
|
||||||
class ManagerDeleteTenant(edit.DeleteView):
|
class ManagerDeleteTenant(edit.DeleteView):
|
||||||
template_name = 'environment/tenant_confirm_delete.html'
|
template_name = 'environment/tenant_confirm_delete.html'
|
||||||
|
@ -72,7 +73,7 @@ class ManagerDeleteTenant(edit.DeleteView):
|
||||||
def get_success_url(self):
|
def get_success_url(self):
|
||||||
return reverse('manager-home', self.object.id)
|
return reverse('manager-home', self.object.id)
|
||||||
|
|
||||||
delete_tenant = login_required(ManagerDeleteTenant.as_view())
|
delete_tenant = admin_required(ManagerDeleteTenant.as_view())
|
||||||
|
|
||||||
def hobos(request, *args, **kwargs):
|
def hobos(request, *args, **kwargs):
|
||||||
response = HttpResponse(content_type='application/json')
|
response = HttpResponse(content_type='application/json')
|
||||||
|
|
Loading…
Reference in New Issue