Totara Learn Open Discussions

TL-40252 - Prevented adding suspended attendees to Seminars via CSV upload or list of IDs

 
Daniel Bond
TL-40252 - Prevented adding suspended attendees to Seminars via CSV upload or list of IDs
by Daniel Bond - Monday, 2 September 2024, 12:50 AM
Group Most helpful contributor 2023

This "fix" (assuming I've understood the description correctly) removes really useful functionality from Totara. Use case:

  • I have 50 users, all of whom are suspended, but we are handed a register of training they attended but was never logged

  • Currently, I can bulk add the users via a list of IDs, mark them as fully attended.

  • If I've understood the "fix", I would now have to unsuspend all 50 of them, bulk add them to the session, mark them as attended and then suspend all of them again.

Would it be possible to add a tick box (similar to "Ignore conflicts") to allow suspended users to be bulk added (either from a file or a list)?

Nathan Lewis
Re: TL-40252 - Prevented adding suspended attendees to Seminars via CSV upload or list of IDs
by Nathan Lewis - Wednesday, 4 September 2024, 4:14 PM
Group Totara

Hi Daniel.

Thanks for your feedback. I did some more investigation into how this works.

I discovered that learners who are suspended will still be removed by the cron task if the session is expired and they have not recorded attendance. I also discovered that it’s not possible to manually add a suspended user to an expired event (using the Attendees interface), although, as you know, you could, before TL-40252, do it using the upload feature. If the cron task had run after you uploaded the attendees but before you had marked attendance then the learners would have been removed and attendance not recorded. So, one way of looking at this is that you've been using something that could be considered an exploit in order to upload attendees and mark attendance of suspended users. It seems clear that the original intention was that suspended users are not included in seminars at all, except where attendance has already been recorded.

Looking at the system overall, I think the whole idea of automatically removing attendees is dangerous. At minimum, I think we should prevent removing users from expired events (or even in-progress events), regardless of whether they have recorded attendance. We should also allow suspended users to be added to expired events, both through the Attendees interface (which has never been possible) as well as using the upload features (by undoing the change we made in TL-40252). I believe this would satisfy your use case as well as prevent the "assigned then not assigned" problem reported in the original ticket. We should also check the notifications and make sure that they specifically exclude suspended users, rather than relying on users not being assigned.

We've created ticket TL-41721 to manage this change.

I think we should continue to remove suspended users from events which are yet to occur. To change this would potentially negatively affect other use cases and I think would be better suited to a solution where seminar admins can choose the behaviour. Any changes to this are outside the scope of this ticket.

Daniel Bond
Re: TL-40252 - Prevented adding suspended attendees to Seminars via CSV upload or list of IDs
by Daniel Bond - Thursday, 5 September 2024, 1:08 AM
Group Most helpful contributor 2023

That's brilliant, thank you for that. Totally agree with everything you've said, including that the fact that upcoming events should be treated differently because it doesn't make sense for suspended users to remain assigned to an event which hasn't yet happened.