Status = EFI_SUCCESS;\r
break;\r
\r
- case EFI_BROWSER_ACTION_CHANGING:\r
- {\r
+ case EFI_BROWSER_ACTION_CHANGED:\r
if (QuestionId >= LABEL_PROVIDER_NAME) {\r
//\r
// QuestionId comes from the second Form (Select a Credential Provider if identity \r
}\r
return EFI_SUCCESS;\r
}\r
-\r
+ break;\r
+ \r
+ case EFI_BROWSER_ACTION_CHANGING:\r
//\r
// QuestionId comes from the first Form (Select a user to identify).\r
//\r
+ if (QuestionId >= LABEL_PROVIDER_NAME) {\r
+ return EFI_SUCCESS;\r
+ }\r
+\r
User = (USER_PROFILE_ENTRY *) mUserProfileDb->UserProfile[QuestionId & 0xFFF];\r
Status = GetIdentifyType (User, &PolicyType);\r
if (EFI_ERROR (Status)) {\r
\r
mCurrentUser = (EFI_USER_PROFILE_HANDLE) User;\r
mIdentified = TRUE;\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT;\r
+ if (Type == EFI_IFR_TYPE_REF) {\r
+ Value->ref.FormId = FORMID_INVALID_FORM;\r
+ }\r
}\r
- }\r
break;\r
\r
default:\r
Status = EFI_SUCCESS;\r
break;\r
\r
- case EFI_BROWSER_ACTION_CHANGING:\r
+ case EFI_BROWSER_ACTION_CHANGED:\r
{ \r
//\r
// Handle the request from form.\r
// Judge next 2 bits.\r
//\r
switch (QuestionId & KEY_SECOND_FORM_MASK) {\r
- //\r
- // Enter delete user profile form.\r
- //\r
- case KEY_ENTER_NEXT_FORM:\r
- SelectUserToDelete ();\r
- break;\r
-\r
//\r
// Delete specified user profile.\r
//\r
// Judge next 2 bits.\r
//\r
switch (QuestionId & KEY_SECOND_FORM_MASK) {\r
- //\r
- // Enter modify user profile form.\r
- //\r
- case KEY_ENTER_NEXT_FORM:\r
- SelectUserToModify ();\r
- break;\r
-\r
//\r
// Enter user profile information form.\r
//\r
// Judge next 3 bits.\r
//\r
switch (QuestionId & KEY_MODIFY_INFO_MASK) {\r
- //\r
- // Display user information form.\r
- //\r
- case KEY_ENTER_NEXT_FORM:\r
- ModifyUserInfo ((UINT8) QuestionId);\r
- break;\r
-\r
//\r
// Modify user name.\r
//\r
// Judge next 3 bits\r
//\r
switch (QuestionId & KEY_MODIFY_IP_MASK) {\r
- //\r
- // Display identity policy modify form.\r
- //\r
- case KEY_ENTER_NEXT_FORM:\r
- ModifyIdentityPolicy ();\r
- break;\r
-\r
//\r
// Change credential provider option.\r
//\r
//\r
case KEY_IP_RETURN_UIF:\r
SaveIdentityPolicy ();\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_FORM_APPLY;\r
+ *ActionRequest = EFI_BROWSER_ACTION_REQUEST_FORM_SUBMIT_EXIT;\r
break;\r
\r
default:\r
// Judge next 3 bits.\r
//\r
switch (QuestionId & KEY_MODIFY_AP_MASK) {\r
- //\r
- // Display access policy modify form.\r
- //\r
- case KEY_ENTER_NEXT_FORM:\r
- ModidyAccessPolicy ();\r
- break;\r
-\r
//\r
// Change access right choice.\r
//\r
//\r
case KEY_AP_RETURN_UIF:\r
SaveAccessPolicy ();\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_FORM_APPLY;\r
+ *ActionRequest = EFI_BROWSER_ACTION_REQUEST_FORM_SUBMIT_EXIT;\r
break;\r
\r
default:\r
}\r
break;\r
\r
+\r
+ case EFI_BROWSER_ACTION_CHANGING:\r
+ { \r
+ //\r
+ // Handle the request from form.\r
+ //\r
+ if (Value == NULL) {\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+ \r
+ //\r
+ // Judge first 2 bits.\r
+ //\r
+ switch (QuestionId & KEY_FIRST_FORM_MASK) {\r
+ //\r
+ // Delete user profile operation.\r
+ //\r
+ case KEY_DEL_USER:\r
+ //\r
+ // Judge next 2 bits.\r
+ //\r
+ switch (QuestionId & KEY_SECOND_FORM_MASK) {\r
+ //\r
+ // Enter delete user profile form.\r
+ //\r
+ case KEY_ENTER_NEXT_FORM:\r
+ SelectUserToDelete ();\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
+ break;\r
+\r
+ //\r
+ // Modify user profile operation.\r
+ //\r
+ case KEY_MODIFY_USER:\r
+ //\r
+ // Judge next 2 bits.\r
+ //\r
+ switch (QuestionId & KEY_SECOND_FORM_MASK) {\r
+ //\r
+ // Enter modify user profile form.\r
+ //\r
+ case KEY_ENTER_NEXT_FORM:\r
+ SelectUserToModify ();\r
+ break;\r
+\r
+ //\r
+ // Enter user profile information form.\r
+ //\r
+ case KEY_SELECT_USER:\r
+ //\r
+ // Judge next 3 bits.\r
+ //\r
+ switch (QuestionId & KEY_MODIFY_INFO_MASK) {\r
+ //\r
+ // Display user information form.\r
+ //\r
+ case KEY_ENTER_NEXT_FORM:\r
+ ModifyUserInfo ((UINT8) QuestionId);\r
+ break;\r
+\r
+ //\r
+ // Modify identity policy.\r
+ //\r
+ case KEY_MODIFY_IP:\r
+ //\r
+ // Judge next 3 bits\r
+ //\r
+ switch (QuestionId & KEY_MODIFY_IP_MASK) {\r
+ //\r
+ // Display identity policy modify form.\r
+ //\r
+ case KEY_ENTER_NEXT_FORM:\r
+ ModifyIdentityPolicy ();\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
+ break;\r
+\r
+ //\r
+ // Modify access policy.\r
+ //\r
+ case KEY_MODIFY_AP:\r
+ //\r
+ // Judge next 3 bits.\r
+ //\r
+ switch (QuestionId & KEY_MODIFY_AP_MASK) {\r
+ //\r
+ // Display access policy modify form.\r
+ //\r
+ case KEY_ENTER_NEXT_FORM:\r
+ ModidyAccessPolicy ();\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
+ }\r
+ break;\r
+\r
default:\r
//\r
// All other action return unsupported.\r
subtitle \r
text = STRING_TOKEN(STR_NULL_STRING);\r
\r
- goto FORMID_USER_INFO,\r
- prompt = STRING_TOKEN(STR_SAVE),\r
- help = STRING_TOKEN(STR_IDENTIFY_SAVE_HELP),\r
- flags = INTERACTIVE,\r
- key = KEY_IP_RETURN;\r
- \r
+ text\r
+ help = STRING_TOKEN(STR_IDENTIFY_SAVE_HELP),\r
+ text = STRING_TOKEN(STR_SAVE),\r
+ flags = INTERACTIVE,\r
+ key = KEY_IP_RETURN;\r
+\r
endform;\r
\r
//\r
subtitle \r
text = STRING_TOKEN(STR_NULL_STRING);\r
\r
- goto FORMID_USER_INFO,\r
- prompt = STRING_TOKEN(STR_SAVE),\r
- help = STRING_TOKEN(STR_ACCESS_SAVE_HELP),\r
- flags = INTERACTIVE,\r
- key = KEY_AP_RETURN;\r
- \r
+ text\r
+ help = STRING_TOKEN(STR_ACCESS_SAVE_HELP),\r
+ text = STRING_TOKEN(STR_SAVE),\r
+ flags = INTERACTIVE,\r
+ key = KEY_AP_RETURN;\r
+\r
endform;\r
\r
//\r