Create a basic requisition

Description

As a storeroom manager (at a specific facility), I want to create a BASIC requisition so that I can place a simple order for a list of products associated with my facility, program and period.

This is a basic requisition. adds configuration. adds more configuration. Please review all stories to understand the future features.

Review and Reference

Acceptance Criteria
Verify that:

  • a requisition object is created based off the requisition template associated with the program

  • ensure the requisition logic persists (calculations, configured column headers)

  • the requisition object is associated with a Facility

  • the requisition object is associated with a Program

  • the requisition object is associated with a Schedule

  • the requisition object is associated with a Period within the Schedule

  • a time stamp of the creation date is recorded

  • system records requisition status "initiated"

  • system creates a requisition entity

  • the requisition object is associated with a one or more "product(s)" and related product attributes (code, name, etc.)

  • there is a "requested quantity" input field associated with each product line item

  • A quantity must be entered prior to submission (no data entered, no submission)

  • there is a mechanism to 'submit' the requisition

  • there is a mechanism to save the requisition**

  • a requisition can be saved and returned to**

  • upon submission the requisition status changes to "submitted"

  • <new> The initiate endpoint does not need to take a whole requisition, we can trim it to the required info

  • <new> Make sure that users are not allowed to provide input for hidden fields - https://openlmis.atlassian.net/browse/OLMIS-786

  • <new> the template is used to create the requisition (tie the requisition to the template)

**saving behavior may need to be pulled out to be its own story.

Other requisition status: initiated, submitted, authorized, approved, released, skipped)

Dependency: there is a product associated with a facility and program.

Attachments

4

QAlity Plus - Test Management

Checklists

Activity

Paweł Gesek October 20, 2016 at 5:01 PM
Edited

I've been able to initiate a requisition on the UI, the correct /initiate endpoint is called.

The endpoint has been simplified as mentioned in the criteria. The template is being use, we are dealing with it in its own separate field tickets. Validations are fine, products are fetched.

I am able to update the requisition, through the /requisiton/<id> endpoint, updating works properly now.

Endpoints for transitioning the requisition between states exist and are working - the UI is being tied to them.

I am closing this, if anything comes up, we can deal with it in specific tickets. FYI

Pengfei Cui October 20, 2016 at 2:48 PM

SUCCESS: Integrated in

OpenLMIS-requisition-service-Sonar #414
Adding tests for updating requisition (happy path + validation (jkondrat: 34a5ee5ec8b37c78653b1e0367290e1d00f275b4)

Pengfei Cui October 20, 2016 at 2:42 PM

SUCCESS: Integrated in

OpenLMIS-requisition-service #662
Adding tests for updating requisition (happy path + validation (jkondrat: 34a5ee5ec8b37c78653b1e0367290e1d00f275b4)

Pengfei Cui October 20, 2016 at 1:43 PM

SUCCESS: Integrated in

OpenLMIS-requisition-service-Sonar #412
Making controller return 400 instead of using error handler (jkondrat: 64b684ac42388f9ea2a2bcaa0e027f3a6ce40628)

Pengfei Cui October 20, 2016 at 1:37 PM

SUCCESS: Integrated in

OpenLMIS-requisition-service #660
Making controller return 400 instead of using error handler (jkondrat: 64b684ac42388f9ea2a2bcaa0e027f3a6ce40628)

Done
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Story Points

Original estimate

Time tracking

5w 1d 7h 25m logged4d 5h remaining

Components

Sprint

Fix versions

Priority

Time Assistant

Created June 10, 2016 at 9:29 PM
Updated October 28, 2016 at 6:27 AM
Resolved October 20, 2016 at 5:03 PM