Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
CIRCLE
/
cloud
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
94
Merge Requests
10
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
A prog2-höz tartozó friss repo anyagok itt elérhetőek:
https://git.iit.bme.hu/
Commit
6a80e759
authored
Dec 19, 2013
by
Bach Dániel
Committed by
Guba Sándor
Jan 02, 2014
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dashboard: add LoginRequiredMixin to views
parent
11fa1e47
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
14 deletions
+17
-14
circle/dashboard/views.py
+17
-14
No files found.
circle/dashboard/views.py
View file @
6a80e759
...
@@ -20,7 +20,7 @@ from django.contrib import messages
...
@@ -20,7 +20,7 @@ from django.contrib import messages
from
django.utils.translation
import
ugettext
as
_
from
django.utils.translation
import
ugettext
as
_
from
django_tables2
import
SingleTableView
from
django_tables2
import
SingleTableView
from
braces.views
import
LoginRequiredMixin
from
braces.views
import
LoginRequiredMixin
,
SuperuserRequiredMixin
from
.forms
import
VmCreateForm
,
TemplateForm
,
LeaseForm
from
.forms
import
VmCreateForm
,
TemplateForm
,
LeaseForm
from
.tables
import
(
VmListTable
,
NodeListTable
,
NodeVmListTable
,
from
.tables
import
(
VmListTable
,
NodeListTable
,
NodeVmListTable
,
...
@@ -99,7 +99,7 @@ def get_acl_data(obj):
...
@@ -99,7 +99,7 @@ def get_acl_data(obj):
'url'
:
reverse
(
'dashboard.views.vm-acl'
,
args
=
[
obj
.
pk
])}
'url'
:
reverse
(
'dashboard.views.vm-acl'
,
args
=
[
obj
.
pk
])}
class
CheckedDetailView
(
DetailView
):
class
CheckedDetailView
(
LoginRequiredMixin
,
DetailView
):
read_level
=
'user'
read_level
=
'user'
def
get_context_data
(
self
,
**
kwargs
):
def
get_context_data
(
self
,
**
kwargs
):
...
@@ -269,7 +269,7 @@ class VmDetailView(CheckedDetailView):
...
@@ -269,7 +269,7 @@ class VmDetailView(CheckedDetailView):
kwargs
=
{
'pk'
:
self
.
get_object
()
.
pk
}))
kwargs
=
{
'pk'
:
self
.
get_object
()
.
pk
}))
class
NodeDetailView
(
DetailView
):
class
NodeDetailView
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
DetailView
):
template_name
=
"dashboard/node-detail.html"
template_name
=
"dashboard/node-detail.html"
model
=
Node
model
=
Node
...
@@ -306,7 +306,7 @@ class NodeDetailView(DetailView):
...
@@ -306,7 +306,7 @@ class NodeDetailView(DetailView):
kwargs
=
{
'pk'
:
self
.
object
.
pk
}))
kwargs
=
{
'pk'
:
self
.
object
.
pk
}))
class
AclUpdateView
(
View
,
SingleObjectMixin
):
class
AclUpdateView
(
LoginRequiredMixin
,
View
,
SingleObjectMixin
):
def
post
(
self
,
request
,
*
args
,
**
kwargs
):
def
post
(
self
,
request
,
*
args
,
**
kwargs
):
instance
=
self
.
get_object
()
instance
=
self
.
get_object
()
...
@@ -361,7 +361,7 @@ class TemplateCreate(SuccessMessageMixin, CreateView):
...
@@ -361,7 +361,7 @@ class TemplateCreate(SuccessMessageMixin, CreateView):
return
reverse_lazy
(
"dashboard.views.template-list"
)
return
reverse_lazy
(
"dashboard.views.template-list"
)
class
TemplateDetail
(
SuccessMessageMixin
,
UpdateView
):
class
TemplateDetail
(
LoginRequiredMixin
,
SuccessMessageMixin
,
UpdateView
):
model
=
InstanceTemplate
model
=
InstanceTemplate
template_name
=
"dashboard/template-edit.html"
template_name
=
"dashboard/template-edit.html"
form_class
=
TemplateForm
form_class
=
TemplateForm
...
@@ -397,7 +397,7 @@ class TemplateDetail(SuccessMessageMixin, UpdateView):
...
@@ -397,7 +397,7 @@ class TemplateDetail(SuccessMessageMixin, UpdateView):
kwargs
=
self
.
kwargs
)
kwargs
=
self
.
kwargs
)
class
TemplateList
(
SingleTableView
):
class
TemplateList
(
LoginRequiredMixin
,
SingleTableView
):
template_name
=
"dashboard/template-list.html"
template_name
=
"dashboard/template-list.html"
model
=
InstanceTemplate
model
=
InstanceTemplate
table_class
=
TemplateListTable
table_class
=
TemplateListTable
...
@@ -416,14 +416,14 @@ class VmList(LoginRequiredMixin, SingleTableView):
...
@@ -416,14 +416,14 @@ class VmList(LoginRequiredMixin, SingleTableView):
table_pagination
=
False
table_pagination
=
False
class
NodeList
(
SingleTableView
):
class
NodeList
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
SingleTableView
):
template_name
=
"dashboard/node-list.html"
template_name
=
"dashboard/node-list.html"
model
=
Node
model
=
Node
table_class
=
NodeListTable
table_class
=
NodeListTable
table_pagination
=
False
table_pagination
=
False
class
VmCreate
(
TemplateView
):
class
VmCreate
(
LoginRequiredMixin
,
TemplateView
):
form_class
=
VmCreateForm
form_class
=
VmCreateForm
form
=
None
form
=
None
...
@@ -497,7 +497,7 @@ class VmCreate(TemplateView):
...
@@ -497,7 +497,7 @@ class VmCreate(TemplateView):
return
redirect
(
path
)
return
redirect
(
path
)
class
NodeCreate
(
TemplateView
):
class
NodeCreate
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
TemplateView
):
def
get_template_names
(
self
):
def
get_template_names
(
self
):
if
self
.
request
.
is_ajax
():
if
self
.
request
.
is_ajax
():
...
@@ -573,7 +573,7 @@ class NodeCreate(TemplateView):
...
@@ -573,7 +573,7 @@ class NodeCreate(TemplateView):
return
redirect
(
reverse_lazy
(
'dashboard.views.detail'
,
resp
))
return
redirect
(
reverse_lazy
(
'dashboard.views.detail'
,
resp
))
class
VmDelete
(
DeleteView
):
class
VmDelete
(
LoginRequiredMixin
,
DeleteView
):
model
=
Instance
model
=
Instance
template_name
=
"dashboard/confirm/base-delete.html"
template_name
=
"dashboard/confirm/base-delete.html"
...
@@ -591,6 +591,9 @@ class VmDelete(DeleteView):
...
@@ -591,6 +591,9 @@ class VmDelete(DeleteView):
return
reverse_lazy
(
'dashboard.index'
)
return
reverse_lazy
(
'dashboard.index'
)
def
get_context_data
(
self
,
**
kwargs
):
def
get_context_data
(
self
,
**
kwargs
):
object
=
self
.
get_object
()
if
not
object
.
has_level
(
self
.
request
.
user
,
'owner'
):
raise
PermissionDenied
()
# this is redundant now, but if we wanna add more to print
# this is redundant now, but if we wanna add more to print
# we'll need this
# we'll need this
context
=
super
(
VmDelete
,
self
)
.
get_context_data
(
**
kwargs
)
context
=
super
(
VmDelete
,
self
)
.
get_context_data
(
**
kwargs
)
...
@@ -618,7 +621,7 @@ class VmDelete(DeleteView):
...
@@ -618,7 +621,7 @@ class VmDelete(DeleteView):
return
HttpResponseRedirect
(
success_url
)
return
HttpResponseRedirect
(
success_url
)
class
NodeDelete
(
DeleteView
):
class
NodeDelete
(
LoginRequiredMixin
,
SuperuserRequiredMixin
,
DeleteView
):
"""This stuff deletes the node.
"""This stuff deletes the node.
"""
"""
...
@@ -664,7 +667,7 @@ class NodeDelete(DeleteView):
...
@@ -664,7 +667,7 @@ class NodeDelete(DeleteView):
return
reverse_lazy
(
'dashboard.index'
)
return
reverse_lazy
(
'dashboard.index'
)
class
PortDelete
(
DeleteView
):
class
PortDelete
(
LoginRequiredMixin
,
DeleteView
):
model
=
Rule
model
=
Rule
pk_url_kwarg
=
'rule'
pk_url_kwarg
=
'rule'
...
@@ -710,7 +713,7 @@ class PortDelete(DeleteView):
...
@@ -710,7 +713,7 @@ class PortDelete(DeleteView):
kwargs
=
{
'pk'
:
self
.
kwargs
.
get
(
"pk"
)})
kwargs
=
{
'pk'
:
self
.
kwargs
.
get
(
"pk"
)})
class
VmMassDelete
(
View
):
class
VmMassDelete
(
LoginRequiredMixin
,
View
):
def
get
(
self
,
request
,
*
args
,
**
kwargs
):
def
get
(
self
,
request
,
*
args
,
**
kwargs
):
vms
=
request
.
GET
.
getlist
(
'v[]'
)
vms
=
request
.
GET
.
getlist
(
'v[]'
)
objects
=
Instance
.
objects
.
filter
(
pk__in
=
vms
)
objects
=
Instance
.
objects
.
filter
(
pk__in
=
vms
)
...
@@ -757,7 +760,7 @@ class LeaseCreate(SuccessMessageMixin, CreateView):
...
@@ -757,7 +760,7 @@ class LeaseCreate(SuccessMessageMixin, CreateView):
return
reverse_lazy
(
"dashboard.views.template-list"
)
return
reverse_lazy
(
"dashboard.views.template-list"
)
class
LeaseDetail
(
SuccessMessageMixin
,
UpdateView
):
class
LeaseDetail
(
LoginRequiredMixin
,
SuccessMessageMixin
,
UpdateView
):
model
=
Lease
model
=
Lease
form_class
=
LeaseForm
form_class
=
LeaseForm
template_name
=
"dashboard/lease-edit.html"
template_name
=
"dashboard/lease-edit.html"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment