SparkDevNetwork / Rock

An open source CMS, Relationship Management System (RMS) and Church Management System (ChMS) all rolled into one.
http://www.rockrms.com
580 stars 353 forks source link

[Alpha 1.16.7.2] Next Gen Check-in child without DOB = error but still checks them in #6076

Closed kimlongcr closed 1 week ago

kimlongcr commented 1 week ago

Description

I was receiving an error when checking in a specific child. It would error but then when I go to checkin the kid in again, it would ask me if I want to check him out or in. So, that checkin worked even though I received an error. I then noticed the kid did not have a DOB. Once I set the DOB, the error goes away. I'm not sure what it should do but I do know it isn't a great parent experience. And, I added this kid via the Edit Family option on the kiosk which doesn't require the DOB be entered so I just skipped it.

Actual Behavior

I try to checkin a kid in Kindergarten who does not have a DOB set but does have the grade set. When I do this, the error I get after selected the child says "An error has occurred". Click on OK and click on Next again, gives the next screenshot below of nowhere to check them in. However, when you go to check them again, it asks if you want to check them out. Screenshot 2024-11-14 at 5 43 08 PM Screenshot 2024-11-14 at 5 45 44 PM

Expected Behavior

I'm not sure. It just seems odd that you received a non descriptive error but then it still checks the kid in. I would think it would let them checkin without a DOB since they have a grade.

Steps to Reproduce

  1. Go to https://rockalpha.crossroads.net/nextgen-checkin
  2. Choose a campus, kiosk and configuration
  3. Click Start
  4. Enter a phone number (5135551212)
  5. Select the family (Heod's)
  6. Select the kid to checkin (chucky)
  7. Checks the kid in but displays the errors as described above

Issue Confirmation

Rock Version

Rock McKinley 16.7 (1.16.7.2)

Client Culture Setting

en-US

cabal95 commented 1 week ago

@kimlongcr That error likely indicates a server side exception happened. I haven't been able to replicate this problem so there is probably other configuration settings or data involved to make the error occur. Can you please duplicate this error and then check your Exception Log in Rock for any exceptions that happened around the same time? The full stack trace from the exception would be helpful too.

kimlongcr commented 1 week ago

@cabal95 Exception: Screenshot 2024-11-15 at 1 26 19 PM Stack Trace: at Rock.Rest.v2.CheckInController.<>c.b__8_1(RenderedLabel l) in \Rock.Rest\v2\CheckInController.cs:line 446 at System.Linq.Enumerable.WhereSelectListIterator2.MoveNext() at System.Collections.Generic.List1..ctor(IEnumerable1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable1 source) at Rock.Rest.v2.CheckInController.d8.MoveNext() in \Rock.Rest\v2\CheckInController.cs:line 444 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Threading.Tasks.TaskHelpersExtensions.d3`1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Controllers.ApiControllerActionInvoker.d0.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Filters.ActionFilterAttribute.d5.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Web.Http.Filters.ActionFilterAttribute.d5.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Filters.ActionFilterAttribute.d0.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Filters.ActionFilterAttribute.d5.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Web.Http.Filters.ActionFilterAttribute.d5.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Filters.ActionFilterAttribute.d0.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Filters.ActionFilterAttribute.d5.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Web.Http.Filters.ActionFilterAttribute.d5.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Filters.ActionFilterAttribute.d0.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Controllers.ActionFilterResult.d2.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Filters.AuthorizationFilterAttribute.d2.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Dispatcher.HttpControllerDispatcher.d__1.MoveNext()

cabal95 commented 1 week ago

@kimlongcr Thanks! This was just fixed this morning to not throw an error like that.

I'm not sure why DOB was making a difference - unless the DOB was causing it to pick a different check-in area that didn't have labels configured.

The issue ended up being that no printer was defined. There are a few ways this could come about, but the most likely is that the Device is set to print to device and the Print To is blank (possibly because you were expecting to use the iPad app with a printer override value set).

image