TODOPopupControl diary-task confirmation¶
This operation prompts the user to confirm creation of a Diary/Claim task, optionally requiring and validating an entered Mail ID against employee data before confirming.
| Field | Value |
|---|---|
| Operation ID | OP-6 |
| Trigger | Hosting page constructs a clsPopupTask (task id/message/claim id/type/mailid-required flag), assigns it to Task, and sets Active = True. |
| Inputs | Task (clsPopupTask), entered Mail ID |
| Outputs | ConfirmAction(Confirm, TODOTaskEventArgs) |
| Primary components | TODOPopupControl.CreateChildControls, TODOPopupControl.Render, TODOPopupControl.YesButtonClick, TODOPopupControl.ValidateMailid, TODOPopupControl.NoButtonClick |
| Entry point | SAIF.Presentation.Web.Controls.PopUps.Infragistics111\TODOPopupControl.vb |
Steps¶
CreateChildControls()parsesTODOPopup.ascx, resolvestxtTodoMailId,cmdTodoYes,cmdTodoNo; wires an Enter-key JS handler (TodoEnterKeyPress) that triggers the Yes button's postback, andClickhandlers for Yes/No.Render()(BR-POPUP-005):- Sets the task message text.
- Chooses one of two Mail ID prompt labels depending on
Task.MailidRequired, adjusting the Mail ID textbox position accordingly. - Clears any prior read-only/error styling.
- Shows/hides the "Do you wish to create a Claim Task?" prompt and the No button based on
Task.TaskType:RequiredTaskhides the No button and relabels Yes as "OK". - Focuses the Mail ID textbox.
- On Yes (
YesButtonClick) (BR-POPUP-004): - Reads the posted Mail ID directly from
Request.Item(...)(uppercased/trimmed). - If
MailidRequiredand empty: marks invalid. - If non-empty: calls
ValidateMailid()→clsEmployeeData.GetDataByMailID(DataPortalInfo, mailid)(referenced package call, not traced further)** and requiresIsValid. - On success: resets the textbox and raises
ConfirmAction(True, New TODOTaskEventArgs(mailid, Task)). - On failure: keeps the popup active and applies an
"errorbackcolor"CSS class to flag the invalid Mail ID field. - On No (
NoButtonClick): resets the textbox and raisesConfirmAction(False, New TODOTaskEventArgs("", Task)).
Process flow¶
The following diagram visualizes the diary-task confirmation flow.
flowchart TD
Start([Hosting page constructs clsPopupTask, sets Active = True]) --> Create[CreateChildControls parses ASCX]
Create --> Render[Render prompt based on TaskType/MailidRequired]
Render --> Action{Yes or No clicked}
Action -->|Yes| MailCheck{Mail ID required and empty?}
MailCheck -->|Yes| Invalid([Mark invalid, popup stays active])
MailCheck -->|No| Validate[ValidateMailid via clsEmployeeData.GetDataByMailID]
Validate --> Valid{IsValid?}
Valid -->|Yes| Confirm([ConfirmAction True with TODOTaskEventArgs])
Valid -->|No| Invalid
Action -->|No| Cancel([ConfirmAction False])
Failure and edge-case behavior¶
- An unresolvable or required-but-missing Mail ID keeps the popup active and flags the Mail ID field with
"errorbackcolor"rather than raisingConfirmAction(BR-POPUP-004). RequiredTasktasks hide the No button entirely — the user can only acknowledge, not decline (BR-POPUP-005).
Related documentation¶
Sources¶
SAIF.Presentation.Web.Controls.PopUps.Infragistics111\TODOPopupControl.vbSAIF.Presentation.Web.Controls.PopUps.Infragistics111\TODOPopup.ascx