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

UI and file format validation for Bulk Withdrawal Upload #2111

Closed
9 tasks done
JasonCTang opened this issue Jul 13, 2023 · 2 comments
Closed
9 tasks done

UI and file format validation for Bulk Withdrawal Upload #2111

JasonCTang opened this issue Jul 13, 2023 · 2 comments
Assignees
Labels

Comments

@JasonCTang
Copy link
Collaborator

JasonCTang commented Jul 13, 2023

Describe the task
UI and file format validation for Bulk Withdrawal Upload

Figma Design
https://www.figma.com/file/9Om2tzLAVEoMQrjmrH4fhu/MOD-SIMS?type=design&node-id=12566-163067&mode=design&t=LyYYv68zdOfihIDs-0

Additional Context

  • File Layout: https://app.zenhub.com/files/319429847/d246b205-1c6f-449d-b998-b8c75d8e08b2/download
  • File is based off all applications that have had an assessment since the last file was sent
  • The withdrawal file is a flat ASCII text file.
  • Workaround: Institutions that use a bulk withdrawal file still have the ability to enter withdrawals through Insitution Portal.
  • Process each record as if it were an manually entered withdrawal.
  • Although this is an "integration" file, it currently still requires a manual process to be executed by the Institution user in SFAS where they have the opportunity to review the warnings prior to committing the changes to SFAS. Therefore, we are suggesting the same approach as the Bulk Offering Upload.

Acceptance Criteria

  • Process each record as if it were a manually entered withdrawal.
  • Allow only BC Public institutions to use and perform this upload.
  • Allow only Institution Administrator role to perform this upload.
  • Follow the same approach as bulk offering file upload, only process file if all records pass validation (all or nothing), display issues on the page, etc.
  • As part of this ticket, do only the file structural format validation.
  • Validate the file structure and abort the process if the files are not as expected. In case one or multiple validations failed, return the validation errors.
    - [ ] Validate header record type.
    - [ ] Validate withdrawal record type.
    - [ ] Validate SIN to be numeric and with 9 digits.
    - [ ] Validate the application number to be numeric with 10 digits.
    - [ ] Validate the withdrawal to be a valid date in the format YYYYMMDD.
    - [ ] Validate footer record type.
    - [ ] Validate if the total number of records in the file matches the footer information.
  • Allow the process to be executed as validation only, that will check further for possible errors (future ticket https://app.zenhub.com/workspaces/student-information-management-system-5fce9df5aa1b45000e937014/issues/gh/bcgov/sims/2112) but should not persist any data to the database.
  • For every single file line that has an error or warning, a summary should be displayed
    - [ ] Line number: record number including the header in the count.
    - [ ] Validations: display a user-friendly message about why the record was not considered valid.
  • Only allow plain text files to be uploaded. (Use similar model to the offering CSV upload: https://teams.microsoft.com/l/message/19:meeting_YmYwNTBjZmQtMDBkMS00YmYzLTliZDEtNzJhOGRiOTBjY2Ew@thread.v2/1689705689456?context=%7B%22contextType%22%3A%22chat%22%7D)
@guru-aot
Copy link
Collaborator

As per the existing design, changing the figma design from numbered to bullets as followed in offering upload
Private Zenhub Image

Private Zenhub Image

guru-aot added a commit that referenced this issue Aug 25, 2023
UI format validation bulk application withdrawal upload
@guru-aot
Copy link
Collaborator

@JasonCTang Please confirm the error messages on the validations, if anything needed to be changed, it had to be taken as part of next story #2112

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants