Good day all. I'm still using v11 SP10. How do I grant temporary permission for a user through Javascript? I want to add a Comments tab to our custom change ItemType. I have a script attached to an Action to open a dialog box so a user can add a comment. The Submit button runs another script to pull the comments field information and sends it back to the original script. The original script then creates a Comments relationship entry for the change. I have this working except when the change is in the In Review Life Cycle state for normal user, it works for admins. I want to temporarily grant Aras PLM identity to the user so it can be added. I don't want to allow users to be able to edit anything else in the change while it is In Review.
Method: DEMO_Notes_Form
// Aras Labs Project
// Eli Donahue - 10/5/16
//
// Call a custom form in a modal dialog
// Perform some action based on the values returned from dialog
// Aras Labs Project
// Eli Donahue - 10/5/16
//
// Call a custom form in a modal dialog
// Perform some action based on the values returned from dialog
var inn = new Innovator();
// var thisItem = document.getThis
var topWnd = aras.getMostTopWindowWithAras(window);
topWnd = topWnd.main || topWnd;
// get form
var formName = "DEMO_Change_Notes";
var fetchForm = this.getInnovator().newItem("Form","get");
fetchForm.setProperty("name",formName);
fetchForm = fetchForm.apply("get");
// check form for error
if (fetchForm.isError())
return alert("Can't find a form called " + formName);
// get form params
var params =
{
title: 'Change Notes',
formId: fetchForm.getID(), // put your form's id here
aras: aras,
dialogWidth: 600, // set width int
dialogHeight: 400, // set height int
content: 'ShowFormAsADialog.html'
};
var parentItem = parent.thisItem;
var value = parentItem.getProperty("id","");
var userID = aras.getCurrentUserID();
var callback2 = function(res)
{
var innovator = new Innovator();
var partItem = innovator.newItem("sm_DEMO_NDR_Notes","add");
partItem.setProperty("source_id", value);
partItem.setProperty("comments", res.param1);
var resultItem = partItem.apply();
}
// call form in dialog
topWnd.ArasModules.Dialog.show("iframe", params).promise.then(callback2);
return null;
DEMO_SUBMIT-Notes
// Aras Labs Project // Eli Donahue - 10/5/16 // // onClick field event for Submit button // Returns the form field values to the method that called the current dialog // get param1 field var wrapper1 = getFieldByName("comments"); var p1 = wrapper1.getElementsByTagName("textarea")[0]; // confirm fields were correctly retrieved if (!p1) { alert("Can't find field param1"); return; } // return entered values var retVal = {}; retVal["param1"] = p1.value; retVal["param2"] = sourceID; // retVal["searchResult"] = p3.value; parent.returnValue = retVal; parent.close();