← Back to team overview

dhis2-devs team mailing list archive

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

 

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
>
>
>
>
> 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
>> <http://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.16Build 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.16Build 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
>>>> <http://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
>>>> <http://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
>>>>
>>>
>>>
>>>
>>
>>
>
>

TIFF image

TIFF image


Follow ups

References