Back to Home

Dynamic Intake Form

Table of Contents

Overview

Previously the webpages had to hard code logic in it's code behind to make sure we show and hide certain user inputs and fields depending on the inspection type. This logic was ugly and cumbersome as some inputs and fields were updated multiple times and inconsistently.

In order to remove the complexity and have a single source of truth, we redesigned the intake form logic. We've removed all the logic of manually setting fields visible and enabled, and move all that logic into the codelist. The base concept can be observed by looking at the p11_uc_IntakeFormNew page and the p11_codelist's lookupcategory value of DynamicField.

In the p11_uc_IntakeFormNew there are multiple fields for each row in the intake form. First being Business Owner, etc. You can also see that by default we hide every row, marking them as Visible=false. In doing so we start with a blank slate with every row hidden on the new intake form page. [Image 1: uc_IntakeFormNew]

To take this even further, every field has been programmatically hid and every validator disabled in the code behind. This happens in the sub_Initialize_IntakeForm() function. [Image 2: sub_Initialize_IntakeForm]

Dynamic Fields

Dynamic Options

NOTE: BO's can create Intake Forms with Inspection Types:

QM's and Back Up QM's can create Intake Forms with Inspection Types:

QR's AKA Gate keepers can create Intake Forms with Inspection Types:

NOTE: QM's and Back Up QM's can only assign auditors that are on the same team and Only above role types (BO, QA, QM, Back Up QM) can create Intake Forms.

Image 1

uc_IntakeForm_New.JPG

Image 2

sub_Intialize_IntakeForm.JPG

Image 3

Codelist_DynamicFields.JPG

Image 4

DynamicOptions.JPG