← Back to team overview

dhis2-devs team mailing list archive

Re: [Bug 1368191] [NEW] Attributes and Data Entry form not loading in Tracker Capture

 

Hi,

When I choose Report from the Tracker Capture main menu, I get this in the Console output:

Uncaught TypeError: Cannot read property 'programStageDataElements' of undefined 
Uncaught TypeError: Cannot read property 'programStageDataElements' of undefined 
	(anonymous function) 
	k 
	l.fireWith 
	request.onsuccess

Hope this helps.

Thanks

Busoye



On 13 Sep 2014, at 17:23, Adebusoye Anifalaje <busoye@xxxxxxxx> wrote:

> Abyot, do you have any ideas why a program might be registered successfully but not enrolled?
> 
> Thanks
> 
> Busoye
> 
> On 12 Sep 2014, at 11:34, Abyot Gizaw <abyota@xxxxxxxxx> wrote:
> 
>> It seems the registration has succeeded but not the enrollment. Registration and enrollment are separate things. I will look into the messaging/log to make is more informative.
>> 
>> The commits I just made won't be available in the demo until the next scheduled build. You need to wait some time... or else checkout the source code (r16421) and build it yourself.
>> 
>> ---
>> Thank you,
>> Abyot.
>> 
>> On Fri, Sep 12, 2014 at 12:16 PM, Adebusoye Anifalaje <busoye@xxxxxxxx> wrote:
>> Thanks for the info. 
>> 
>> I tried using the demo to enrol on the Child Program but it failed without providing any more detail. Working on my local host, I have enrolled an entity with the profile showing which seems to suggest that the registration was fine but still cannot enter any data for the program stage.
>> 
>> I have two screenshots attached to show you what I am seeing.
>> 
>> Regards,
>> Busoye
>> 
>> <Demo Registration Error.tiff> 
>> 
>> <Enrolled but not enrolled.tiff>
>> 
>> On 12 Sep 2014, at 11:03, Abyot Gizaw <abyota@xxxxxxxxx> wrote:
>> 
>>> Hi Busoye,
>>> 
>>> 1. Custom registration form is not yet possible... will come for 2.17
>>> 2. Future dates, yes you are correct current year is sort of the limit. We really couldn't get a sensible boundary there. will make some changes to give more space.
>>> 3. not sure I understand 3, that can only happen if the enrollment has failed. 
>>> 
>>> 
>>> ---
>>> Thank you,
>>> Abyot.
>>> 
>>> On Fri, Sep 12, 2014 at 11:36 AM, Adebusoye Anifalaje <busoye@xxxxxxxx> wrote:
>>> 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
>>>>> 
>>>> 
>>>> 
>>> 
>>> 
>> 
>> 
> 
> _______________________________________________
> 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


References