diff --git a/src/Apps/W1/SalesOrderAgent/app/src/Integration/SOACreateTaskImpl.Codeunit.al b/src/Apps/W1/SalesOrderAgent/app/src/Integration/SOACreateTaskImpl.Codeunit.al index b9bfbcbf28..20aaf1019e 100644 --- a/src/Apps/W1/SalesOrderAgent/app/src/Integration/SOACreateTaskImpl.Codeunit.al +++ b/src/Apps/W1/SalesOrderAgent/app/src/Integration/SOACreateTaskImpl.Codeunit.al @@ -25,6 +25,15 @@ codeunit 4415 "SOA Create Task Impl" GlobalAgentUserSecurityID := NewAgentUserSecurityID; end; + internal procedure OpenCreateTaskPage(AgentUserSecurityID: Guid) + var + SOACreateTask: Page "SOA Create Task"; + begin + SOACreateTask.SetAgentUserSecurityID(AgentUserSecurityID); + SOACreateTask.LookupMode(true); + SOACreateTask.RunModal(); + end; + internal procedure GetCurrentUserSalespersonCode(): Code[20] var UserSetup: Record "User Setup"; diff --git a/src/Apps/W1/SalesOrderAgent/app/src/Setup/SOAMetadataProvider.Codeunit.al b/src/Apps/W1/SalesOrderAgent/app/src/Setup/SOAMetadataProvider.Codeunit.al index 4de92c1ceb..da823480aa 100644 --- a/src/Apps/W1/SalesOrderAgent/app/src/Setup/SOAMetadataProvider.Codeunit.al +++ b/src/Apps/W1/SalesOrderAgent/app/src/Setup/SOAMetadataProvider.Codeunit.al @@ -11,7 +11,7 @@ using System.AI; using System.Reflection; using System.Security.AccessControl; -codeunit 4401 "SOA Metadata Provider" implements IAgentMetadata, IAgentFactory +codeunit 4401 "SOA Metadata Provider" implements IAgentMetadata, IAgentFactory, IAgentManualTaskCreation { Access = Internal; InherentEntitlements = X; @@ -74,7 +74,23 @@ codeunit 4401 "SOA Metadata Provider" implements IAgentMetadata, IAgentFactory SOASetupCU.GetDefaultAccessControls(TempAccessControlBuffer); end; + procedure IsManualAgentTaskCreationEnabled(AgentUserId: Guid; ManualTaskType: Enum "Manual Agent Task Creation Type"): Boolean + begin + exit(ManualTaskType = ManualTaskType::Default); + end; + + procedure IsMultipleFileUploadAllowed(AgentUserId: Guid): Boolean + begin + exit(false); + end; + + procedure CreateManualAgentTask(AgentUserId: Guid; Files: List of [FileUpload]) + begin + SOACreateTaskImpl.OpenCreateTaskPage(AgentUserId); + end; + var SOAAnnotation: Codeunit "SOA Annotation"; + SOACreateTaskImpl: Codeunit "SOA Create Task Impl"; SOASetupCU: Codeunit "SOA Setup"; } \ No newline at end of file diff --git a/src/Apps/W1/SalesOrderAgent/app/src/Setup/SOAMetadataProvider.EnumExt.al b/src/Apps/W1/SalesOrderAgent/app/src/Setup/SOAMetadataProvider.EnumExt.al index 4cbfa38f8e..242cc9e87a 100644 --- a/src/Apps/W1/SalesOrderAgent/app/src/Setup/SOAMetadataProvider.EnumExt.al +++ b/src/Apps/W1/SalesOrderAgent/app/src/Setup/SOAMetadataProvider.EnumExt.al @@ -13,6 +13,6 @@ enumextension 4400 "SOA Metadata Provider" extends "Agent Metadata Provider" value(4400; "SO Agent") { Caption = 'Sales Order Agent'; - Implementation = IAgentFactory = "SOA Metadata Provider", IAgentMetadata = "SOA Metadata Provider", IAgentTaskExecution = "SOA Agent Task Execution"; + Implementation = IAgentFactory = "SOA Metadata Provider", IAgentMetadata = "SOA Metadata Provider", IAgentTaskExecution = "SOA Agent Task Execution", IAgentManualTaskCreation = "SOA Metadata Provider"; } } \ No newline at end of file diff --git a/src/Apps/W1/SalesOrderAgent/app/src/Setup/SOASetup.Page.al b/src/Apps/W1/SalesOrderAgent/app/src/Setup/SOASetup.Page.al index 9322d931ad..7809af832c 100644 --- a/src/Apps/W1/SalesOrderAgent/app/src/Setup/SOASetup.Page.al +++ b/src/Apps/W1/SalesOrderAgent/app/src/Setup/SOASetup.Page.al @@ -122,7 +122,7 @@ page 4400 "SOA Setup" trigger OnDrillDown() var - SOACreateTask: Page "SOA Create Task"; + SOACreateTaskImpl: Codeunit "SOA Create Task Impl"; begin CurrPage.AgentSetupPart.Page.GetAgentSetupBuffer(TempAgentSetupBuffer); if (TempAgentSetupBuffer.State <> TempAgentSetupBuffer.State::Enabled) and (Rec."Email Monitoring" or (Rec."Email Address" <> '')) then begin @@ -148,9 +148,7 @@ page 4400 "SOA Setup" Commit(); - SOACreateTask.SetAgentUserSecurityID(Rec."User Security ID"); - SOACreateTask.LookupMode(true); - SOACreateTask.RunModal(); + SOACreateTaskImpl.OpenCreateTaskPage(Rec."User Security ID"); CurrPage.Update(false); end; }