Skip to content

Attorney profile maintenance

This workflow lets legal administrative staff view and update an attorney's bio, availability, and schedule data through the frmAttorneyProfile screen, applying the standard manager template-method lifecycle and AD-group authorization.

Field Value
Operation ID OP-APP-001
Trigger User navigates to frmAttorneyProfile.aspx via the master-page menu
Libraries involved SAIF.Application.Claim.Legal, SAIF.Business.Claim.Legal, SAIF.Application
Screens Attorney Profile screen (frmAttorneyProfile.aspx)
Inputs Selected attorney, edited profile/availability/schedule fields
Outputs Updated ATTORNEY_PROFILE/ATTORNEY_SCHEDULE records

Steps

  1. User navigates via master-page menu to frmAttorneyProfile.aspx in LegalMaintenance.
  2. Page_Init calls SetActiveManager, instantiating a legal manager and resolving environment config through WindowsEnvironmentService/AppGlobal.
  3. The manager (from SAIF.Application.Claim.Legal, LegalManagerBase-derived) runs Initialize → OnCreateDataLayer → OnCheckSecurity → OnRetrieve, evaluating the LNView/LNAdmin AD groups via SAIF.Application's UserAccess cache (BR-APP-001).
  4. Data is retrieved from Oracle attorney tables (ATTORNEY_PROFILE, ATTORNEY_SCHEDULE) through SAIF.Business.Claim.Legal business objects.
  5. User edits and saves; the screen calls Controller.Write, wrapped in a transaction by the manager.
  6. The intended IsViewOnly gate is dead code and does not block edits for view-only users (BR-APP-001).

Process flow

The following diagram visualizes the attorney profile maintenance workflow.

flowchart TD
    Start(["User opens<br>frmAttorneyProfile"]) --> S1["Page_Init resolves manager<br>and environment config"]
    S1 --> S2["Manager lifecycle:<br>Initialize to<br>OnCreateDataLayer to<br>OnCheckSecurity to<br>OnRetrieve"]
    S2 --> S3["Retrieve ATTORNEY_PROFILE /<br>ATTORNEY_SCHEDULE from<br>Oracle"]
    S3 --> S4{User edits and saves?}
    S4 -->|Yes| S5["Controller.Write in<br>transaction"]
    S4 -->|No| EndView([View only, no write])
    S5 --> EndOk([Profile updated])

Failure and edge-case behavior

  • Users authorized for LNView are intended to have the toolbar disabled, but the whole-page IsViewOnly lockdown does not fire due to a SecurityRole initialization defect, so intended read-only enforcement never executes.*

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.

Sources

  • LegalMaintenance web application (LegalMaintenance/*.aspx.vb)
  • LegalMaintenance web application (LegalMaintenance/*.aspx.vb)
  • SAIF.Application