Create Processing Schedules and Periods

Description

As an administrator I want to create processing schedules and processing periods in OpenLMIS so that I can define the schedules used for the requisition process.

Acceptance Criteria:

  1. A new page is created for Administration called Processing Schedules.

  2. An admin can create a new processing schedule by clicking on the "Add Processing Schedule" button.

    1. The Processing Schedule Code, and Name are required text fields, and the Processing Schedule Description is an optional text field.

    2. When a new processing schedule is added successfully, they are directed back to the Processing Schedules page, and the new schedule appears in the table.

  3. Processing schedule codes are unique.

    1. This should be validated when the processing schedule is saved to the OpenLMIS Reference Data Service

    2. The Processing Schedule code cannot be edited or changed once the Processing Schedule has been created.

  4. An admin can create and define processing periods within a schedule by clicking on the Edit button.

  5. When adding Processing Periods to a Processing Schedule, the following fields are required:

    1. Name (text input)

    2. Processing Schedule Code (text input)

    3. Start Date (date input)

      1. Has popover description "The first start date should match when your organization will begin requisitioning and reporting."

      2. Can be any day, but must be before the End Date

    4. End Date (date input)

      1. Can be any day after the Start Date, and can't be the Start Date

  6. Processing periods are ordered by start date in ascending order (earliest to latest)

  7. Processing periods are paginated

  8. Once the first period is created, the frontend sets the initial value for the start date to be one day after the last processing period defined in the schedule and the start date is not editable

    1. If no periods exist, the admin can edit the start date

  9. When the admin clicks Save, a confirmation modal appears that asks "Do you want to save changes to the 'Processing schedule code'?" Where the processing schedule code matches the schedule that was updated (MPS or QTR in the mockup example).

  10. A Processing Period within a schedule cannot be removed if there have been requisitions created using it. (editing is a separate ticket)

Mock Up

Assumptions:

  1. When a processing period is added to an existing processing schedule used by requisitions, the new processing periods are immediately available to use in requisitions.

  2. Editing an existing processing period is a separate ticket

Status

Assignee

Mateusz Kwiatkowski

Reporter

Sam Im

Labels

Story Points

8

Time tracking

40h

Components

Sprint

None

Fix versions

Priority

Major
Configure