diff --git a/BeWo/View/Detail/CustomerView.xaml.cs b/BeWo/View/Detail/CustomerView.xaml.cs index b55a138c3..d3642a1a0 100644 --- a/BeWo/View/Detail/CustomerView.xaml.cs +++ b/BeWo/View/Detail/CustomerView.xaml.cs @@ -236,9 +236,15 @@ namespace BeWo.View.Detail if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Customer_EditMedication)) { ButtonAktuelleMedBearbeiten.Visibility = Visibility.Collapsed; - ButtonAktuelleMedLoeschen.Visibility = Visibility.Collapsed; ButtonBedarfMedBearbeiten.Visibility = Visibility.Collapsed; + } + if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Customer_DeleteMedication)) + { + ButtonAktuelleMedLoeschen.Visibility = Visibility.Collapsed; ButtonBedarfMedLoeschen.Visibility = Visibility.Collapsed; + } + if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Customer_CreateMedication)) + { ButtonNeuAusBedarfsverordnung.Visibility = Visibility.Collapsed; ButtonNeuAusAktuellerVerordnung.Visibility = Visibility.Collapsed; ButtonNeueMedikamentenverordnung.Visibility = Visibility.Collapsed; diff --git a/BeWo/ViewModel/UserGroupVM.cs b/BeWo/ViewModel/UserGroupVM.cs index a73a205e0..79871826e 100644 --- a/BeWo/ViewModel/UserGroupVM.cs +++ b/BeWo/ViewModel/UserGroupVM.cs @@ -101,6 +101,7 @@ namespace BeWo.ViewModel {(r) => r == UserRightType.SupportConcept_ImportData, BeWoApp.AppSettings.ShowPersehImport}, //{(r) => r == UserRightType.AiChatInZeiterfassung, BeWoApp.AppSettings.ShowAI}, {IsAiModuleRight, BeWoApp.AppSettings.ShowAI}, + {IsVorlagenModulRight, BeWoApp.AppSettings.ShowVorlagen}, //{IsAiModuleSettingRight, BeWoApp.AppSettings.ModuleAiSettingsEnabled}, {(r) => r == UserRightType.AiVoiceView, BeWoApp.AppSettings.ShowAIVoice}, }; @@ -185,7 +186,10 @@ namespace BeWo.ViewModel } private static bool IsMedicationRight(UserRightType userRightType) { - if (userRightType == UserRightType.Customer_ViewMedication || userRightType == UserRightType.Customer_EditMedication) + if (userRightType == UserRightType.Customer_ViewMedication + || userRightType == UserRightType.Customer_EditMedication + || userRightType == UserRightType.Customer_DeleteMedication + || userRightType == UserRightType.Customer_CreateMedication) return true; return false; } @@ -290,10 +294,16 @@ namespace BeWo.ViewModel private static bool IsAiModuleRight(UserRightType right) => ContainsRight(right, UserRightType.AiModuleServiceRecordChat, UserRightType.AiModuleServiceRecordDocu, UserRightType.AiModulePromptbausteineEdit, UserRightType.AiModulePromptbausteineView, UserRightType.AiModulePromptbausteinShare); - //private static bool IsAiModuleSettingRight(UserRightType right) => - // ContainsRight(right); - private static bool ContainsRight(UserRightType right, params UserRightType[] rightTypes) + + private static bool IsVorlagenModulRight(UserRightType right) => + ContainsRight(right, UserRightType.VorlagenEditAll, UserRightType.VorlagenEditOwnTeams, UserRightType.VorlagenViewAll, + UserRightType.VorlagenViewOwnTeams); + + //private static bool IsAiModuleSettingRight(UserRightType right) => + // ContainsRight(right); + + private static bool ContainsRight(UserRightType right, params UserRightType[] rightTypes) { return rightTypes.Length != 0 && rightTypes.Any(x => x == right); } diff --git a/Shared/BeWoEntityEnums.cs b/Shared/BeWoEntityEnums.cs index a384f35d3..feae9ea1d 100644 --- a/Shared/BeWoEntityEnums.cs +++ b/Shared/BeWoEntityEnums.cs @@ -200,10 +200,14 @@ namespace BS.Shared AiUserSetting = 189, AiPromptbausteinRoutine = 190, AiPromptbausteinRoutineStep = 191, - } + TeamFolderRight = 192 + } public enum SystemEntryID { + // Endgültig gelöscht + DeletedPermanently = -1, + // LVR Kostenträger CostBearerLVR = 0, @@ -534,6 +538,10 @@ namespace BS.Shared DocumentsEditFolders = 22012, DocumentsUploadAll = 22013, DocumentsDeleteAll = 22014, + VorlagenEditAll = 22020, + VorlagenEditOwnTeams = 22021, + VorlagenViewAll = 22022, + VorlagenViewOwnTeams = 22023, Customer_ViewMedication = 22100, Customer_ViewDiagnosis = 22101, @@ -591,6 +599,8 @@ namespace BS.Shared Finance_Gkv_Delete = 26113, Customer_EditMedication = 27000, + Customer_CreateMedication = 27001, + Customer_DeleteMedication = 27002, //MedRecordsAnsehen = 27001, //MedRecordsAnlegen = 27002, //MedRecordsAendern = 27003, diff --git a/Shared/Core/EnumTranslations.cs b/Shared/Core/EnumTranslations.cs index cac4de0b0..2a535707e 100644 --- a/Shared/Core/EnumTranslations.cs +++ b/Shared/Core/EnumTranslations.cs @@ -720,7 +720,9 @@ namespace BS.Shared.Core dict.Add(UserRightType.Customer_ViewMyTeams, Translator.Translate("Klienten") + " ansehen (von Teams betreut)"); dict.Add(UserRightType.Customer_ViewMedication, Translator.Translate("Klienten") + " Medikation ansehen"); dict.Add(UserRightType.Customer_EditMedication, Translator.Translate("Klienten") + " Medikation bearbeiten"); - dict.Add(UserRightType.Customer_ViewDiagnosis, Translator.Translate("Klienten") + " Diagnosen ansehen"); + dict.Add(UserRightType.Customer_DeleteMedication, Translator.Translate("Klienten") + " Medikation löschen"); + dict.Add(UserRightType.Customer_CreateMedication, Translator.Translate("Klienten") + " Medikation anlegen"); + dict.Add(UserRightType.Customer_ViewDiagnosis, Translator.Translate("Klienten") + " Diagnosen ansehen"); dict.Add(UserRightType.Customer_ViewNotizen, Translator.Translate("Klienten") + " Notizen ansehen"); dict.Add(UserRightType.Customer_EditNotizen, Translator.Translate("Klienten") + " Notizen bearbeiten"); dict.Add(UserRightType.Customer_DeleteNotizen, Translator.Translate("Klienten") + " Notizen löschen"); @@ -930,6 +932,10 @@ namespace BS.Shared.Core dict.Add(UserRightType.DocumentsUploadAll, Translator.Translate("Dokumente hochladen")); dict.Add(UserRightType.DocumentsDeleteAll, Translator.Translate("Dokumente löschen")); dict.Add(UserRightType.DocumentsEditFolders, Translator.Translate("Dokumente Ordner bearbeiten")); + dict.Add(UserRightType.VorlagenEditAll, Translator.Translate("Vorlagen bearbeiten (alle)")); + dict.Add(UserRightType.VorlagenEditOwnTeams, Translator.Translate("Vorlagen bearbeiten (der eigenen Teams)")); + dict.Add(UserRightType.VorlagenViewAll, Translator.Translate("Vorlagen verwenden (alle)")); + dict.Add(UserRightType.VorlagenViewOwnTeams, Translator.Translate("Vorlagen verwenden (der eigenen Teams)")); dict.Add(UserRightType.ServiceRecordAllowEditAfterMindays, Translator.Translate("Zeiterfassung Einträge nach Ablauf der Eingabefrist bearbeiten")); dict.Add(UserRightType.Betreuungsschluessel_View, Translator.Translate("BetreuerSingular") + " bei Hilfeplänen ansehen"); dict.Add(UserRightType.Betreuungsschluessel_Create, Translator.Translate("BetreuerSingular") + " bei Hilfeplänen anlegen");