Feature - internal control date picker ux

on e3.24.0:

  • when you go to internal controls and add a control, on the audit tab
  • we get the following ux/ui which needs to be upgraded on the new ux

  • we want to use a picker that looks like this:
  • if the user decides to audit (by default is disabled)
  • where the user first selects when the FIRST (and maybe only if they just want to test once a year) audit date is, then they can add recurrence by providing two variables for example: “$3 $months” , remember this is optional as the user might just want to test only once
  • if the dates selected are on the PAST in comparison to today, we need an additional option where the user chooses to “Create Past Audits”, by default this option is disabled. For example: If today is 8th november and the user creates audits for 8th July and 8th December, the option should show up because of the 8th July select.

  • when these settings are saved, currently eramba creates audits based on those dates for the current and next calendar year, we want to change this to the following:
  • create audits for the current calendar year only, if the option “Create Past Audits” is disabled do not create audit records for the current calendar year where the plan date is in the past of today.
  • do not create audit records for the next calendar year, instead we need to migrate the yearly cron task to the daily cron and check every day, for every control, what audit records should exist based on the planned dates 90 days from today. do not repeat audit records if they exist (based on the planned date).

Example: if today is If today is 8th november and the user creates audits for 8th July and 8th December, the “Create Past Audits” option is disabled.

  • Create one audit record for 8th december
  • The daily cron, on the night of the 7th Setpember should create an audit record (if it does not already exist) for the 8th of december
  • If a notification exist, it should trigger as the record was created, is important the audit create task takes precedence to the notification task on the daily cron.

Include:

  • The Internal Control / Audit section, when an audit is completed it can no longer be edited
  • When an internal control audit is edited, the fields “Audit Methodology”, “Audit Success Criteria” and “Planned Start” should be disabled

github: https://github.com/eramba/eramba/issues/4921