Fix issues in generic policy editor

4.x.x
charitha 8 years ago
parent 78bef05e11
commit 312098b1de

@ -35,3 +35,14 @@ window.queryEditor = CodeMirror.fromTextArea(document.getElementById('policy-def
var validatePolicyProfile = function () { var validatePolicyProfile = function () {
return true; return true;
}; };
/**
* Generates policy profile feature list which will be saved with the profile.
*
* This function will be invoked from the relevant cdmf unit at the time of policy creation.
*
* @returns {Array} profile payloads
*/
var generateGenericPayload = function () {
return window.queryEditor.getValue();
};

@ -21,6 +21,7 @@ var policy = {};
var validateInline = {}; var validateInline = {};
var clearInline = {}; var clearInline = {};
var validateStep = {}; var validateStep = {};
var hasPolicyProfileScript = false;
var enableInlineError = function (inputField, errorMsg, errorSign) { var enableInlineError = function (inputField, errorMsg, errorSign) {
var fieldIdentifier = "#" + inputField; var fieldIdentifier = "#" + inputField;
@ -157,6 +158,9 @@ stepForwardFrom["policy-platform"] = function (actionButton) {
script.type = 'text/javascript'; script.type = 'text/javascript';
script.src = context + policyOperationsScriptSrc; script.src = context + policyOperationsScriptSrc;
$(".wr-advance-operations").prepend(script); $(".wr-advance-operations").prepend(script);
hasPolicyProfileScript = true;
} else {
hasPolicyProfileScript = false;
} }
if (policyOperationsStylesSrc) { if (policyOperationsStylesSrc) {
var style = document.createElement('link'); var style = document.createElement('link');
@ -172,11 +176,14 @@ stepForwardFrom["policy-platform"] = function (actionButton) {
* Forward action of policy profile page. Generates policy profile payload. * Forward action of policy profile page. Generates policy profile payload.
*/ */
stepForwardFrom["policy-profile"] = function () { stepForwardFrom["policy-profile"] = function () {
policy["profile"] = [];
if (hasPolicyProfileScript) {
/* /*
generatePolicyProfile() function should be implemented in plugin side and should include the logic to build the generatePolicyProfile() function should be implemented in plugin side and should include the logic to build the
policy profile object. policy profile object.
*/ */
policy["profile"] = generatePolicyProfile(); policy["profile"] = generatePolicyProfile();
}
// updating next-page wizard title with selected platform // updating next-page wizard title with selected platform
$("#policy-criteria-page-wizard-title").text("ADD " + policy["platform"] + " POLICY"); $("#policy-criteria-page-wizard-title").text("ADD " + policy["platform"] + " POLICY");
}; };
@ -185,11 +192,13 @@ stepForwardFrom["policy-profile"] = function () {
* Backward action of policy profile page. Moves back to platform selection step. * Backward action of policy profile page. Moves back to platform selection step.
*/ */
stepBackFrom["policy-profile"] = function () { stepBackFrom["policy-profile"] = function () {
if (hasPolicyProfileScript) {
/* /*
resetPolicyProfile() function should be implemented in plugin side and should include the logic to reset the policy resetPolicyProfile() function should be implemented in plugin side and should include the logic to reset the policy
profile object. profile object.
*/ */
resetPolicyProfile(); resetPolicyProfile();
}
}; };
/** /**
@ -365,12 +374,14 @@ stepForwardFrom["policy-naming"] = function () {
}; };
var savePolicy = function (policy, isActive, serviceURL) { var savePolicy = function (policy, isActive, serviceURL) {
var profilePayloads;
if (hasPolicyProfileScript) {
/* /*
generateProfileFeaturesList() should be implemented in the plugin side and should include logic to build the generateProfileFeaturesList() should be implemented in the plugin side and should include logic to build the
profilePayloads array which contains objects, {featureCode:"value", deviceType:"value", content:"value"}. profilePayloads array which contains objects, {featureCode:"value", deviceType:"value", content:"value"}.
policy["profile"] object will be available for the method which returns from the generatePolicyProfile() function. policy["profile"] object will be available for the method which returns from the generatePolicyProfile() function.
*/ */
var profilePayloads = generateProfileFeaturesList(); profilePayloads = generateProfileFeaturesList();
$.each(profilePayloads, function (i, item) { $.each(profilePayloads, function (i, item) {
$.each(item.content, function (key, value) { $.each(item.content, function (key, value) {
@ -380,6 +391,9 @@ var savePolicy = function (policy, isActive, serviceURL) {
} }
}); });
}); });
} else {
profilePayloads = generateGenericPayload();
}
var payload = { var payload = {
"policyName": policy["policyName"], "policyName": policy["policyName"],

Loading…
Cancel
Save