Approving a requisition results in Internal Server Error (and font-awesome doesn't load)

Description

When logged in as psupervisor in UAT, I tried to approve a requisition. Once I clicked Approve I get an Internal Server Error message and the requisition status doesn't change.

Environment

None

Activity

Show:
Josh Zamor
February 24, 2017, 3:54 AM

To whomever picks this up first...

The font-awesome failure to load is not the cause of the Internal Server Error 500.

Additionally this looks hard to reproduce:

  • I'm not clear why a requisition in approved status has all these fields that I have to put data in for?

I tracked this down in the logs and found the following in /var/messages:

https://www.scalyr.com/events?mode=log&filter=&log=%2Fvar%2Flog%2Fmessages&logSource=uat.openlmis.org&startTime=Feb%2023%2C%202017%205%3A18%3A47%20PM&endTime=Feb%2023%2C%202017%205%3A30%3A05%20PM

Which seems to me to suggest a NPE at line 150 of RequisitionValidator, however there is also a previous log statement:

2017-02-24T01:18:58+00:00 3c6aeeb64186 [nio-8080-exec-8] DEBUG org.openlmis.requisition.web.RequisitionController Requisition with id 594ada23-6ce7-447c-8c14-ea305a033bc1 approved

which seems very confusing

Sebastian Brudziński
February 27, 2017, 2:43 PM
Edited

It looks that this is related to the IN_APPROVAL status (for when there's more than one approve required). I've been able to reproduce the IN_APPROVAL requisition having editable fields on the UI. Still looking for that problem on the backend which can only happen if requestedQuantity is null and is possibly somehow related to the ability to update the requisition in that status.

Sebastian Brudziński
February 28, 2017, 3:01 PM

While testing this, please take into consideration all acceptance criteria from subtickets. Also, pay special attention to how IN_APPROVAL status for requisition works as it was probably the root problem in this case.

Łukasz Lewczyński
March 1, 2017, 10:51 AM

I did steps from OLMIS-1866. When I logged into as a program supervisor, I changed approved quantity and remarks. When I tried to approve a requisition I got:
requisition.error.validation.onlyAvailableForApproval: remarks is only available during the approval step of the requisition process.

Łukasz Lewczyński
March 1, 2017, 1:24 PM

From OLMIS-2018:

  • Approved quantity and remarks columns are visible if requisition is IN_APPROVAL -> pass

  • Approved quantity and remarks columns are editable if requisition is IN_APPROVAL -> pass

  • The product grid behaves the same way as for authorized state for requisitions IN_APPROVAL -> pass

From OLMIS-2007:

  • All fields but approved quantity and approved quantity explanation are non-editable for requisition with IN_APPROVAL status -> pass

  • The non-editable fields look and work the same way as in the AUTHORIZED status for IN_APPROVAL requisition -> pass

I done steps from OLMIS-1866. I was able to execute all steps without any problems.

Assignee

Sebastian Brudziński

Reporter

Sam Im

Labels

Story Points

3

Time tracking

0m

Time remaining

0m

Components

Sprint

None

Fix versions

Priority

Blocker
Configure