Skip to content

SAIF.Presentation.Web.Controls.PopUps.Infragistics111 business rules

This page captures business rules enforced by this library's popup controls.

BR-POPUP-001 Claim Activity note requires category and type selection before confirmation

Field Value
Statement The Category and Type dropdowns must be populated (from cached/queried code tables) before the user can confirm a Claim Activity note; the popup instructs "Please select a category and type."
Trigger ClaimActivityPopup becomes active and the user clicks the OK (cmdYes) button.
Enforcement ClaimActivityPopup.vb — LoadDropDowns(), YesButtonClick (no explicit blocking validation is coded beyond dropdown population — the static instructional label in ClaimActivityPopup.ascx is the only enforcement UI observed; there is no code-level guard preventing confirmation with default/empty selections)*.
Outcome ConfirmAction(True, ClaimNoteEventArgs) is raised carrying the selected category/type; actual persistence is the hosting page's responsibility.
Source SAIF.Presentation.Web.Controls.PopUps.Infragistics111\ClaimActivityPopup.vb, SAIF.Presentation.Web.Controls.PopUps.Infragistics111\ClaimActivityPopup.ascx

BR-POPUP-002 External-view flag is auto-derived from the selected Claim Activity category

Field Value
Statement When a Claim Activity Category is selected, the "External View" checkbox is automatically set based on that category's LongDescription code-table flag equal to "Y".
Trigger User changes the Category dropdown selection (ddlCategoryCodeIndexChanged).
Enforcement ClaimActivityPopup.vb — ddlCategoryCodeIndexChanged: chkExternalView.Checked = (ExternalView = "Y").
Outcome The checkbox reflects the category's default external-view setting; the user may still override it before confirming.
Source SAIF.Presentation.Web.Controls.PopUps.Infragistics111\ClaimActivityPopup.vb

BR-POPUP-003 Notify entry requires a Notify ID, a valid Notify Date, and the date must not precede today

Field Value
Statement A Notify/Task entry cannot be confirmed unless a Notify ID is supplied; if supplied, a valid Notify Date is also required, and that date cannot be earlier than the current date.
Trigger User clicks Save on NotifyPopup (and, for the notify portion of ImageMovePopup, whenever txtNotifyText is non-empty).
Enforcement NotifyPopup.vb — EditNotifyControls(); ImageMovePopup.vb — EditAlertControls().
Outcome On failure, ErrorMsg is set to one of MSG_ENTER_VALID_NOTIFY_ID / MSG_ENTER_VALID_NOTIFY_DATE / MSG_NOTIFY_DATE_PRIOR_TO_TODAY and focus (ControlWithFocus) moves to the offending field; ConfirmAction is not raised. On success, ConfirmAction(True, ...) is raised.
Source SAIF.Presentation.Web.Controls.PopUps.Infragistics111\NotifyPopup.vb, SAIF.Presentation.Web.Controls.PopUps.Infragistics111\ImageMovePopup.vb

BR-POPUP-004 TODO Diary task Mail ID must resolve to a valid employee when required or supplied

Field Value
Statement If Task.MailidRequired is set, a Mail ID must be entered; whenever a non-empty Mail ID is entered (required or not), it must resolve to a valid employee record (clsEmployeeData.GetDataByMailID(...).IsValid), or the confirmation is rejected and the field is flagged as an error.
Trigger User clicks Yes on TODOPopupControl.
Enforcement TODOPopupControl.vb — YesButtonClick(), ValidateMailid().
Outcome On failure: popup stays Active, txtMailid.CssClass = "errorbackcolor", no ConfirmAction raised. On success: textbox reset, ConfirmAction(True, TODOTaskEventArgs) raised.
Source SAIF.Presentation.Web.Controls.PopUps.Infragistics111\TODOPopupControl.vb

BR-POPUP-005 A "RequiredTask" diary task offers only acknowledgement (no decline option)

Field Value
Statement When Task.TaskType = PopupTypes.RequiredTask, the "Do you wish to create a Claim Task?" prompt and the No button are hidden, and the Yes button is relabeled "OK" — the task cannot be declined through this popup.
Trigger TODOPopupControl.Render() while Active.
Enforcement TODOPopupControl.vb — Render().
Outcome UI presents only an acknowledgement path for required tasks; optional tasks retain the Yes/No choice.
Source SAIF.Presentation.Web.Controls.PopUps.Infragistics111\TODOPopupControl.vb

BR-IMG-001 Claim context lookup blocks the worker's name for confidential claims the caller cannot view

Field Value
Statement When ImageFileCode = "CLAIM", the popup only displays the claimant's/worker's name if the current caller passes CheckClaimSecurity for that claim; otherwise the name is shown as "Confidential" and the field is marked invalid.
Trigger User enters/changes a Claim context number and the auto-postback txtContextNum_TextChanged fires EditContext().
Enforcement ImageMovePopup.vb — EditContext() calling CheckClaimSecurity(MyClaimData.Security, String.Empty, AccessAllowed, LastError).
Outcome Save is blocked (cmdSave.Enabled is not set to True) unless access is allowed; lblName.Text = "Confidential" and ErrorMsg is populated otherwise.
Source SAIF.Presentation.Web.Controls.PopUps.Infragistics111\ImageMovePopup.vb

BR-IMG-002 Conflict-claim visibility requires the ConflictClaim (ADSG_CLAIM_CONFLICT) AD resource

Field Value
Statement If a claim's security profile flags it as a conflict claim (IsConflict), the caller (or, for a target Mail ID, that Mail ID) must hold the ConflictClaim AD resource, or access is denied.
Trigger CheckClaimSecurity evaluation during claim-context lookup or Mail-ID-based image access check.
Enforcement ImageMovePopup.vb — CheckClaimSecurity(): mySecurity.IsAuthorized(ADSG_CLAIM_CONFLICT) (current user, only when mySecurity.Domain = "SAIF") or mySecuritySystem.ResourceAccessValidCached(inMailId, ADSG_CLAIM_CONFLICT) (target Mail ID).
Outcome outAllowAccess = False, outError = MSG_NOT_AUTH_CLAIM.
Source SAIF.Presentation.Web.Controls.PopUps.Infragistics111\ImageMovePopup.vb

BR-IMG-003 Exposure-claim, collateral-health, and hostile-worker claim visibility each require a distinct AD resource

Field Value
Statement A claim flagged IsExposure, IsHealthIssue, or IsHostileWorker requires the caller/target Mail ID to hold, respectively, the ExposureClaim (ADSG_CLAIM_EXPOSURE), CollateralHealthClaim (ADSG_CLAIM_COLLATERAL), or SecureClaim (ADSG_CLAIM_SECURE) AD resource, or access is denied.
Trigger Same as BR-IMG-002 — evaluated during CheckClaimSecurity.
Enforcement ImageMovePopup.vb — CheckClaimSecurity().
Outcome outAllowAccess = False, outError = MSG_NOT_AUTH_CLAIM if any one check fails (checks are independent and cumulative — the first failing flag sets outAllowAccess = False but subsequent checks continue to run and may re-set the same outcome).
Source SAIF.Presentation.Web.Controls.PopUps.Infragistics111\ImageMovePopup.vb

BR-IMG-004 Claim security checks are enforced only for the SAIF domain; non-SAIF callers are denied outright

Field Value
Statement CheckClaimSecurity only evaluates the individual claim-security flags when mySecurity.Domain = "SAIF"; for any other domain, access is unconditionally denied with "Error: Only SAIF employee can view this page.".
Trigger Any CheckClaimSecurity invocation.
Enforcement ImageMovePopup.vb — CheckClaimSecurity() — Else branch.
Outcome outAllowAccess = False, outError = "Error: Only SAIF employee can view this page."
Source SAIF.Presentation.Web.Controls.PopUps.Infragistics111\ImageMovePopup.vb

BR-IMG-005 Certain system mailboxes are always allowed to receive image alerts

Field Value
Statement Alerting one of a fixed set of system/service mailboxes (clsMessages.ARSK_MAILID, LEGAL_MAILID, THIRD_PARTY_MAILID, CBP_MAILID, SERVICE_MAILID, PLUS_MAILID) is always permitted regardless of AD group membership.
Trigger CheckImageSecurity(inImageFileCode, inMailId) is called (public method — caller outside this library not identified)**.
Enforcement ImageMovePopup.vb — CheckImageSecurity() — Select Case inMailId.ToUpper allow-list branches.
Outcome Returns True without further AD check.
Source SAIF.Presentation.Web.Controls.PopUps.Infragistics111\ImageMovePopup.vb

BR-IMG-006 Image access for the current user vs. a delegated Mail ID uses different authorization sources

Field Value
Statement If the target Mail ID equals the currently logged-in user, image access is determined from the cached HasImage flag (ADSG_IMAGE resource, checked once per popup lifecycle via SetSecurityUserImage()); if the target Mail ID is a different user, access is instead checked live via ImageServices.HasADAccessToImageResource(inImageFileCode, inMailId).
Trigger CheckImageSecurity(inImageFileCode, inMailId) for a non-system Mail ID.
Enforcement ImageMovePopup.vb — CheckImageSecurity() — Case Else branch.
Outcome Returns the corresponding boolean access result.
Source SAIF.Presentation.Web.Controls.PopUps.Infragistics111\ImageMovePopup.vb

Notes

  • 7 of the 8 popup controls (all except ImageMovePopup) implement no independent authorization logic of their own.
  • Mark inferred statements with * and unknown statements with **. Do not use bold inline confidence labels.

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • SAIF.Presentation.Web.Controls.PopUps.Infragistics111\ClaimActivityPopup.vb
  • SAIF.Presentation.Web.Controls.PopUps.Infragistics111\ClaimActivityPopup.ascx
  • SAIF.Presentation.Web.Controls.PopUps.Infragistics111\NotifyPopup.vb
  • SAIF.Presentation.Web.Controls.PopUps.Infragistics111\ImageMovePopup.vb
  • SAIF.Presentation.Web.Controls.PopUps.Infragistics111\TODOPopupControl.vb