Skip to content
Snippets Groups Projects
Commit a4fd5891 authored by Sebastian Listl's avatar Sebastian Listl :speech_balloon:
Browse files

Merge branch 'sp_1082902_ObservationBugfixes' into '2021.1'

[Projekt: Entwicklung - Neon][TicketNr.: 1082902][[Beobachtungen] verschiedene Bugfixes]

See merge request xrm/basic!1082
parents 070f0bbf c400e790
No related branches found
No related tags found
No related merge requests found
......@@ -4,4 +4,6 @@ import("system.result");
import("system.neon");
if (!vars.get("$this.value") && vars.get("$field.OBJECT_TYPE") && (vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW || vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_EDIT))
result.string(Observation.getAllFieldValue(vars.get("$field.OBJECT_TYPE")));
\ No newline at end of file
{
result.string(Observation.getAllFieldValue(vars.get("$field.OBJECT_TYPE")));
}
......@@ -3,16 +3,16 @@ import("Context_lib");
import("system.vars");
import("system.result");
let isFilterParamExists = vars.exists("$param.ObjectFilter_param") && vars.get("$param.ObjectFilter_param");
let filterParam = vars.get("$param.ObjectFilter_param");
let resFilter;
if ((vars.get("$this.value") == null || vars.get("$this.value") == "") && vars.get("$field.OBJECT_TYPE") && !vars.get("$field.OBJECT_ID") && !isFilterParamExists)
if ((vars.get("$this.value") == null || vars.get("$this.value") == "") && vars.get("$field.OBJECT_TYPE") && !vars.get("$field.OBJECT_ID") && !filterParam)
{
resFilter = Observation.getContextFilter(vars.get("$field.OBJECT_TYPE"), null);
}
else if (!vars.get("$this.value") && isFilterParamExists)
else if (!vars.get("$this.value") && filterParam)
{
resFilter = vars.get("$param.ObjectFilter_param");
resFilter = filterParam;
}
if (resFilter)
......
......@@ -192,7 +192,7 @@ Observation.prototype.checkFilterAndPermissions = function (pUserTitle, pFilterO
// check if the observation has been alredy checkt
if (this.storedFilterResults[storedIndex])
{
return this.storedFilterResults[storedIndex];
return JSON.parse(this.storedFilterResults[storedIndex]);
}
try
......@@ -224,7 +224,7 @@ Observation.prototype.checkFilterAndPermissions = function (pUserTitle, pFilterO
filterResult = null;
}
this.storedFilterResults[storedIndex] = filterResult;
this.storedFilterResults[storedIndex] = JSON.stringify(filterResult);
return filterResult
}
......@@ -241,7 +241,7 @@ Observation.prototype.parseAndFilterObjectFields = function (pObjectFields, pUse
if (this.storedObservedFields[storedIndex])
{
return this.storedObservedFields[storedIndex]
return JSON.parse(this.storedObservedFields[storedIndex]);
}
let observeFields = {};
......@@ -260,7 +260,7 @@ Observation.prototype.parseAndFilterObjectFields = function (pObjectFields, pUse
}
}, this);
this.storedObservedFields[storedIndex] = observeFields;
this.storedObservedFields[storedIndex] = JSON.stringify(observeFields);
return observeFields;
}
......@@ -285,7 +285,7 @@ Observation.prototype._checkDependencies = function (pObserver, pDependentContex
var dependentCheckVars = {}
dependentCheckVars[WorkflowVariables.TRIGGER()] = this.callerVariables[WorkflowVariables.TRIGGER()];
dependentCheckVars[WorkflowVariables.TARGET_CONTEXT()] = pDependentContext;
dependentCheckVars[WorkflowVariables.EVENT_USER()] = pObserver;
dependentCheckVars[WorkflowVariables.EVENT_USER()] = this.callerVariables[WorkflowVariables.EVENT_USER()];
Object.keys(pTempObserver[pObserver][Observation.RECORDS_SPECIFIC_VALUES()]).forEach(function (pRecordID) {
let specificRecordValues = pTempObserver[pObserver][Observation.RECORDS_SPECIFIC_VALUES()][pRecordID];
......@@ -322,7 +322,7 @@ Observation.prototype._formatFieldsToLoad = function (pFilterResults)
let res = {};
let fieldsToLoad = this.callerVariables[WorkflowVariables.FIELDS_TO_LOAD()]
if (Array.isArray(fieldsToLoad))
if (Array.isArray(fieldsToLoad) && !Utils.isNullOrEmpty(fieldsToLoad))
{
let recordFields = {};
let pro = project.getRecordContainerModel(this.callerVariables[Observation.ENTITY_NAME()])["recordFieldMappings"];
......@@ -394,7 +394,7 @@ Observation.prototype.checkObservation = function(pObservationId)
var filterResult;
// exclude the user who made the changes.
if (user)// && pVariables[WorkflowVariables.EVENT_USER()] !== observation[2])
if (user && this.callerVariables[WorkflowVariables.EVENT_USER()] !== user["name"])
{
filterResult = this.checkFilterAndPermissions(user.title, observation[1], observation[0]);
......@@ -405,6 +405,10 @@ Observation.prototype.checkObservation = function(pObservationId)
return filterResult;
}
if (Utils.isNullOrEmpty(observation[3]))
{
observation[3] = Observation.getAllFieldValue(this.callerVariables[WorkflowVariables.TARGET_CONTEXT()]);
}
tempObserver[observation[2]] = this.parseAndFilterObjectFields(observation[3], user.title, filterResult);
tempObserver[observation[2]][Observation.RECORDS_SPECIFIC_VALUES()] = this._formatFieldsToLoad(filterResult);
}
......@@ -448,8 +452,9 @@ Observation.prototype.checkObservation = function(pObservationId)
*/
Observation._syncTempObservationAndObservation = function (pTempObserver, pObservers, pObserverUserID, pChangedRows)
{
if (pTempObserver[pObserverUserID] && (!Utils.isNullOrEmpty(pTempObserver[pObserverUserID][Observation.OBJECT_IDs()])))
{
if (pTempObserver[pObserverUserID] && (!pTempObserver[pObserverUserID][Observation.OBJECT_IDs()] ||
Object.keys(pTempObserver[pObserverUserID][Observation.OBJECT_IDs()]).length > 0))
{
if (!pObservers[pObserverUserID])
{
pObservers[pObserverUserID] = pTempObserver[pObserverUserID];
......@@ -613,7 +618,7 @@ Observation._notification = function (pVariables, pFilteredVariables, pObservers
pFilteredVariables.notificationUser = pObserver;
var isNewDescription = false;
if (pFilteredVariables != {}){
if (!Utils.isNullOrEmpty(pFilteredVariables)){
var rowData = pVariables[WorkflowVariables.ROWDATA()];
Object.keys(pObservers[pObserver]).forEach(function (field) {
if (pVariables[WorkflowVariables.CHANGED_ROWS()].indexOf(field) > -1)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment