1 # Copyright (C) 2010 Oregon State University et al.
3 # This program is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU General Public License
5 # as published by the Free Software Foundation; either version 2
6 # of the License, or (at your option) any later version.
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License for more details.
13 # You should have received a copy of the GNU General Public License
14 # along with this program; if not, write to the Free Software
15 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
18 from django
.conf
import settings
19 from ganeti_web
.models
import Cluster
24 adds site properties to the context
26 return {'SITE_DOMAIN':settings
.SITE_DOMAIN
, 'SITE_NAME':settings
.SITE_NAME
}
29 ANONYMOUS_PERMISSIONS
= dict(cluster_admin
=False,
33 CLUSTER_ADMIN_PERMISSIONS
= dict(cluster_admin
=True,
37 def common_permissions(request
):
39 adds common cluster perms to the context:
46 if user
.is_authenticated():
48 return CLUSTER_ADMIN_PERMISSIONS
50 perms
= user
.get_perms_any(Cluster
)
53 return CLUSTER_ADMIN_PERMISSIONS
56 create_vm
= 'create_vm' in perms
57 view_cluster
= any((p
in perms
for p
in ['migrate','export','replace_disks','tags']))
60 'cluster_admin':False,
61 'create_vm':create_vm
,
62 'view_cluster':view_cluster
65 return ANONYMOUS_PERMISSIONS