Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Group scheduling does not allow group requirements that have an override #5733

Closed
2 tasks done
RufenachtPW opened this issue Jan 30, 2024 · 3 comments
Closed
2 tasks done
Labels
Fixed in v16.4 Status: Confirmed It's clear what the subject of the issue is about, and what the resolution should be. Type: Bug Confirmed bugs or reports that are very likely to be bugs.

Comments

@RufenachtPW
Copy link

RufenachtPW commented Jan 30, 2024

Description

In Group scheduling you can not schedule a volunteer if you have Scheduling Must Meet Requirements turned on and the group members requirements have been manually marked as complete by an override. If a group leader marks the person as have met the group requirement this sets the override date time field but not the requirement met date time field. Group Scheduler call on Group service.GroupMembersNotMeetingRequirements. This maybe as intended but it is somewhat confusing. If you allow a leader to override the requirement then what is that actually allowing if you still can not schedule a volunteer. If the requirement is overrode, the group member list and the requirements tab does not show any validation errors but on the group scheduler the member shows has having not met the requirement and can not be scheduled.

Actual Behavior

Group members can not be scheduled if the requirement is marked complete by an override.

Expected Behavior

Group scheduler should match the group member list in regards to showing who has met a requirement and who has not.

Steps to Reproduce

  1. Add the background check requirement to serving group on demo server.
  2. Add Alisha Admin to the override security on the background group requirement type.
  3. Go to a serving group
  4. Add a schedule to the group for scheduling
  5. Check Scheduling Must Meet Requirements
  6. Add Ted Decker as a member.
  7. Save
  8. Go back into Ted decker and mark the requirement as met
    Screenshot 2024-01-31 at 8 09 42 AM
  9. Notice on the group member list and requirement tabs that Ted Decker shows no requirement issues.
    Screenshot 2024-01-31 at 8 10 42 AM
  10. Go to Group scheduler
  11. Notice that Ted Decker can not be scheduled because of group requirements are not met.
    Screenshot 2024-01-31 at 8 12 36 AM

Issue Confirmation

  • Perform a search on the Github Issues to see if your bug or enhancement is already reported.
  • Try to reproduce the problem on a fresh install or on the demo site.

Rock Version

15.3,16.2

Client Culture Setting

EN-US

@chead4
Copy link

chead4 commented Jan 30, 2024

@RufenachtPW HI there - To better understand all the details of this issue and your use case, it would be helpful if you could include screenshots and steps to reproduce on how to replicate this issue.

Additionally, Rock is all about community. A key part of strengthening this bond is knowing who we're engaging with. Could I ask you to include your name, organization, and a photo on your GitHub profile? It's a simple way to put faces to names, fostering a more connected and personal community atmosphere.

@RufenachtPW
Copy link
Author

Thanks @chead4 A little background this is actually part 3 of group requirement fixes. Part 1 was age classification fix Part 2 was allowing group leaders to override group requirements. Bug fix here.. For this one specifically, When a requirement (Requirement being a data view or SQL) is marked as met ether by a group leader(after part 2 fix) or from an override person (Security group on the requirement) the overridden Date Time field is set but not the requirement met date time.
Screenshot 2024-01-31 at 8 14 13 AM
I think the issue is in GroupService when we are checking for requirements and only looking at requirements that have a RequirementMetDateTime. GroupScheduler (line 766) gets the group members from AttendanceService. AttendanceService gets group member ids that lack group requirements from GroupService (GroupMembersNotMeetingRequirements). Group Service requirement query on lines 713-726 gets members who do not have a requirementMetDateTime Value which means this will mark people who have an overrideDateTime as failing to met the requirements.

@sparkdevnetwork-service sparkdevnetwork-service added Status: Confirmed It's clear what the subject of the issue is about, and what the resolution should be. Type: Bug Confirmed bugs or reports that are very likely to be bugs. labels Jan 31, 2024
@chead4
Copy link

chead4 commented Jan 31, 2024

@RufenachtPW Thank you for those details and screenshots Paul. I was able to recreate on the demo site.

@sparkdevnetwork-service sparkdevnetwork-service added the Status: In Dev Queue This issue is being worked on, and has someone assigned. label Feb 7, 2024
unlearnd added a commit that referenced this issue Feb 9, 2024
unlearnd added a commit that referenced this issue Feb 13, 2024
@sparkdevnetwork-service sparkdevnetwork-service removed the Status: In Dev Queue This issue is being worked on, and has someone assigned. label Feb 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Fixed in v16.4 Status: Confirmed It's clear what the subject of the issue is about, and what the resolution should be. Type: Bug Confirmed bugs or reports that are very likely to be bugs.
Projects
None yet
Development

No branches or pull requests

4 participants