Add a source of attributes from the main administration interface
This commit is contained in:
parent
3fd4f8013f
commit
6ec65d84a3
|
@ -33,8 +33,6 @@ from django.conf import settings
|
|||
from django.db import transaction
|
||||
|
||||
|
||||
from forms import AddSourceForm
|
||||
|
||||
from core import is_policy_action_creator, is_policy_object_creator, \
|
||||
is_policy_user_administrator, is_in_policy, is_valid_regex, \
|
||||
is_admin_permission_in_policy, is_authorized_by_names, \
|
||||
|
@ -1085,28 +1083,3 @@ def del_abac_permission(request):
|
|||
messages.add_message(request, messages.INFO,
|
||||
_('Permission deleted'))
|
||||
return HttpResponseRedirect(back)
|
||||
|
||||
@csrf_exempt
|
||||
@check_policy_in_session
|
||||
@check_authorized_for_abac
|
||||
def add_abac_source(request):
|
||||
policy = get_policy_from_session(request)
|
||||
if request.method == 'POST':
|
||||
if 'cancel' in request.POST:
|
||||
messages.add_message(request, messages.INFO,
|
||||
_('Operation canceled'))
|
||||
return HttpResponseRedirect('mod_policy?id=' + str(policy.id))
|
||||
form = AddSourceForm(request.POST)
|
||||
if form.is_valid():
|
||||
source = form.save()
|
||||
logger.debug('add_abac_source: Source %s created' %source)
|
||||
messages.add_message(request, messages.INFO,
|
||||
_('The source %s has been correctly created.') % source)
|
||||
else:
|
||||
messages.add_message(request, messages.ERROR,
|
||||
_('Invalid form. Source not created.'))
|
||||
return HttpResponseRedirect('mod_policy?id=' + str(policy.id))
|
||||
else:
|
||||
form = AddSourceForm()
|
||||
title = _('Add a new ABAC source in %s' %policy)
|
||||
return return_add_any(request, form, title)
|
||||
|
|
|
@ -158,7 +158,8 @@ def index(request):
|
|||
if is_user_administrator(request.user):
|
||||
list_power_services['Generic user management'] = \
|
||||
{'add_user': "Add a user",
|
||||
'list_users': "Modify or delete a user"}
|
||||
'list_users': "Modify or delete a user",
|
||||
'add_abac_source': "Add a source of attributes"}
|
||||
if policies:
|
||||
list_user_mgmt_services['list_users_for_aliases'] = \
|
||||
'Manage user aliases and \
|
||||
|
@ -354,8 +355,6 @@ def mod_policy(request):
|
|||
"Display the whole policy"
|
||||
|
||||
if is_policy_abac_administrator(request.user, policy):
|
||||
list_abac_services['add_abac_source'] = \
|
||||
"Add a trusted source of attributes"
|
||||
if at_least_one_abac_permission_to_set(request.user, policy):
|
||||
list_abac_services['add_abac_permission'] = \
|
||||
"Create an ABAC permission"
|
||||
|
|
|
@ -123,7 +123,7 @@ urlpatterns = patterns('',
|
|||
url(r'^add_abac_permission$', 'acs.abac_views.add_abac_permission'),
|
||||
url(r'^list_abac_permissions$', 'acs.abac_views.list_abac_permissions'),
|
||||
url(r'^del_abac_permission$', 'acs.abac_views.del_abac_permission'),
|
||||
url(r'^add_abac_source$', 'acs.abac_views.add_abac_source'),
|
||||
url(r'^add_abac_source$', 'acs.views.add_abac_source'),
|
||||
|
||||
url(r'^add_admin_view$',
|
||||
'acs.acs_administration_views.add_admin_view'),
|
||||
|
|
26
acs/views.py
26
acs/views.py
|
@ -32,7 +32,10 @@ from django.conf import settings
|
|||
|
||||
from forms import AddRoleForm, AddObjectForm, AddViewForm, AddActionForm, \
|
||||
AddActivityForm, RoleChangeForm, AcsObjectChangeForm, \
|
||||
ViewChangeForm, ActionChangeForm, ActivityChangeForm
|
||||
ViewChangeForm, ActionChangeForm, ActivityChangeForm, \
|
||||
AddSourceForm
|
||||
|
||||
|
||||
|
||||
from core import is_policy_action_creator, is_policy_object_creator, \
|
||||
is_policy_user_administrator, is_in_policy, is_valid_regex, \
|
||||
|
@ -82,6 +85,27 @@ root_url = settings.ROOT_URL
|
|||
'''
|
||||
|
||||
|
||||
@csrf_exempt
|
||||
@prevent_access_to_not_user_administrators
|
||||
def add_abac_source(request):
|
||||
title = _('Add a new ABAC source')
|
||||
if request.method == 'POST':
|
||||
if 'cancel' in request.POST:
|
||||
messages.add_message(request, messages.INFO,
|
||||
_('Operation canceled'))
|
||||
return HttpResponseRedirect(root_url)
|
||||
form = AddSourceForm(request.POST)
|
||||
if form.is_valid():
|
||||
source = form.save()
|
||||
logger.debug('add_abac_source: Source %s created' %source)
|
||||
messages.add_message(request, messages.INFO,
|
||||
_('The source %s has been correctly created.') % source)
|
||||
return HttpResponseRedirect(root_url)
|
||||
else:
|
||||
form = AddSourceForm()
|
||||
return return_add_any(request, form, title)
|
||||
|
||||
|
||||
@csrf_exempt
|
||||
@prevent_access_to_not_user_administrators
|
||||
def list_users(request):
|
||||
|
|
Reference in New Issue