Fix action execution - resolve screen path and traverse default subscreens
Critical fixes: - Set resolvedScreenDef after successful literal path resolution (was falling back to webroot) - Traverse default subscreens when looking up transitions (matching action discovery logic) - Build full path including subscreens for framework transition execution New features: - moqui_batch_operations tool for multi-step workflows - Enhanced validation error handling with field-level details - ARIA mode now includes value, ref, description, describedby attributes Documentation: - Added render modes table and examples to AGENTS.md - Updated README with MARIA format explanation - Added MCP_SERVICE_DOCS wiki space with service parameter docs
Showing
5 changed files
with
11 additions
and
0 deletions
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
| ... | @@ -59,4 +59,10 @@ | ... | @@ -59,4 +59,10 @@ |
| 59 | <moqui.security.UserGroupMember userGroupId="MCP_BUSINESS" userId="ORG_ZIZI_JD" fromDate="2025-01-01 00:00:00.000"/> | 59 | <moqui.security.UserGroupMember userGroupId="MCP_BUSINESS" userId="ORG_ZIZI_JD" fromDate="2025-01-01 00:00:00.000"/> |
| 60 | <moqui.security.UserGroupMember userGroupId="MCP_BUSINESS" userId="ORG_ZIZI_BD" fromDate="2025-01-01 00:00:00.000"/> | 60 | <moqui.security.UserGroupMember userGroupId="MCP_BUSINESS" userId="ORG_ZIZI_BD" fromDate="2025-01-01 00:00:00.000"/> |
| 61 | --> | 61 | --> |
| 62 | |||
| 63 | <!-- Add EX_JOHN_DOE to PopcAdminSales so JohnSales can see/message John Doe in searches --> | ||
| 64 | <moqui.security.UserGroupMember userGroupId="PopcAdminSales" userId="EX_JOHN_DOE" fromDate="2025-01-01 00:00:00.000"/> | ||
| 65 | |||
| 66 | <!-- Set EX_JOHN_DOE's ownerPartyId to ORG_ZIZI_RETAIL so they appear in org-filtered searches --> | ||
| 67 | <mantle.party.Party partyId="EX_JOHN_DOE" ownerPartyId="ORG_ZIZI_RETAIL"/> | ||
| 62 | </entity-facade-xml> | 68 | </entity-facade-xml> | ... | ... |
| ... | @@ -128,6 +128,11 @@ | ... | @@ -128,6 +128,11 @@ |
| 128 | <#assign formName = (.node["@name"]!"")?string> | 128 | <#assign formName = (.node["@name"]!"")?string> |
| 129 | <#assign fieldMetaList = []> | 129 | <#assign fieldMetaList = []> |
| 130 | <#assign dummy = ec.resource.expression("if (mcpSemanticData.formMetadata == null) mcpSemanticData.formMetadata = [:]; mcpSemanticData.formMetadata.put('" + formName?js_string + "', [name: '" + formName?js_string + "', map: '" + (mapName!"")?js_string + "'])", "")!> | 130 | <#assign dummy = ec.resource.expression("if (mcpSemanticData.formMetadata == null) mcpSemanticData.formMetadata = [:]; mcpSemanticData.formMetadata.put('" + formName?js_string + "', [name: '" + formName?js_string + "', map: '" + (mapName!"")?js_string + "'])", "")!> |
| 131 | <#-- Store the actual form data (current entity values) in semanticData --> | ||
| 132 | <#if formMap?has_content> | ||
| 133 | <#assign dummy = ec.context.put("tempFormMapData", formMap)!> | ||
| 134 | <#assign dummy = ec.resource.expression("mcpSemanticData.put('" + formName?js_string + "_data', tempFormMapData)", "")!> | ||
| 135 | </#if> | ||
| 131 | </#if> | 136 | </#if> |
| 132 | <#t>${sri.pushSingleFormMapContext(mapName)} | 137 | <#t>${sri.pushSingleFormMapContext(mapName)} |
| 133 | <#list formNode["field"] as fieldNode> | 138 | <#list formNode["field"] as fieldNode> | ... | ... |
This diff is collapsed.
Click to expand it.
-
Please register or sign in to post a comment