dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #32785
Re: [Bug 1368191] [NEW] Attributes and Data Entry form not loading in Tracker Capture
Hi Abyot,
I have just downloaded the latest 2.16 stable and the enrolment attributes are loading when you select register. A few problems
though:
1) Customised tracked entity form does not load on enrolment page. I get the message below from the console when I select Register
ReferenceError: data is not defined
at http://localhost:8080/dhis-web-tracker-capture/components/enrollment/enrollment-controller.js:176:43
at wrappedCallback (http://localhost:8080/dhis-web-commons/javascripts/angular/angular.js:11046:81)
at http://localhost:8080/dhis-web-commons/javascripts/angular/angular.js:11132:26
at Scope.$eval (http://localhost:8080/dhis-web-commons/javascripts/angular/angular.js:12075:28)
at Scope.$digest (http://localhost:8080/dhis-web-commons/javascripts/angular/angular.js:11903:31)
at Scope.$apply (http://localhost:8080/dhis-web-commons/javascripts/angular/angular.js:12179:24)
at done (http://localhost:8080/dhis-web-commons/javascripts/angular/angular.js:7939:45)
at completeRequest (http://localhost:8080/dhis-web-commons/javascripts/angular/angular.js:8142:7)
More details here:
//get enrollment attributes and their values - new attributes because of enrollment
angular.forEach($scope.attributesForEnrollment, function(attribute){
if(!angular.isUndefined(attribute.value)){
tei.attributes.push({attribute: attribute.id, value: attribute.value});
}
});
var enrollment = {trackedEntityInstance: tei.trackedEntityInstance,
program: $scope.selectedProgram.id,
status: 'ACTIVE',
dateOfEnrollment: $scope.newEnrollment.dateOfEnrollment,
dateOfIncident: $scope.newEnrollment.dateOfIncident ? $scope.newEnrollment.dateOfIncident : $scope.newEnrollment.dateOfEnrollment
};
TEIService.update(tei).then(function(updateResponse){
if(updateResponse.status === 'SUCCESS'){
//registration is successful, continue for enrollment
EnrollmentService.enroll(enrollment).then(function(enrollmentResponse){
if(enrollmentResponse.status !== 'SUCCESS'){
//enrollment has failed
var dialogOptions = {
headerText: 'enrollment_error',
bodyText: data.description
};
DialogService.showDialog({}, dialogOptions);
return;
}
2) Future date in attribute date data type not possible beyond last month of current year. This works on the old Find/Add Instance module
3) When you add the registration information and click "Save and Continue”, the dashboard still comes up with "Not yet enrolled"
Version:
2.16
Build revision:
16420
Hope this give you bit more detail.
Thanks
Busoye
On 12 Sep 2014, at 10:33, Abyot Gizaw <abyota@xxxxxxxxx> wrote:
> Hi Busoye,
>
> Yes it is committed properly :)
>
> I have checked the demo as well. I can see First name, Last name and Gender in the registration form - it is only these three attributes which are assigned to Child Programme.
>
> I think the issue is with your cache. Can you clear and try one more time?
>
>
> ---
> Thank you,
> Abyot.
>
> On Fri, Sep 12, 2014 at 11:07 AM, Adebusoye Anifalaje <busoye@xxxxxxxx> wrote:
> Hi Abyot,
>
> Thanks for the update.
>
> I am checking the demo site but I see that this error still persists. If you choose Ngelehun CHC -> Child Program -> Register, the attributes that you get are not from the Program Attributes rather those defined as "Attributes with no Programs". The output from the console is below. I can’t see the build revision but the details are and from the CI I see that the fix was restored earlier this morning.
>
> Any chance you could see if this was committed properly?
>
> Thanks
>
> Busoye
>
>
>
> TypeError: Cannot read property 'id' of undefined
> at https://apps.dhis2.org/demo/dhis-web-tracker-capture/scripts/services.js:437:75
> at Array.forEach (native)
> at Object.forEach (https://apps.dhis2.org/demo/dhis-web-commons/javascripts/angular/angular.js:322:11)
> at https://apps.dhis2.org/demo/dhis-web-tracker-capture/scripts/services.js:436:25
> at wrappedCallback (https://apps.dhis2.org/demo/dhis-web-commons/javascripts/angular/angular.js:11046:81)
> at https://apps.dhis2.org/demo/dhis-web-commons/javascripts/angular/angular.js:11132:26
> at Scope.$eval (https://apps.dhis2.org/demo/dhis-web-commons/javascripts/angular/angular.js:12075:28)
> at Scope.$digest (https://apps.dhis2.org/demo/dhis-web-commons/javascripts/angular/angular.js:11903:31)
> at Scope.$apply (https://apps.dhis2.org/demo/dhis-web-commons/javascripts/angular/angular.js:12179:24)
> at https://apps.dhis2.org/demo/dhis-web-tracker-capture/scripts/services.js:417:36
>
>
> Demo site
>
> 2.16
> Build revision:
> Build date:
> 2014-09-12 08:54
>
>
>
> On 11 Sep 2014, at 16:14, Abyot Gizaw <abyota@xxxxxxxxx> wrote:
>
>> Hi Busoye,
>>
>> A fix is now committed - r16418.
>>
>> ---
>> Thank you,
>> Abyot.
>>
>> On Thu, Sep 11, 2014 at 1:59 PM, Adebusoye Anifalaje <busoye@xxxxxxxx> wrote:
>> Public bug reported:
>>
>> Hi Devs,
>>
>> I am having issues loading attributes for a defined program. The program
>> assigned to the org unit shows but when I select Register only the
>> Report Date comes up. There are no errors in the log but the Console
>> output is below:
>>
>> TypeError: Cannot read property 'id' of undefined
>> at https://dhis.leprosy.org/dhis-web-tracker-capture/scripts/services.js:437:62
>> at Array.forEach (native)
>> at Object.forEach (https://dhis.leprosy.org/dhis-web-commons/javascripts/angular/angular.js:322:11)
>> at https://dhis.leprosy.org/dhis-web-tracker-capture/scripts/services.js:436:25
>> at wrappedCallback (https://dhis.leprosy.org/dhis-web-commons/javascripts/angular/angular.js:11046:81)
>> at https://dhis.leprosy.org/dhis-web-commons/javascripts/angular/angular.js:11132:26
>> at Scope.$eval (https://dhis.leprosy.org/dhis-web-commons/javascripts/angular/angular.js:12075:28)
>> at Scope.$digest (https://dhis.leprosy.org/dhis-web-commons/javascripts/angular/angular.js:11903:31)
>> at Scope.$apply (https://dhis.leprosy.org/dhis-web-commons/javascripts/angular/angular.js:12179:24)
>> at https://dhis.leprosy.org/dhis-web-tracker-capture/scripts/services.js:417:36 angular.js:9509(anonymous function) angular.js:9509(anonymous function) angular.js:6950wrappedCallback angular.js:11049(anonymous function) angular.js:11132Scope.$eval angular.js:12075Scope.$digest angular.js:11903Scope.$apply angular.js:12179(anonymous function) services.js:417forEach angular.js:322(anonymous function) services.js:411k jquery.min.js:2l.fireWith jquery.min.js:2request.onsuccess dhis2.storage.idb.js:264
>>
>> The problem seems to be here:
>>
>> angular.forEach(program.programTrackedEntityAttributes, function(pAttribute){
>> var att = attributes[pAttribute.attribute.id];
>> att.mandatory = pAttribute.mandatory;
>> if(pAttribute.displayInList){
>> att.displayInListNoProgram = true;
>>
>> I am using Version:
>> 2.16
>> Build revision:
>> 16410
>>
>> Many thanks.
>>
>> Kind regards,
>> Busoye
>>
>> ** Affects: dhis2
>> Importance: Undecided
>> Status: New
>>
>> --
>> You received this bug notification because you are a member of DHIS 2
>> developers, which is subscribed to DHIS.
>> https://bugs.launchpad.net/bugs/1368191
>>
>> Title:
>> Attributes and Data Entry form not loading in Tracker Capture
>>
>> Status in DHIS 2:
>> New
>>
>> Bug description:
>> Hi Devs,
>>
>> I am having issues loading attributes for a defined program. The
>> program assigned to the org unit shows but when I select Register only
>> the Report Date comes up. There are no errors in the log but the
>> Console output is below:
>>
>> TypeError: Cannot read property 'id' of undefined
>> at https://dhis.leprosy.org/dhis-web-tracker-capture/scripts/services.js:437:62
>> at Array.forEach (native)
>> at Object.forEach (https://dhis.leprosy.org/dhis-web-commons/javascripts/angular/angular.js:322:11)
>> at https://dhis.leprosy.org/dhis-web-tracker-capture/scripts/services.js:436:25
>> at wrappedCallback (https://dhis.leprosy.org/dhis-web-commons/javascripts/angular/angular.js:11046:81)
>> at https://dhis.leprosy.org/dhis-web-commons/javascripts/angular/angular.js:11132:26
>> at Scope.$eval (https://dhis.leprosy.org/dhis-web-commons/javascripts/angular/angular.js:12075:28)
>> at Scope.$digest (https://dhis.leprosy.org/dhis-web-commons/javascripts/angular/angular.js:11903:31)
>> at Scope.$apply (https://dhis.leprosy.org/dhis-web-commons/javascripts/angular/angular.js:12179:24)
>> at https://dhis.leprosy.org/dhis-web-tracker-capture/scripts/services.js:417:36 angular.js:9509(anonymous function) angular.js:9509(anonymous function) angular.js:6950wrappedCallback angular.js:11049(anonymous function) angular.js:11132Scope.$eval angular.js:12075Scope.$digest angular.js:11903Scope.$apply angular.js:12179(anonymous function) services.js:417forEach angular.js:322(anonymous function) services.js:411k jquery.min.js:2l.fireWith jquery.min.js:2request.onsuccess dhis2.storage.idb.js:264
>>
>> The problem seems to be here:
>>
>> angular.forEach(program.programTrackedEntityAttributes, function(pAttribute){
>> var att = attributes[pAttribute.attribute.id];
>> att.mandatory = pAttribute.mandatory;
>> if(pAttribute.displayInList){
>> att.displayInListNoProgram = true;
>>
>> I am using Version:
>> 2.16
>> Build revision:
>> 16410
>>
>> Many thanks.
>>
>> Kind regards,
>> Busoye
>>
>> To manage notifications about this bug go to:
>> https://bugs.launchpad.net/dhis2/+bug/1368191/+subscriptions
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~dhis2-devs
>> Post to : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~dhis2-devs
>> More help : https://help.launchpad.net/ListHelp
>>
>
>
Follow ups
References