dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #41853
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 21367: fix for rule execution during profile edits
------------------------------------------------------------
revno: 21367
committer: Markus Bekken <markus.bekken@xxxxxxxxx>
branch nick: dhis2
timestamp: Mon 2015-12-07 22:24:47 +0200
message:
fix for rule execution during profile edits
modified:
dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry-controller.js
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry-controller.js'
--- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry-controller.js 2015-12-07 15:51:15 +0000
+++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry-controller.js 2015-12-07 20:24:47 +0000
@@ -111,6 +111,7 @@
//Establish which event was affected:
var affectedEvent = $scope.currentEvent;
//In most cases the updated effects apply to the current event. In case the affected event is not the current event, fetch the correct event to affect:
+ if(event==='registration') return;
if (event !== affectedEvent.event) {
angular.forEach($scope.currentStageEvents, function (searchedEvent) {
if (searchedEvent.event === event) {
@@ -123,7 +124,7 @@
$scope.hiddenSections = [];
$scope.warningMessages = [];
$scope.errorMessages = [];
-
+ $scope.hiddenFields = [];
angular.forEach($rootScope.ruleeffects[event], function (effect) {
if (effect.dataElement) {
//in the data entry controller we only care about the "hidefield", showerror and showwarning actions
@@ -144,8 +145,9 @@
affectedEvent[effect.dataElement.id] = "";
$scope.saveDatavalueForEvent($scope.prStDes[effect.dataElement.id], null, affectedEvent);
}
-
- $scope.hiddenFields[effect.dataElement.id] = effect.ineffect;
+ if(effect.ineffect) {
+ $scope.hiddenFields[effect.dataElement.id] = true;
+ }
}
else {
$log.warn("ProgramRuleAction " + effect.id + " is of type HIDEFIELD, bot does not have a dataelement defined");