def configuration(request, remote_id=None): """ get/set the security proxy configuration """ data = {} if remote_id is not None: if 'edit' in request.path: edit = True view = False else: edit = False view = True else: edit=False view=False if request.method == 'GET': configuration_id = remote_id if configuration_id: configuration_obj = cloudfacade.get_securityproxy_configurations_by_id(request.ticket, configuration_id) owners = [] for user_id in configuration_obj['owners']: owners.append(cloudfacade.get_user(request.ticket, user_id)['login']) configuration_obj['owners'] = owners data['configuration_obj'] = configuration_obj data['configuration_file'] = configuration_obj['payload'].decode('unicode_escape') try: data['properties'] = extract_configurations(data['configuration_file']) except Exception, e: data['properties'] = {} data['errormessage'] = "The configuration file loaded seems not to be valid, please upload a new one"
} configuration_file = create_configuration_file(props) # update/set by file content elif 'sumbitwithcontent' in request.POST: configuration_file = request.POST.get('filecontent') # update/set by file upload elif 'sumbitwithfile' in request.POST: configuration_file = get_file_data(request.FILES.get('fileupload')) # check if the file is correct or not configuration_file_ok = False try: extract_configurations(configuration_file) configuration_file_ok = True except Exception, e: configuration_file_ok = False if configuration_file_ok: if "newconfiguration" in request.POST: if cloudfacade.create_securityproxy_configuration(request.ticket, request.POST['name'], configuration_file): data['statusmessage'] = "Security configuration file correctly created." return redirect('security_configuration') else: data['errormessage'] = "Error while creating security configuration" else: configuration_id = request.POST['id'] configuration_obj = cloudfacade.get_securityproxy_configurations_by_id(request.ticket, configuration_id) if cloudfacade.update_securityproxy_configuration(request.ticket, configuration_obj['id'], configuration_obj['name'], configuration_file):