Ejemplo n.º 1
0
    def setupRESTAccessCodes(self):
        user = self.session().value('localId')
        fields = self.request().fields()
        policyName, pathPrefix, policyType = Nodes.cmcDecodeNodeMode(fields)

        if 'addAccessCode' in fields:
            desc = fields['accessCodeAdd_desc']

            if 'true' == fields.get('addAccessCode_generate'):
                self.sendAction(pathPrefix + '/papi/action/generate_access_code',
                                ('user', 'string', user),
                                ('desc', 'string', desc))
            else:
                data = fields['addAccessCode_data']

                self.sendAction(pathPrefix + '/papi/action/import_access_code',
                                ('data', 'string', data),
                                ('desc', 'string', desc))

        elif 'editAccessCode' in fields:
            desc = fields['accessCodeEdit_desc']
            jti = fields['accessCodeEdit_jti']

            self.setNodes(('%s/papi/config/code/%s/desc' % (pathPrefix, jti), 'string', desc))

        elif 'removeAccessCode' in fields:
            FormUtils.deleteNodesFromConfigForm(self.mgmt,
                                                self.cmcPolicyRetarget('/papi/config/code'),
                                                'accesscode_',
                                                fields)