From 54d5ab8b2c37bb9139eb6800631eece9b60ee25a Mon Sep 17 00:00:00 2001 From: Michael Becker Date: Tue, 17 Dec 2024 00:47:39 -0500 Subject: [PATCH] new features, login token, and fix for `Module@get Parent Module Fully Qualified Name` --- .../000-EntityDefinitions/002-Attributes.yaml | 1 + .../003-Relationships.yaml | 3 + .../003-Classes/00005-BooleanAttribute.yaml | 3 + .../000-EntityDefinitions/002-Attributes.yaml | 2 + .../000-EntityDefinitions/013-WorkSets.yaml | 3 +- .../003-Classes/00005-BooleanAttribute.yaml | 7 + .../003-Classes/00015-WorkSet.yaml | 5 +- .../003-Classes/00057-Module.yaml | 1 + .../00062-BuildUIResponseMethod.yaml | 2 + ...5-GetInstanceSetBySystemRoutineMethod.yaml | 17 +- .../00068-UpdateBySystemRoutineMethod.yaml | 2 +- .../00084-BuildResponseMethodBinding.yaml | 5 + .../CommonText/Common_Text__get__Colon.yaml | 16 ++ .../Element_Content__get__Data_Type_Name.yaml | 11 +- .../Module__get__Fully_Qualified_Name.yaml | 159 ++++++++++++++++++ .../User/System_User__get__Current_User.yaml | 20 +++ .../User/System_User__is__Logged_In.yaml | 17 ++ .../Elements/000000-LoginPageSubedit.yaml | 23 ++- 18 files changed, 279 insertions(+), 18 deletions(-) create mode 100644 mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/CommonText/Common_Text__get__Colon.yaml create mode 100644 mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/Module/Module__get__Fully_Qualified_Name.yaml create mode 100644 mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/User/System_User__get__Current_User.yaml create mode 100644 mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/User/System_User__is__Logged_In.yaml diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.Core/000-EntityDefinitions/002-Attributes.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.Core/000-EntityDefinitions/002-Attributes.yaml index fd63679..73e6832 100644 --- a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.Core/000-EntityDefinitions/002-Attributes.yaml +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.Core/000-EntityDefinitions/002-Attributes.yaml @@ -69,6 +69,7 @@ - IDA_BuiltFromBEMProcessNotInListForElement: '{091c806d-a06b-4ad6-a20a-b0f668909313}' - IDA_MultipleValidClasses: '{52c67121-6ba1-4d3d-a718-7fcb5d3ae291}' - IDA_Shared: '{4f4f2b73-6b16-4cbb-a254-a9e557040bca}' + - IDA_UserIsLoggedIn: '{8e93d9f3-a897-4c97-935c-b3427f90633b}' - IDA_IncludeMIs: '{c97c2410-30d8-41eb-9b71-2aecc63abf46}' - IDA_IncludeSuperclassMethods: '{3828a3f7-57ff-409b-b814-338d5ff51e19}' diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.Core/000-EntityDefinitions/003-Relationships.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.Core/000-EntityDefinitions/003-Relationships.yaml index 81a4d06..a42d2c8 100644 --- a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.Core/000-EntityDefinitions/003-Relationships.yaml +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.Core/000-EntityDefinitions/003-Relationships.yaml @@ -310,6 +310,9 @@ - IDR_Get_Instance_Set_By_System_Routine_Method__uses__System_Instance_Set_Routine: "{085bd706-eece-4604-ac04-b7af114d1d21}" - IDR_System_Instance_Set_Routine__used_by__Get_Instance_Set_By_System_Routine_Method: "{6fb6534c-2a46-4d6d-b9df-fd581f19efed}" + - IDR_Get_Instance_Set_By_System_Routine_Method__returns__Work_Set: "{595f738c-1c44-401b-ac5f-4fc596d658e3}" + - IDR_Work_Set__returned_by__Get_Instance_Set_By_System_Routine_Method: "{a9a7ba49-46b2-4cf0-9e9b-86e1841a75f7}" + - IDR_Derived_Element_Content__has__Derived_EC_Parameter: "{985189a7-fc9e-4eb6-8db2-7362fb60b5d1}" - IDR_Derived_EC_Parameter__for__Derived_Element_Content: "{2687dd17-3891-4835-8cd7-7b488c51c4bc}" diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.Core/003-Classes/00005-BooleanAttribute.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.Core/003-Classes/00005-BooleanAttribute.yaml index d5f7e6b..1cb56ab 100644 --- a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.Core/003-Classes/00005-BooleanAttribute.yaml +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.Core/003-Classes/00005-BooleanAttribute.yaml @@ -111,6 +111,9 @@ - instance: '&IDA_EvaluateWorkSet;' index: 49 name: 'Evaluate Work Set' + - instance: '&IDA_UserIsLoggedIn;' + index: 57 + name: 'User is Logged In' - instance: '&IDA_Empty;' index: 110 diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/000-EntityDefinitions/002-Attributes.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/000-EntityDefinitions/002-Attributes.yaml index fd63679..8829748 100644 --- a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/000-EntityDefinitions/002-Attributes.yaml +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/000-EntityDefinitions/002-Attributes.yaml @@ -69,6 +69,8 @@ - IDA_BuiltFromBEMProcessNotInListForElement: '{091c806d-a06b-4ad6-a20a-b0f668909313}' - IDA_MultipleValidClasses: '{52c67121-6ba1-4d3d-a718-7fcb5d3ae291}' - IDA_Shared: '{4f4f2b73-6b16-4cbb-a254-a9e557040bca}' + - IDA_UserIsLoggedIn: '{8e93d9f3-a897-4c97-935c-b3427f90633b}' + - IDA_ModuleHasParentModule: '{dd439c24-fb12-48b0-8b11-1b8d473cadef}' - IDA_IncludeMIs: '{c97c2410-30d8-41eb-9b71-2aecc63abf46}' - IDA_IncludeSuperclassMethods: '{3828a3f7-57ff-409b-b814-338d5ff51e19}' diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/000-EntityDefinitions/013-WorkSets.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/000-EntityDefinitions/013-WorkSets.yaml index 1a4da9f..e768741 100644 --- a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/000-EntityDefinitions/013-WorkSets.yaml +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/000-EntityDefinitions/013-WorkSets.yaml @@ -32,4 +32,5 @@ - IDI_WorkSet_ParameterAssignmentNonsingular: '{301c6618-a62d-4869-a791-3f27a14bc764}' - IDI_WorkSet_SetA: '{6a41b0e4-6089-45f6-8996-901e66d36f53}' - IDI_WorkSet_SetB: '{4c7f240f-dd51-451d-afe9-73ba42971214}' - - IDI_WorkSet_SetAOrB: '{dadba7cf-9719-472a-a07f-cf66e569d02d}' \ No newline at end of file + - IDI_WorkSet_SetAOrB: '{dadba7cf-9719-472a-a07f-cf66e569d02d}' + - IDI_WorkSet_ParentModule: '{2eeda00b-f527-41b3-91e9-c1a96f59654f}' \ No newline at end of file diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00005-BooleanAttribute.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00005-BooleanAttribute.yaml index f17217e..78f39ce 100644 --- a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00005-BooleanAttribute.yaml +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00005-BooleanAttribute.yaml @@ -111,6 +111,13 @@ - instance: '&IDA_EvaluateWorkSet;' index: 49 name: 'Evaluate Work Set' + - instance: '&IDA_UserIsLoggedIn;' + index: 57 + name: 'User is Logged In' + + - instance: '&IDA_ModuleHasParentModule;' + index: 60 + name: 'Module has parent Module' - instance: '&IDA_Empty;' index: 110 diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00015-WorkSet.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00015-WorkSet.yaml index d1bef5b..f88224b 100644 --- a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00015-WorkSet.yaml +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00015-WorkSet.yaml @@ -132,4 +132,7 @@ singular: no - workSet: '&IDI_WorkSet_SetAOrB;' name: 'Set A or B' - singular: no \ No newline at end of file + singular: no + - workSet: '&IDI_WorkSet_ParentModule;' + name: 'Parent Module' + singular: yes \ No newline at end of file diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00057-Module.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00057-Module.yaml index 4424c4c..7555ac4 100644 --- a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00057-Module.yaml +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00057-Module.yaml @@ -5,6 +5,7 @@ name: Module index: 57 customTagName: 'module' + instancesLabeledByRAMB: '&IDMB_Module__get__Fully_Qualified_Name;' attributes: - instance: '&IDA_Name;' customTagName: 'name' diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00062-BuildUIResponseMethod.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00062-BuildUIResponseMethod.yaml index 0832a74..2d633c8 100644 --- a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00062-BuildUIResponseMethod.yaml +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00062-BuildUIResponseMethod.yaml @@ -21,6 +21,8 @@ customTagName: 'name' - instance: '&IDA_Verb;' customTagName: 'verb' + - instance: '&IDA_TargetURL;' + customTagName: 'targetUrl' relationships: - instance: '&IDR_Method__for__Class;' customTagName: 'forClassId' diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00065-GetInstanceSetBySystemRoutineMethod.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00065-GetInstanceSetBySystemRoutineMethod.yaml index e77a070..c4d83a8 100644 --- a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00065-GetInstanceSetBySystemRoutineMethod.yaml +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00065-GetInstanceSetBySystemRoutineMethod.yaml @@ -1,7 +1,10 @@ --- - entityDefinitions: - - IDR_Get_Instance_Set_By_System_Routine_Method__returns__Instance_Set: '{84a864fe-84de-4901-a51c-1e103dc56aed}' - - IDR_Instance_Set__returned_by__Get_Instance_Set_By_System_Routine_Method: '{1119c5a3-4c52-4d1a-a2d7-4a9224e2d9e0}' + - IDR_Get_Instance_Set_By_System_Routine_Method__returns__Work_Set: "{595f738c-1c44-401b-ac5f-4fc596d658e3}" + - IDR_Work_Set__returned_by__Get_Instance_Set_By_System_Routine_Method: "{a9a7ba49-46b2-4cf0-9e9b-86e1841a75f7}" + + #- IDR_Get_Instance_Set_By_System_Routine_Method__returns__Instance_Set: '{84a864fe-84de-4901-a`1c-1e103dc56aed}' + #- IDR_Instance_Set__returned_by__Get_Instance_Set_By_System_Routine_Method: '{1119c5a3-4c52-4d1a-a2d7-4a9224e2d9e0}' - library: '&IDL_MochaBaseSystem;' instances: @@ -28,27 +31,27 @@ customTagName: 'forClassId' - instance: '&IDR_Metadata_With_Access_Modifier__has__Access_Modifier;' customTagName: 'accessModifierId' - - instance: '&IDR_Get_Instance_Set_By_System_Routine_Method__returns__Instance_Set;' + - instance: '&IDR_Get_Instance_Set_By_System_Routine_Method__returns__Work_Set;' customTagName: 'returnsWorkSetId' - instance: '&IDR_Get_Instance_Set_By_System_Routine_Method__uses__System_Instance_Set_Routine;' customTagName: 'systemInstanceSetRoutineId' - instance: '&IDR_Instance__for__Module;' customTagName: 'moduleId' - - relationship: '&IDR_Get_Instance_Set_By_System_Routine_Method__returns__Instance_Set;' + - relationship: '&IDR_Get_Instance_Set_By_System_Routine_Method__returns__Work_Set;' index: 125 sourceClassId: '&IDC_GetInstanceSetBySystemRoutineMethod;' type: 'returns' destinationClassId: '&IDC_WorkSet;' - siblingRelationshipId: '&IDR_Instance_Set__returned_by__Get_Instance_Set_By_System_Routine_Method;' + siblingRelationshipId: '&IDR_Work_Set__returned_by__Get_Instance_Set_By_System_Routine_Method;' singular: yes - - relationship: '&IDR_Instance_Set__returned_by__Get_Instance_Set_By_System_Routine_Method;' + - relationship: '&IDR_Work_Set__returned_by__Get_Instance_Set_By_System_Routine_Method;' index: 126 sourceClassId: '&IDC_WorkSet;' type: 'returned by' destinationClassId: '&IDC_GetInstanceSetBySystemRoutineMethod;' - siblingRelationshipId: '&IDR_Get_Instance_Set_By_System_Routine_Method__returns__Instance_Set;' + siblingRelationshipId: '&IDR_Get_Instance_Set_By_System_Routine_Method__returns__Work_Set;' singular: no - relationship: '&IDR_Get_Instance_Set_By_System_Routine_Method__uses__System_Instance_Set_Routine;' diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00068-UpdateBySystemRoutineMethod.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00068-UpdateBySystemRoutineMethod.yaml index 943526a..4c76e72 100644 --- a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00068-UpdateBySystemRoutineMethod.yaml +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00068-UpdateBySystemRoutineMethod.yaml @@ -46,5 +46,5 @@ sourceClassId: '&IDC_SystemUpdateRoutine;' type: 'used by' destinationClassId: '&IDC_UpdateBySystemRoutineMethod;' - siblingRelationshipId: '&IDR_Get_Instance_Set_By_System_Routine_Method__returns__Instance_Set;' + siblingRelationshipId: '&IDR_Update_By_System_Routine_Method__uses__System_Update_Routine;' singular: no diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00084-BuildResponseMethodBinding.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00084-BuildResponseMethodBinding.yaml index a1b1426..38a374c 100644 --- a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00084-BuildResponseMethodBinding.yaml +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00084-BuildResponseMethodBinding.yaml @@ -27,3 +27,8 @@ - instance: '&IDR_Method_Binding__has__Parameter_Assignment;' customTagName: 'parameterAssignments' customTagNameCreatesInstanceOf: '&IDC_ParameterAssignment;' + + - instance: '&IDR_Condition_Group__has_true_condition__Executable_returning_Work_Data;' + customTagName: trueConditions + - instance: '&IDR_Condition_Group__has_false_condition__Executable_returning_Work_Data;' + customTagName: falseConditions diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/CommonText/Common_Text__get__Colon.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/CommonText/Common_Text__get__Colon.yaml new file mode 100644 index 0000000..364b258 --- /dev/null +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/CommonText/Common_Text__get__Colon.yaml @@ -0,0 +1,16 @@ +- entityDefinitions: + - IDM_Common_Text__get__Colon: '{91356642-1e17-4c72-b029-23abf87ae747}' + - IDMB_Common_Text__get__Colon: '{274dea38-de8a-43cc-8ff5-54f419245c9a}' + +- library: '&IDL_MochaBaseSystem;' + instances: + - buildAttributeMethod: '&IDM_Common_Text__get__Colon;' + forClassId: '&IDC_CommonText;' + returnsAttributeId: '&IDA_Value;' + verb: 'get' + name: 'Colon' + accessModifierId: '&IDI_AccessModifier_Public;' + initialValue: ':' + static: yes + - returnAttributeMethodBinding: '&IDMB_Common_Text__get__Colon;' + executesMethod: '&IDM_Common_Text__get__Colon;' \ No newline at end of file diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/ElementContent/Element_Content__get__Data_Type_Name.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/ElementContent/Element_Content__get__Data_Type_Name.yaml index 32c156c..79c1063 100644 --- a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/ElementContent/Element_Content__get__Data_Type_Name.yaml +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/ElementContent/Element_Content__get__Data_Type_Name.yaml @@ -1,19 +1,20 @@ - entityDefinitions: - - IDM_Element_Content__get__Data_Type_Name: '{f031babd-4c37-44d7-ab20-6ac63bbb6974}' + - IDM_Instance__get__Text: '{f031babd-4c37-44d7-ab20-6ac63bbb6974}' + - IDMB_Element_Content__get__Data_Type_Name: '{e6e37fbc-a78a-4315-bf1b-3155f6fae656}' - library: '&IDL_MochaBaseSystem;' instances: - - getAttributeBySystemRoutineMethod: '&IDM_Element_Content__get__Data_Type_Name;' + - getAttributeBySystemRoutineMethod: '&IDM_Instance__get__Text;' # initialValue: 'Method Example@get Dummy Method Name (BA)*S*P(public)' - forClassId: '&IDC_ElementContent;' + forClassId: '&IDC_Instance;' returnsAttributeId: '&IDA_WorkDataName;' verb: 'get' - name: 'Data Type Name' + name: 'Text' accessModifierId: '&IDI_AccessModifier_RootA2;' systemAttributeRoutineId: '&IDI_SystemAttributeRoutine_GetInstanceText;' - returnAttributeMethodBinding: '&IDMB_Element_Content__get__Data_Type_Name;' - executesMethod: '&IDM_Element_Content__get__Data_Type_Name;' + executesMethod: '&IDM_Instance__get__Text;' parameterAssignments: - globalIdentifier: '{25efdb26-1f93-4f61-aad0-a72b4bb3c7ba}' assignsToParameter: '&IDC_Instance;' diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/Module/Module__get__Fully_Qualified_Name.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/Module/Module__get__Fully_Qualified_Name.yaml new file mode 100644 index 0000000..5cb8681 --- /dev/null +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/Module/Module__get__Fully_Qualified_Name.yaml @@ -0,0 +1,159 @@ +# Copyright (C) 2024 Michael Becker +# +# This file is part of Mocha.NET. +# +# Mocha.NET is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Mocha.NET is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Mocha.NET. If not, see . + +- entityDefinitions: + - IDM_Module__get__Fully_Qualified_Name: '{0ab85e0b-5577-475a-b914-4578ffb928d7}' + - IDMB_Module__get__Fully_Qualified_Name: '{55b6e0be-c1cc-43a1-8acc-0b29306e18d3}' + + - IDM_Module__get__Parent_Module_Fully_Qualified_Name_with_trailing_colon_if_necessary: '{ad727c24-c410-4905-a2ee-5809f19b1508}' + - IDMB_Module__get__Parent_Module_Fully_Qualified_Name_with_trailing_colon_if_necessary: '{36546ed6-629c-47ff-a0ed-dbb640fd0396}' + + - IDM_Module__get__Parent_Module_Fully_Qualified_Name_with_trailing_colon: '{446ad171-625e-4a4e-b716-b0a21cc3a63b}' + - IDMB_Module__get__Parent_Module_Fully_Qualified_Name_with_trailing_colon: '{9a53d6e1-6b32-4f17-b131-91ba6c3a79c1}' + + - IDM_Module__get__Parent_Module_Fully_Qualified_Name: '{6ef66c12-8676-41b7-adcb-6721210e85f6}' + - IDMB_Module__get__Parent_Module_Fully_Qualified_Name: '{547dcf2f-d0aa-4e9a-b0c6-9a9b2abafd9a}' + + - IDM_Module__get__Parent_Module: '{f5512d81-a134-4d59-9ad0-671822642c55}' + - IDMB_Module__get__Parent_Module: '{fe4dfbd9-bc17-460a-9b69-594a50e14f19}' + + - IDM_Module__get__Name: '{89dc08c4-fab5-4248-b0a4-d717fbbf6469}' + - IDMB_Module__get__Name: '{9d5cec93-f7bf-41cc-9a96-de372f901244}' + - IDMB_Module__get__Name_for_parent_module: '{b466459f-94ca-4b0f-8900-3a73a5da11f8}' + + - IDM_Module__has_parent__Module: '{cf8e7f08-2e44-46e1-be3f-eb50373f44ed}' + - IDMB_Module__has_parent__Module: '{22083290-713f-466d-8aa4-be6c2a19d8cb}' + + - IDM_Module__get__Fully_Qualified_Name2: '{27b070c9-7130-414b-960d-511f2836ef06}' + +- library: '&IDL_MochaBaseSystem;' + instances: + - getAttributeMethod: '&IDM_Module__get__Name;' + forClassId: '&IDC_Module;' + returnsAttributeId: '&IDA_Name;' + verb: 'get' + name: 'Name' + + - returnAttributeMethodBinding: '&IDMB_Module__get__Name;' + executesMethod: '&IDM_Module__get__Name;' + + - returnAttributeMethodBinding: '&IDMB_Module__get__Name_for_parent_module;' + executesMethod: '&IDM_Module__get__Name;' + parameterAssignments: + - globalIdentifier: '{40dd4401-acd9-4773-bec6-cf0a37606433}' + assignsToParameter: '&IDC_Module;' + assignsFromWorkData: '&IDI_WorkSet_ParentModule;' + + - evaluateBooleanExpressionMethod: '&IDM_Module__has_parent__Module;' + forClassId: '&IDC_Module;' + verb: 'has' + name: 'parent Module' + accessModifierId: '&IDI_AccessModifier_RootA2;' + returnsAttributeId: '&IDA_ModuleHasParentModule;' + source: '&IDMB_Module__get__Parent_Module;' + operator: '&IDI_RelationalOperator_NotEmpty;' + + - returnAttributeMethodBinding: '&IDMB_Module__has_parent__Module;' + executesMethod: '&IDM_Module__has_parent__Module;' + + - getRelationshipMethod: '&IDM_Module__get__Parent_Module;' + forClassId: '&IDC_Module;' + returnsWorkSetId: '&IDI_WorkSet_ParentModule;' + verb: 'get' + name: 'Parent Module' + accessModifierId: '&IDI_AccessModifier_RootA2;' + returnsRelationshipId: '&IDR_Module__has_parent__Module;' + singular: yes + + - returnInstanceSetMethodBinding: '&IDMB_Module__get__Parent_Module;' + executesMethod: '&IDM_Module__get__Parent_Module;' + + - getReferencedAttributeMethod: '&IDM_Module__get__Parent_Module_Fully_Qualified_Name;' + forClassId: '&IDC_Module;' + returnsAttributeId: '&IDA_Name;' + verb: 'get' + name: 'Parent Module Fully Qualified Name' + accessModifierId: '&IDI_AccessModifier_RootA2;' + referenceInstanceSet: '&IDMB_Module__get__Parent_Module;' + answerAttribute: '&IDMB_Module__get__Fully_Qualified_Name;' + + - returnAttributeMethodBinding: '&IDMB_Module__get__Parent_Module_Fully_Qualified_Name;' + executesMethod: '&IDM_Module__get__Parent_Module_Fully_Qualified_Name;' + + - buildAttributeMethod: '&IDM_Module__get__Parent_Module_Fully_Qualified_Name_with_trailing_colon;' + forClassId: '&IDC_Module;' + verb: 'get' + name: 'Fully Qualified Name with trailing colon' + accessModifierId: '&IDI_AccessModifier_Public;' + initialValue: '' + returnsAttributeId: '&IDA_Name;' + buildsWithAttributes: + - order: a + executes: '&IDMB_Module__get__Parent_Module_Fully_Qualified_Name;' + - order: b + executes: '&IDMB_Common_Text__get__Colon;' + + - returnAttributeMethodBinding: '&IDMB_Module__get__Parent_Module_Fully_Qualified_Name_with_trailing_colon;' + executesMethod: '&IDM_Module__get__Parent_Module_Fully_Qualified_Name_with_trailing_colon;' + + - conditionalSelectAttributeMethod: '&IDM_Module__get__Parent_Module_Fully_Qualified_Name_with_trailing_colon_if_necessary;' + forClassId: '&IDC_Module;' + verb: 'get' + name: 'Parent Module fully qualified Name with trailing colon if necessary' + accessModifierId: '&IDI_AccessModifier_Public;' + returnsAttributeId: '&IDA_Name;' + cases: + - globalIdentifier: '{839a1799-c429-4b37-bcfa-b56b2ac91cbc}' + trueConditions: + - instance: '&IDMB_Module__has_parent__Module;' + useAnyCondition: no + returnsAttributeId: '&IDMB_Module__get__Parent_Module_Fully_Qualified_Name_with_trailing_colon;' + - globalIdentifier: '{b5f45c93-0237-4c04-b90a-cda9cf05dfcd}' + useAnyCondition: no + returnsAttributeId: '&IDMB_Common_Text__get__Empty_String;' + + - returnAttributeMethodBinding: '&IDMB_Module__get__Parent_Module_Fully_Qualified_Name_with_trailing_colon_if_necessary;' + executesMethod: '&IDM_Module__get__Parent_Module_Fully_Qualified_Name_with_trailing_colon_if_necessary;' + + - buildAttributeMethod: '&IDM_Module__get__Fully_Qualified_Name;' + forClassId: '&IDC_Module;' + verb: 'get' + name: 'Fully Qualified Name' + accessModifierId: '&IDI_AccessModifier_Public;' + initialValue: '' + returnsAttributeId: '&IDA_Name;' + buildsWithAttributes: + - order: a + executes: '&IDMB_Module__get__Parent_Module_Fully_Qualified_Name_with_trailing_colon_if_necessary;' + - order: b + executes: '&IDMB_Module__get__Name;' + + - buildAttributeMethod: '&IDM_Module__get__Fully_Qualified_Name2;' + forClassId: '&IDC_Module;' + verb: 'get' + name: 'Fully Qualified Name 2' + accessModifierId: '&IDI_AccessModifier_Public;' + initialValue: '' + returnsAttributeId: '&IDA_Name;' + buildsWithAttributes: + - order: a + executes: '&IDMB_Module__get__Parent_Module_Fully_Qualified_Name_with_trailing_colon_if_necessary;' + - order: b + executes: '&IDMB_Module__get__Name;' + + - returnAttributeMethodBinding: '&IDMB_Module__get__Fully_Qualified_Name;' + executesMethod: '&IDM_Module__get__Fully_Qualified_Name;' \ No newline at end of file diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/User/System_User__get__Current_User.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/User/System_User__get__Current_User.yaml new file mode 100644 index 0000000..fca1e41 --- /dev/null +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/User/System_User__get__Current_User.yaml @@ -0,0 +1,20 @@ +- entityDefinitions: + - IDM_User__get__Current_User: '{1f4d8b0a-e062-46b2-97ec-0fd4e5720e65}' + - IDMB_User__get__Current_User: '{e019824e-4174-4756-9d3b-e03dbc8e80cd}' # '{baaf7693-506d-449d-9b11-2663d48f6653}' + - IDI_SystemInstanceSetRoutine_GetCurrentUser: '{9ee8edda-aa1b-4766-8c31-1331be5ffb41}' + +- library: '&IDL_MochaBaseSystem;' + instances: + - systemInstanceSetRoutine: '&IDI_SystemInstanceSetRoutine_GetCurrentUser;' + name: 'get current user' + + - getInstanceSetBySystemRoutineMethod: '&IDM_User__get__Current_User;' + forClassId: '&IDC_User;' + verb: 'get' + name: 'Currently Logged-in User' + accessModifierId: '&IDI_AccessModifier_RootA2;' + systemInstanceSetRoutineId: '&IDI_SystemInstanceSetRoutine_GetCurrentUser;' + returnsWorkSetId: '&IDI_WorkSet_UserSingular;' + + - returnInstanceSetMethodBinding: '&IDMB_User__get__Current_User;' + executesMethod: '&IDM_User__get__Current_User;' diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/User/System_User__is__Logged_In.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/User/System_User__is__Logged_In.yaml new file mode 100644 index 0000000..d439dcc --- /dev/null +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/User/System_User__is__Logged_In.yaml @@ -0,0 +1,17 @@ +- entityDefinitions: + - IDM_User__is__Logged_In: '{df450ba6-1624-4099-b961-99c1d1053316}' + - IDMB_User__is__Logged_In: '{5e9cf245-0d9a-4391-9b8f-6131ee0add22}' + +- library: '&IDL_MochaBaseSystem;' + instances: + - evaluateBooleanExpressionMethod: '&IDM_User__is__Logged_In;' + forClassId: '&IDC_User;' + verb: 'is' + name: 'Logged In' + accessModifierId: '&IDI_AccessModifier_RootA2;' + returnsAttributeId: '&IDA_UserIsLoggedIn;' + source: '&IDMB_User__get__Current_User;' + operator: '&IDI_RelationalOperator_NotEmpty;' + + - returnAttributeMethodBinding: '&IDMB_User__is__Logged_In;' + executesMethod: '&IDM_User__is__Logged_In;' diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/005-UserInterface/Elements/000000-LoginPageSubedit.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/005-UserInterface/Elements/000000-LoginPageSubedit.yaml index 48e1d4d..c3f9f69 100644 --- a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/005-UserInterface/Elements/000000-LoginPageSubedit.yaml +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/005-UserInterface/Elements/000000-LoginPageSubedit.yaml @@ -4,6 +4,9 @@ - IDM_LoginPageResponse: '{1d2448c3-d37e-496e-9114-4aae8daff077}' - IDMB_LoginPageResponse: '{9ceb0dc5-3601-4fe5-aa5b-1f11990cbc29}' + - IDM_LoginPageResponseUnauthorized: '{1ee3e6aa-36e9-4355-abfa-82e8b52a680d}' + - IDMB_LoginPageResponseUnauthorized: '{955f4980-e7e6-4547-ba7a-c1941650bc1b}' + - IDM_LoginPagePRU: '{880789c8-1f61-4a95-a693-971bdf96dcd1}' - IDI_SystemUpdateRoutine_LoginUser: '{f36f8f87-0d2b-4e62-b85f-abb7e94d952c}' @@ -14,18 +17,32 @@ instances: - buildUIResponseMethod: '&IDM_LoginPageResponse;' # usesExecutableReturningElement: '&IDE_BuildAttributeMethod_View;' + targetUrl: '~/d/home.htmld' + # FIXME!: this should trigger a write user session, then redirect to home page + + - buildUIResponseMethod: '&IDM_LoginPageResponseUnauthorized;' + # usesExecutableReturningElement: '&IDE_BuildAttributeMethod_View;' + targetUrl: '~/d/logout.htmld?reason=AuthenticationFailure' # FIXME!: this should trigger a write user session, then redirect to home page - buildResponseMethodBinding: '&IDMB_LoginPageResponse;' executesMethod: '&IDM_LoginPageResponse;' + trueConditions: + - instance: '&IDMB_User__is__Logged_In;' + + - buildResponseMethodBinding: '&IDMB_LoginPageResponseUnauthorized;' + executesMethod: '&IDM_LoginPageResponseUnauthorized;' + falseConditions: + - instance: '&IDMB_User__is__Logged_In;' - controlTransactionMethod: '&IDM_LoginPage;' forClassId: '&IDC_Tenant;' verb: '' name: 'Login Page' - # buildsResponseWithBRMB: '&IDMB_LoginPageResponse;' - destinationUrl: '~/d/home.htmld' - + buildsResponseWithBRMB: + - instance: '&IDMB_LoginPageResponse;' + - instance: '&IDMB_LoginPageResponseUnauthorized;' + - systemUpdateRoutine: '&IDI_SystemUpdateRoutine_LoginUser;' name: 'Log in user'