OpenTechStrategies / lisc-ttm

LISC TTM code. See https://ttm.lisc-chicago.org/.
GNU Affero General Public License v3.0
1 stars 4 forks source link

Bad totals in Enlace program attendance report. #183

Closed kfogel closed 7 years ago

kfogel commented 7 years ago

(This is urgent -- Enlace needs this data to present to a funder on Tuesday.)

I got a call from Eddie Mendez at Enlace today. They're trying to generate reports on program attendance totals for various time periods. However, there appears to be some bug in the page that provides those reports, such that no matter what date range they pick, some of the totals remain unchanged.

To reproduce:

Log in with our test user, go to Enlace -> Reports -> Attendance. At the top left, click the "Select All" checkbox. Then in the date range boxes, choose some date range (for example, 1 Jan 2016 to 30 June 2017) and click "Search". Now scroll down to the bottom. You'll see three pieces of summary information:

    Total enrollment:  2707  [this number will not change no matter the date range]
    Unique enrollment:  1617  [this number also does not change with date range]
    Total hours:  62314  [this number will vary with date range, as expected]

Some conditional is not being applied to the "Total enrollment" and "Unique enrollment" numbers?

If you look at the detailed information above those summary lines, I think something is wrong there too. The columns are:

    Program name   |   Session name   |   Enrollment per session   |   Dosage hours

I compared side-by-side browser tabs of different date range reports. Although some program/session combinations seem to drop in or out of the listing depending on the date range, for the ones that remain their numbers do not change (and I'm pretty sure some of those program/session combinations shouldn't be listed for the searches I was doing -- for example, why is "Beyond the Ball 28.5 | Fall 2014" showing up at all in a date-range search for 1 Jan 2016 - 30 June 2017?).

Attached are four PDF files Eddie sent, demonstrating the problem as he encountered it. There's no confidential information in these -- it's just program names and dates, not any student names.

ttm-enlace-program-hours-attendance-report-2017-01-01-to-2017-06-30.pdf ttm-enlace-program-hours-attendance-report-2016-01-01-to-2017-06-30.pdf ttm-enlace-program-hours-attendance-report-2016-01-01-to-2016-06-30.pdf ttm-enlace-program-hours-attendance-report-2015-01-01-to-2016-06-30.pdf

kfogel commented 7 years ago

Possible connection to issue #174? Not sure; just noting the possibility here.

cecilia-donnelly commented 7 years ago

Notes as I debug:

Yes, @kfogel is right -- there's a conditional check that isn't being applied. The enrollment counts don't check whether the session existed during that time period, only whether the session is checked in the report. Since users (understandably) are checking "Select All," the total number of sessions and enrollees doesn't change with the date range.

To fix this, I'll need to add a few lines that check whether the given session has any meeting dates within the selected date range. If the session did meet within that date range, the enrollees in the session should count toward the total and unique enrollment numbers. If not, they shouldn't.

cecilia-donnelly commented 7 years ago

Eddie and I corresponded about the changes I made (and deployed), and he wrote "I have been reassured that there no longer exists any outputting issue."