From 2cf6edd0889fd87a1ba9e3d4106a3a8e0268da52 Mon Sep 17 00:00:00 2001
From: hongjli <3117313295@qq.com>
Date: 星期二, 17 十月 2023 15:10:30 +0800
Subject: [PATCH] Web端场景权限BUG修复
---
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioSelection.def | 8 ++++
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_PanelScenarioSelection.def | 21 ++++++++++
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupScenarioSelection.def | 8 ++++
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_DataHolderCurrentUser_OnDataChanged.def | 33 ++++++++++++++++
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def | 14 +++++++
_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Component_ListScenario.def | 13 ++++++
6 files changed, 97 insertions(+), 0 deletions(-)
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupScenarioSelection.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupScenarioSelection.def
new file mode 100644
index 0000000..c8a46d0
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupScenarioSelection.def
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+Component ActionBarGroupScenarioSelection #extension
+{
+ Children:
+ [
+ #child: PanelScenarioSelection
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioSelection.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioSelection.def
new file mode 100644
index 0000000..08ac6ea
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioSelection.def
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+Component ActionBarPageScenarioSelection #extension
+{
+ Children:
+ [
+ #child: ActionBarGroupScenarioSelection
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_PanelScenarioSelection.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_PanelScenarioSelection.def
new file mode 100644
index 0000000..bd276b6
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_PanelScenarioSelection.def
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+Component PanelScenarioSelection #extension
+{
+ Children:
+ [
+ Component DropDownListScenario id:DropDownListScenario_886 #extension
+ {
+ Children:
+ [
+ Component DataExtractorScenarios id:DataExtractorScenarios_484 #extension
+ {
+ Properties:
+ [
+ FilterArguments: 'availablescenarios:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderAvailableScenarios'
+ FixedFilter: 'object.IsLoaded() and not object.IsDeleted() and availablescenarios.Find( object ) >= 0'
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_DataHolderCurrentUser_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_DataHolderCurrentUser_OnDataChanged.def
new file mode 100644
index 0000000..7f368bd
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_DataHolderCurrentUser_OnDataChanged.def
@@ -0,0 +1,33 @@
+Quintiq file version 2.0
+#parent: DataHolderCurrentUser
+Response OnDataChanged () id:Response_TIANMA_JITUAN_ApplicationMacroPlanner_DataHolderCurrentUser_OnDataChanged
+{
+ #keys: '[414702.1.131671499]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ user := QuintiqUser::CurrentUser();
+ scenarionodes := construct( ScenarioNodes );
+
+ if( user.IsAdministrator()
+ or not exists( ScenarioManager, ScenarioNode.ScenarioAuthorization, sa, true ) )
+ {
+ scenarionodes := selectset( ScenarioManager, ScenarioNode, scenarionode, true );
+ }
+ else
+ {
+ scenarionodes := selectset( ScenarioManager, ScenarioNode, scenarionode,
+ guard( scenarionode.astype( ScenarioFolder ).IsRecycleBin(), false )
+ or scenarionode.CreatedBy().ToUpper() = user.ShortName().ToUpper()
+ or exists( scenarionode, ScenarioAuthorization, sa,
+ user.IsMemberOfGroup( sa.Name() ) ) );
+ }
+
+ DataHolderAvailableScenarios.Data( &scenarionodes );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
index 4f48b76..49e8c72 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
@@ -14,6 +14,7 @@
#child: applicationDevelopmentActionBarPageDef_1
#child: ActionBarPagePlan
#child: ActionBarPageInventory
+ #child: ActionBarPageScenarioSelection
]
}
Component DataHolderCapacityAndSaleBudgeFilterItem
@@ -66,5 +67,18 @@
Taborder: 44
]
}
+ Component DataHolderAvailableScenarios
+ {
+ #keys: '[414702.1.131690403]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[ScenarioNode]*'
+ Properties:
+ [
+ Taborder: 45
+ ]
+ }
+ Component DataHolderCurrentUser #extension
+ {
+ }
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Component_ListScenario.def b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Component_ListScenario.def
index 71c782e..29091a5 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Component_ListScenario.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Component_ListScenario.def
@@ -124,6 +124,19 @@
]
}
]
+ Properties:
+ [
+ FilterArguments: 'availablescenarios:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderAvailableScenarios'
+ FixedFilter: 'availablescenarios.Find( object ) >= 0'
+ ]
+ }
+ Component DataExtractorScenario #extension
+ {
+ Properties:
+ [
+ FilterArguments: 'availablescenarios:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderAvailableScenarios'
+ FixedFilter: 'availablescenarios.Find( object ) >= 0'
+ ]
}
]
}
--
Gitblit v1.9.3