[abac] Display more intuitive numbers for predicate used to set the logic rule
This commit is contained in:
parent
91572594f3
commit
7017406dd6
|
@ -240,7 +240,7 @@ def add_abac_permission(request):
|
|||
if 'predicates' in request.session:
|
||||
predicates = request.session['predicates']
|
||||
request.session.pop('predicates')
|
||||
predicates.append((len(predicates), request.session['working_predicate']))
|
||||
predicates.append(request.session['working_predicate'])
|
||||
request.session.pop('working_predicate')
|
||||
request.session['predicates'] = predicates
|
||||
messages.add_message(request, messages.INFO,
|
||||
|
@ -252,12 +252,12 @@ def add_abac_permission(request):
|
|||
if not 'predicates' in request.session:
|
||||
messages.add_message(request, messages.ERROR,
|
||||
_('No predicate to delete'))
|
||||
elif int(request.POST['predicate_id']) > len(request.session['predicates'])-1:
|
||||
elif int(request.POST['predicate_id']) > len(request.session['predicates']):
|
||||
messages.add_message(request, messages.ERROR,
|
||||
_('Unknown predicate'))
|
||||
else:
|
||||
predicates = request.session['predicates']
|
||||
predicates.pop(int(request.POST['predicate_id']))
|
||||
predicates.pop(int(request.POST['predicate_id'])-1)
|
||||
request.session.pop('predicates')
|
||||
if not predicates:
|
||||
if 'rule' in request.session:
|
||||
|
@ -533,7 +533,8 @@ def check_data_and_create_permission(request, what, how):
|
|||
raise Exception('unable to initalize rule')
|
||||
p_ids1 = {}
|
||||
p_ids2 = {}
|
||||
for p_id, predicate in request.session['predicates']:
|
||||
p_id = 1
|
||||
for predicate in request.session['predicates']:
|
||||
if not 'type' in predicate:
|
||||
raise Exception('Missing type of predicate %s' %str(p_id))
|
||||
pred = None
|
||||
|
@ -598,6 +599,7 @@ def check_data_and_create_permission(request, what, how):
|
|||
rdm_str = ''.join(random.choice(string.ascii_uppercase) for x in range(8))
|
||||
p_ids1[p_id] = rdm_str
|
||||
p_ids2[rdm_str] = pred.id
|
||||
p_id = p_id + 1
|
||||
|
||||
if not p_ids1:
|
||||
raise Exception('No predicate defined')
|
||||
|
@ -752,7 +754,11 @@ def return_add_abac_permission_form(request, template_name='add_abac_permission.
|
|||
else:
|
||||
tpl_p['predicate_types'] = PREDICATE_TYPES_TYPE
|
||||
if 'predicates' in request.session:
|
||||
tpl_p['predicates'] = request.session['predicates']
|
||||
tpl_p['predicates'] = []
|
||||
i = 1
|
||||
for p in request.session['predicates']:
|
||||
tpl_p['predicates'].append((i, p))
|
||||
i = i + 1
|
||||
|
||||
if 'rule' in request.session:
|
||||
tpl_p['rule'] = request.session['rule']
|
||||
|
|
Reference in New Issue