Auto-generated events not appearing for non-admin in TC in latest 2.29

Hi devs, seeing some strange behaviour in the recent 2.29 builds, including:
fb88d26 from 2018-06-10 06:45

53a6293 from 2018-06-11 09:07

The issue is that for a non-superuser, existing and auto-generated events for tracker programmes simply don’t appear in data entry. Enrolling works fine, but in TC data entry the auto-generated stages are simply not there in data entry, even though the are actually created and stored in the database. Similarly, opening an existing enrolment will not show the existing events. Trying to add new events manually works except if they are non-repeateable and an event already exists.

Investigating, I found that this query (done by TC when it loads an enrolment) returns no events for a non-superuser, which seems to be the problem:

/api/events.json?ouMode=ACCESSIBLE&trackedEntityInstance=nMAv87EUfTT

However, this query for the event linked to the above TEI does return the event…:

/api/events/Xz1YweK2pYM.json

The fact that the non-superuser can add events, edit data, access the “invisible” events via the API etc lead me to be leave it’s not a sharing/permission issue OR a permission issue. In fact, it seems to only be this specific query that creates problems:

/api/events.json?ouMode=ACCESSIBLE&trackedEntityInstance=nMAv87EUfTT

On the other hand I’m not able to reproduce on 2.29 as far as I can see (which is running the fb88d26 build). Ideas?

Regards

Olav

Update: I’ve been making building a few earlier versions, as we suspect this problem was not present in the fist 2.29 build:

In build 12688b1 from 19 May this strange behavour is present (commit 12688b1a25d03a221ae3ba94e9ad9fedb0c6ff42)

In build 92be7ef from 12 May this strange behavour is present (commit 92be7efd4aa4351b810cafc2dcc2ea5fbb3822f2)

In build ded80da from 3 May this strange behavour is present (commit

ded80dab9d17ba3992e6b61b449700f4b9b34492)

In build 47b1d0d from 24 April things work fine (commit 47b1d0d73317eabb6b53c288f05c36ea84547c0c)

In other words, it seems to be related to a commit from after 23 April but before 3 May:

···
  1. jun. 2018 kl. 20:59 skrev Olav Poppe olavpo@ifi.uio.no:

Hi devs, seeing some strange behaviour in the recent 2.29 builds, including:
fb88d26 from 2018-06-10 06:45

53a6293 from 2018-06-11 09:07

The issue is that for a non-superuser, existing and auto-generated events for tracker programmes simply don’t appear in data entry. Enrolling works fine, but in TC data entry the auto-generated stages are simply not there in data entry, even though the are actually created and stored in the database. Similarly, opening an existing enrolment will not show the existing events. Trying to add new events manually works except if they are non-repeateable and an event already exists.

Investigating, I found that this query (done by TC when it loads an enrolment) returns no events for a non-superuser, which seems to be the problem:

/api/events.json?ouMode=ACCESSIBLE&trackedEntityInstance=nMAv87EUfTT

However, this query for the event linked to the above TEI does return the event…:

/api/events/Xz1YweK2pYM.json

The fact that the non-superuser can add events, edit data, access the “invisible” events via the API etc lead me to be leave it’s not a sharing/permission issue OR a permission issue. In fact, it seems to only be this specific query that creates problems:

/api/events.json?ouMode=ACCESSIBLE&trackedEntityInstance=nMAv87EUfTT

On the other hand I’m not able to reproduce on 2.29 as far as I can see (which is running the fb88d26 build). Ideas?

Regards

Olav


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp