From c271962faf293472bbe9d06e037e68741e7bdb90 Mon Sep 17 00:00:00 2001 From: Rene Evertz Date: Fri, 14 Mar 2025 14:04:46 +0100 Subject: [PATCH] AI Konversationen Rechte + Ansicht --- BeWo/BeWo.csproj | 11 ++- BeWo/BeWoApp.xaml.cs | 1 + BeWo/Core/Config/AppSettings.cs | 3 + BeWo/DebugConfig.cs | 16 +++- BeWo/MainControl.xaml | 25 +++++- BeWo/MainControl.xaml.cs | 16 +++- BeWo/Ressources/Icons/chatbot2.png | Bin 0 -> 10713 bytes BeWo/View/Master/AiConversationView.xaml | 92 ++++++++++++++++++++ BeWo/View/Master/AiConversationView.xaml.cs | 28 ++++++ BeWo/ViewModel/UserGroupVM.cs | 10 ++- Data/Security/UserRightHelper.cs | 15 +++- Service/Plugins/AiService.cs | 2 - Shared/BeWoEntityEnums.cs | 9 +- Shared/Core/EnumTranslations.cs | 11 ++- 14 files changed, 223 insertions(+), 16 deletions(-) create mode 100644 BeWo/Ressources/Icons/chatbot2.png create mode 100644 BeWo/View/Master/AiConversationView.xaml create mode 100644 BeWo/View/Master/AiConversationView.xaml.cs diff --git a/BeWo/BeWo.csproj b/BeWo/BeWo.csproj index c9274041b..453f76189 100644 --- a/BeWo/BeWo.csproj +++ b/BeWo/BeWo.csproj @@ -669,6 +669,10 @@ MSBuild:UpdateDesignTimeXaml + + Designer + MSBuild:Compile + Designer MSBuild:Compile @@ -1546,6 +1550,9 @@ DokumenteView.xaml + + AiConversationView.xaml + SchedulingMasterView.xaml @@ -3444,7 +3451,9 @@ - + + + diff --git a/BeWo/BeWoApp.xaml.cs b/BeWo/BeWoApp.xaml.cs index 2b85a65a3..15468fcdf 100644 --- a/BeWo/BeWoApp.xaml.cs +++ b/BeWo/BeWoApp.xaml.cs @@ -611,6 +611,7 @@ namespace BeWo //AppSettings.AllowGkvAbrechnung = true; //AppSettings.AllowGkvAbrechnung = false; //showInfoButtonInCalender = true; + AppSettings.ModuleAiEnabled = true; #endif AppSettings.ShowDatevFields = showDatevFields; diff --git a/BeWo/Core/Config/AppSettings.cs b/BeWo/Core/Config/AppSettings.cs index 30b0b0f66..f3cc65903 100644 --- a/BeWo/Core/Config/AppSettings.cs +++ b/BeWo/Core/Config/AppSettings.cs @@ -470,6 +470,9 @@ namespace BeWo.Core.Config public bool ShowAIInternal { get; set; } public bool AllowGkvAbrechnung { get; set; } + + public bool ModuleAiEnabled { get; set; } + public bool ShowWohnhilfe { get; set; } public bool ShowImportAbschlagszahlungen { get; set; } diff --git a/BeWo/DebugConfig.cs b/BeWo/DebugConfig.cs index e64ec478c..ded744c46 100644 --- a/BeWo/DebugConfig.cs +++ b/BeWo/DebugConfig.cs @@ -10,7 +10,8 @@ namespace BeWo FeatureCustomerWohnhilfe, FeatureWohnheimWohneinheit, FeatureAuswertungenQuittierungsbelege, - FeatureDakota + FeatureDakota, + FeatureAiModule } public class DebugConfig @@ -139,6 +140,19 @@ namespace BeWo EnableAutoRemoteDebugging = true }); + name2config.Add("FeatureAiModule", + new DebugConfig() + { + DebugConfigMode = DebugConfigMode.FeatureAiModule, + AutoLogin = true, + //SelectView = UIContext.Finance, + //SelectIndex = 8, + //DefaultLoginUsername = "m1", + //DefaultLoginPassword = "bewobewo", + //DefaultProfilename = "5000000000", + EnableAutoRemoteDebugging = true + }); + return name2config; } #endif diff --git a/BeWo/MainControl.xaml b/BeWo/MainControl.xaml index de5241718..f6745cc14 100644 --- a/BeWo/MainControl.xaml +++ b/BeWo/MainControl.xaml @@ -8,8 +8,8 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:r="clr-namespace:BeWo.Security" xmlns:t="clr-namespace:BeWo.MultiLanguage.Markup" - d:DesignHeight="300" - d:DesignWidth="300" + d:DesignHeight="1080" + d:DesignWidth="1920" Background="{DynamicResource ApplicationBackground}" RenderTransformOrigin="0.5,0.5" SnapsToDevicePixels="True" @@ -830,6 +830,27 @@ + + + + + + + + + + + diff --git a/BeWo/MainControl.xaml.cs b/BeWo/MainControl.xaml.cs index 0f2cee935..389e385d1 100644 --- a/BeWo/MainControl.xaml.cs +++ b/BeWo/MainControl.xaml.cs @@ -54,7 +54,8 @@ namespace BeWo CustomerTeam, Scheduling, Finance, - Administration + Administration, + AiConversation } public partial class MainControl @@ -307,6 +308,9 @@ namespace BeWo case UIContext.Finance: view = new FinanceView(); break; + case UIContext.AiConversation: + view = new AiConversationView(); + break; } _Views[uiContext] = view; } @@ -1171,6 +1175,14 @@ namespace BeWo } } + private void button_ai_chat_Click(object sender, RoutedEventArgs e) + { + if (DoSaveCheck()) + { + NavigateTo(GetViewForUIContext(UIContext.AiConversation)); + } + } + //private void button_assessmentSheetEntry_Click(object sender, RoutedEventArgs e) //{ // if (this.DoSaveCheck()) @@ -1179,7 +1191,7 @@ namespace BeWo // } //} - + private void button_resources_Click(object sender, RoutedEventArgs e) { if (DoSaveCheck()) diff --git a/BeWo/Ressources/Icons/chatbot2.png b/BeWo/Ressources/Icons/chatbot2.png new file mode 100644 index 0000000000000000000000000000000000000000..14a9a69b53b2118f1089db079251486ae6aed3d4 GIT binary patch literal 10713 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 Ps|k>iP!z8cH46HFov_c5 literal 0 HcmV?d00001 diff --git a/BeWo/View/Master/AiConversationView.xaml b/BeWo/View/Master/AiConversationView.xaml new file mode 100644 index 000000000..db8928fcd --- /dev/null +++ b/BeWo/View/Master/AiConversationView.xaml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +