diff --git a/BeWo/BeWo.csproj b/BeWo/BeWo.csproj
index e721c24a9..dcb2f1b48 100644
--- a/BeWo/BeWo.csproj
+++ b/BeWo/BeWo.csproj
@@ -42,13 +42,13 @@
https://app.ownsoft.de/
de-DE
BeWoPlaner
- beyondSoft GmbH
- 2.0.1.221
+ ownSoft GmbH
+ 2.0.1.224
true
publish.htm
false
true
- 222
+ 225
2.0.1.%2a
false
true
@@ -455,6 +455,10 @@
MSBuild:Compile
Designer
+
+ MSBuild:Compile
+ Designer
+
MSBuild:Compile
Designer
@@ -1164,6 +1168,9 @@
SupportConceptGoalRatingView.xaml
+
+ ExceptionMessageBoxWithSupportMail.xaml
+
HomeView.xaml
diff --git a/BeWo/BeWoApp.xaml.cs b/BeWo/BeWoApp.xaml.cs
index 4987aea08..a6f19ae5a 100644
--- a/BeWo/BeWoApp.xaml.cs
+++ b/BeWo/BeWoApp.xaml.cs
@@ -763,7 +763,23 @@ namespace BeWo
{
if (MainControl != null)
{
- MainControl.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action) (() => MainControl.ShowControlAsModalPopup(new ExceptionMessageBox(message, ex, showDetails))));
+
+
+
+ MainControl.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action) (() =>
+ {
+ UserControl exControl = null;
+ if (showDetails && BeWoApp.LoggedOnUser != null && BeWoApp.LoggedOnUser.HasRight(BS.Shared.UserRightType.Support_View))
+ {
+ exControl = new ExceptionMessageBoxWithSupportMail(ex);
+ }
+ else
+ {
+ exControl = new ExceptionMessageBox(message, ex, showDetails);
+ }
+
+ MainControl.ShowControlAsModalPopup(exControl);
+ }));
}
else if (LoginControl != null)
{
diff --git a/BeWo/MainControl.xaml b/BeWo/MainControl.xaml
index 8c40b18fb..20728c592 100644
--- a/BeWo/MainControl.xaml
+++ b/BeWo/MainControl.xaml
@@ -309,7 +309,7 @@
- ();
diff --git a/BeWo/View/ExceptionMessageBox.xaml b/BeWo/View/ExceptionMessageBox.xaml
index c603e00c9..f2dc7a2f3 100644
--- a/BeWo/View/ExceptionMessageBox.xaml
+++ b/BeWo/View/ExceptionMessageBox.xaml
@@ -27,7 +27,6 @@
-
diff --git a/BeWo/View/ExceptionMessageBoxWithSupportMail.xaml b/BeWo/View/ExceptionMessageBoxWithSupportMail.xaml
new file mode 100644
index 000000000..d05a987c3
--- /dev/null
+++ b/BeWo/View/ExceptionMessageBoxWithSupportMail.xaml
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Es ist leider ein unbekannter Fehler aufgetreten.
+
+
+ Wir entschuldigen uns für die Unannehmlichkeiten. Wenn Sie möchten, können Sie die Fehlermeldung direkt an unseren Support schicken.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BeWo/View/ExceptionMessageBoxWithSupportMail.xaml.cs b/BeWo/View/ExceptionMessageBoxWithSupportMail.xaml.cs
new file mode 100644
index 000000000..6f54846f1
--- /dev/null
+++ b/BeWo/View/ExceptionMessageBoxWithSupportMail.xaml.cs
@@ -0,0 +1,111 @@
+using BeWo.ServiceProxy;
+using BS.Shared;
+using BS.Shared.Translation;
+using System;
+using System.Windows;
+
+
+namespace BeWo.View
+{
+ public partial class ExceptionMessageBoxWithSupportMail
+ {
+ public ExceptionMessageBoxWithSupportMail(Exception ex)
+ {
+ InitializeComponent();
+
+ tb_errorTitle.Text = Translator.Translate("Es ist leider ein unbekannter Fehler aufgetreten.");
+
+ tb_message.Text = Translator.Translate(
+ "Wir entschuldigen uns für die Unannehmlichkeiten. Wenn Sie möchten, können Sie die Fehlermeldung direkt an unseren Support schicken.");
+
+ tb_description.Text = Translator.Translate("Möchten Sie uns erläutern, unter welchen Umständen der Fehler aufgetreten ist?");
+
+ chkKontaktdaten.Content = Translator.Translate("Kontaktdaten übermittlen");
+
+ tb_kontaktdatentitle.Text = Translator.Translate("Wenn Sie uns Ihre E-Mail Adresse oder Telefonnummer mitteilen, können wir Sie bei Rückfragen leichter kontaktieren.");
+
+
+ if (ex != null)
+ {
+ tb_stack.Text = String.Format("{0}:\n{1}", ex.Message, ex.StackTrace);
+ }
+ }
+
+ private void Button_SendToSupport_Click(object sender, RoutedEventArgs e)
+ {
+ string nachricht = String.Format("Beschreibung:\n{0}", tb_errorDesciption.Text);
+
+ if (CheckBoxSupportPin.IsChecked.HasValue && CheckBoxSupportPin.IsChecked.Value)
+ {
+ nachricht += string.Format("\n\nPIN: GENERATE PIN");
+ }
+ if (chkKontaktdaten.IsChecked.HasValue && chkKontaktdaten.IsChecked.Value)
+ {
+ nachricht += string.Format("\n\nKontaktdaten: {0}", tb_kontaktdaten.Text);
+ }
+
+ nachricht += String.Format("\n\nFehlerdetails:\n{0}", tb_stack.Text);
+
+
+ EMailVersenden("", "", "FEHLERMELDUNG", nachricht);
+ }
+
+ private void EMailVersenden(string senderName, string senderEMail, string betreff, string nachricht)
+ {
+ var result = ServiceFacade.DoMailServiceSync(m => m.SendEMailWithSender(senderName, senderEMail, betreff, nachricht));
+
+ if (result)
+ {
+ CloseDialog();
+ MessageBox.Show("Die E-Mail wurde erfolgreich versendet.", "E-Mail senden", MessageBoxButton.OK,
+ MessageBoxImage.Information);
+ }
+ else
+ {
+ MessageBox.Show("Die E-Mail konnte leider nicht gesendet werden", "E-Mail senden", MessageBoxButton.OK,
+ MessageBoxImage.Error);
+ }
+
+ }
+
+ private void Button_Click(object sender, RoutedEventArgs e)
+ {
+ CloseDialog();
+ }
+
+ private void CloseDialog()
+ {
+ if (BeWoApp.MainControl != null)
+ {
+ BeWoApp.MainControl.CloseCurrentPopUp();
+ }
+ else if (BeWoApp.LoginControl != null)
+ {
+ BeWoApp.LoginControl.CloseCurrentPopUp();
+ }
+ }
+
+ private void chkKontaktdaten_Checked(object sender, RoutedEventArgs e)
+ {
+ if (chkKontaktdaten.IsChecked.HasValue && chkKontaktdaten.IsChecked.Value)
+ {
+ if (BeWoApp.LoggedOnEmployee != null)
+ {
+ if (BeWoApp.LoggedOnEmployee.ContactInformations != null)
+ {
+ foreach (var contact in BeWoApp.LoggedOnEmployee.ContactInformations)
+ {
+ if (contact.ContactType == ContactType.business_Mail)
+ {
+ tb_kontaktdaten.Text = contact.ContactValue;
+ }
+ }
+
+ }
+
+ }
+
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/BeWo/View/Master/ReportView.xaml.cs b/BeWo/View/Master/ReportView.xaml.cs
index 838c3bf25..89fc56a01 100644
--- a/BeWo/View/Master/ReportView.xaml.cs
+++ b/BeWo/View/Master/ReportView.xaml.cs
@@ -12,7 +12,6 @@ using BS.Shared;
using BS.Shared.Extensions;
using BeWo.View.Report.Auslastung;
using BeWo.View.Report.Kilometerauswertung;
-using BeWo.View.Report.MitarbeiterKoelnRing;
using BeWo.View.Report.Rating;
namespace BeWo.View.Master
@@ -25,7 +24,7 @@ namespace BeWo.View.Master
{
InitializeComponent();
- InitRights();
+ //InitRights();
}
public override bool IsDirty => OpenViews.ContainsKey(root.SelectedItem as TabItem) && OpenViews[root.SelectedItem as TabItem].IsDirty;
@@ -60,7 +59,7 @@ namespace BeWo.View.Master
var isTabLoaded = false;
// Berichte
- if(BeWoApp.LoggedOnUser.HasRight(UserRightType.Auswertungen_BerichteAnsehen))
+ if (BeWoApp.LoggedOnUser.HasRight(UserRightType.Auswertungen_BerichteAnsehen) || BeWoApp.LoggedOnUser.HasRight(UserRightType.QueryView_View))
{
tabitem_queries.Visibility = Visibility.Visible;
SelectQueriesTabItem();
@@ -73,10 +72,10 @@ namespace BeWo.View.Master
}
// Stundenübersicht
- if(BeWoApp.LoggedOnUser.HasRight(UserRightType.Auswertungen_StundenuebersichtAnsehen))
+ if (BeWoApp.LoggedOnUser.HasRight(UserRightType.Auswertungen_StundenuebersichtAnsehen) || BeWoApp.LoggedOnUser.HasRight(UserRightType.QueryView_View))
{
tabitem_flsReport.Visibility = Visibility.Visible;
- if(isQueriesTabItemCollapsed && !isTabLoaded)
+ if (isQueriesTabItemCollapsed && !isTabLoaded)
{
SelectFlsReportTabItem();
isTabLoaded = true;
@@ -88,13 +87,13 @@ namespace BeWo.View.Master
}
// Kilometerauswertung
- if(!BeWoApp.AppSettings.ShowDistanceFields || (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Kilometerauswertung_View) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.KilometerauswertungEigene_View)))
+ if (!BeWoApp.AppSettings.ShowDistanceFields || (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Kilometerauswertung_View) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.KilometerauswertungEigene_View)))
{
TabItemKilometerauswertung.Visibility = Visibility.Collapsed;
}
else
{
- if(isQueriesTabItemCollapsed && !isTabLoaded)
+ if (isQueriesTabItemCollapsed && !isTabLoaded)
{
SelectKilometerauswertungTabItem();
isTabLoaded = true;
@@ -102,17 +101,17 @@ namespace BeWo.View.Master
}
// Mitarbeiterauswertung
- if(BeWoApp.Mandator.BeWoClientType != 3) //Nur Köln Ring
+ if (BeWoApp.Mandator.BeWoClientType != 3) //Nur Köln Ring
{
tabitem_Mitarbeiter.Visibility = Visibility.Collapsed;
}
- else if(!BeWoApp.LoggedOnUser.HasRight(UserRightType.Analysis_EmployeeOverviewAll_View))
+ else if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Analysis_EmployeeOverviewAll_View))
{
tabitem_Mitarbeiter.Visibility = Visibility.Collapsed;
}
else
{
- if(isQueriesTabItemCollapsed && !isTabLoaded)
+ if (isQueriesTabItemCollapsed && !isTabLoaded)
{
SelectMitarbeiterKoelnRing();
isTabLoaded = true;
@@ -120,13 +119,13 @@ namespace BeWo.View.Master
}
// Mitarbeiterauslastung
- if(!BeWoApp.LoggedOnUser.HasRight(UserRightType.Analysis_Auslastung_View))
+ if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Analysis_Auslastung_View))
{
tabitem_maReport.Visibility = Visibility.Collapsed;
}
else
{
- if(isQueriesTabItemCollapsed)
+ if (isQueriesTabItemCollapsed && !isTabLoaded)
{
SelectAuslastungReportView2();
isTabLoaded = true;
@@ -134,15 +133,15 @@ namespace BeWo.View.Master
}
// Mitarbeiterstundenkonto
- if(BeWoApp.Tenant == "3010479871" || (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewAll) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewSelf) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewTeams)))
+ if (BeWoApp.Tenant == "3010479871" || (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewAll) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewSelf) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewTeams)))
{
//Aachener Verein
tabitem_makonto.Visibility = Visibility.Collapsed;
}
- else if(BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewAll) || BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewSelf) || BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewTeams))
+ else if (BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewAll) || BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewSelf) || BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewTeams))
{
tabitem_makonto.Visibility = Visibility.Visible;
- if(isQueriesTabItemCollapsed && !isTabLoaded)
+ if (isQueriesTabItemCollapsed && !isTabLoaded)
{
SelectMitarbeiterstundenkontoTabItem();
isTabLoaded = true;
@@ -154,10 +153,10 @@ namespace BeWo.View.Master
}
// Urlaubsplanung
- if(BeWoApp.AppSettings.ShowUrlaubsplanung && BeWoApp.LoggedOnUser.HasRight(UserRightType.AbwesenheitsPlanungAnsehen))
+ if (BeWoApp.AppSettings.ShowUrlaubsplanung && BeWoApp.LoggedOnUser.HasRight(UserRightType.AbwesenheitsPlanungAnsehen))
{
tabitem_abwesenheitsTabelle.Visibility = Visibility.Visible;
- if(isQueriesTabItemCollapsed && !isTabLoaded)
+ if (isQueriesTabItemCollapsed && !isTabLoaded)
{
SelectAbwesenheitstabelleTabItem();
isTabLoaded = true;
@@ -169,10 +168,10 @@ namespace BeWo.View.Master
}
// Dienstplanung
- if(BeWoApp.AppSettings.ShowDienstplanung && BeWoApp.LoggedOnUser.HasRight(UserRightType.DienstplanungAnsehen))
+ if (BeWoApp.AppSettings.ShowDienstplanung && BeWoApp.LoggedOnUser.HasRight(UserRightType.DienstplanungAnsehen))
{
tabitem_dienstPlaner.Visibility = Visibility.Visible;
- if(isQueriesTabItemCollapsed && !isTabLoaded)
+ if (isQueriesTabItemCollapsed && !isTabLoaded)
{
SelectDienstplanerTabItem();
isTabLoaded = true;
@@ -184,10 +183,10 @@ namespace BeWo.View.Master
}
// Hilfeplanübersicht
- if(BeWoApp.LoggedOnUser.HasRight(UserRightType.Auswertungen_HilfeplanuebersichtAnsehen))
+ if (BeWoApp.LoggedOnUser.HasRight(UserRightType.Auswertungen_HilfeplanuebersichtAnsehen) || BeWoApp.LoggedOnUser.HasRight(UserRightType.QueryView_View))
{
tabitem_supportConceptAnalysis.Visibility = Visibility.Visible;
- if(isQueriesTabItemCollapsed && !isTabLoaded)
+ if (isQueriesTabItemCollapsed && !isTabLoaded)
{
SelectSupportConceptAnalysisTabItem();
isTabLoaded = true;
@@ -199,10 +198,10 @@ namespace BeWo.View.Master
}
// Bewertungen
- if(BeWoApp.LoggedOnUser.HasRight(UserRightType.BewertungAuswertung_View))
+ if (BeWoApp.LoggedOnUser.HasRight(UserRightType.BewertungAuswertung_View))
{
tabitem_RatingAnalysis.Visibility = Visibility.Visible;
- if(isQueriesTabItemCollapsed && !isTabLoaded)
+ if (isQueriesTabItemCollapsed && !isTabLoaded)
{
SelectRatingAnalysisTabItem();
isTabLoaded = true;
@@ -214,7 +213,7 @@ namespace BeWo.View.Master
}
// Jahresbericht
- if(!BeWoApp.LoggedOnUser.HasRight(UserRightType.Jahresbericht))
+ if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Jahresbericht))
{
tabitem_annualReport.Visibility = Visibility.Collapsed;
}
@@ -222,7 +221,7 @@ namespace BeWo.View.Master
{
tabitem_annualReport.Visibility = Visibility.Visible;
- if(isQueriesTabItemCollapsed && !isTabLoaded)
+ if (isQueriesTabItemCollapsed && !isTabLoaded)
{
SelectAnnualReportTabItem();
isTabLoaded = true;
@@ -230,7 +229,7 @@ namespace BeWo.View.Master
}
// Quittierungsbelege
- if(!BeWoApp.LoggedOnUser.HasRight(UserRightType.Analysis_ServiceOverview_View))
+ if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Analysis_ServiceOverview_View))
{
tabitem_serviceOverview.Visibility = Visibility.Collapsed;
}
@@ -238,7 +237,7 @@ namespace BeWo.View.Master
{
tabitem_serviceOverview.Visibility = Visibility.Visible;
- if(isQueriesTabItemCollapsed && !isTabLoaded)
+ if (isQueriesTabItemCollapsed && !isTabLoaded)
{
SelectServiceOverviewTabItem();
isTabLoaded = true;
@@ -246,10 +245,10 @@ namespace BeWo.View.Master
}
// Stundenzettel
- if(BeWoApp.Mandator.AllowSbd)
+ if (BeWoApp.Mandator.AllowSbd)
{
tabitem_stundenzettelOverview.Visibility = Visibility.Visible;
- if(isQueriesTabItemCollapsed && !isTabLoaded)
+ if (isQueriesTabItemCollapsed && !isTabLoaded)
{
SelectStundenzettelTabItem();
isTabLoaded = true;
@@ -261,10 +260,10 @@ namespace BeWo.View.Master
}
// Pivot Tabelle
- if(BeWoApp.AppSettings.ShowPivotGrid && BeWoApp.LoggedOnUser.HasRight(UserRightType.PivotTabelleAnsehen))
+ if (BeWoApp.AppSettings.ShowPivotGrid && BeWoApp.LoggedOnUser.HasRight(UserRightType.PivotTabelleAnsehen))
{
tabitem_flexibleReport.Visibility = Visibility.Visible;
- if(isQueriesTabItemCollapsed && !isTabLoaded)
+ if (isQueriesTabItemCollapsed && !isTabLoaded)
{
SelectFlexibleReportTabItem();
}
@@ -273,8 +272,8 @@ namespace BeWo.View.Master
{
tabitem_flexibleReport.Visibility = Visibility.Collapsed;
}
-
-
+
+
//tabitem_serviceOverview.Visibility = Visibility.Collapsed;
@@ -296,6 +295,113 @@ namespace BeWo.View.Master
#endif
}
+ private void InitRightsAlt()
+ {
+ if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Analysis_ServiceOverview_View))
+ {
+ tabitem_serviceOverview.Visibility = Visibility.Collapsed;
+ }
+
+ if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Analysis_Auslastung_View))
+ {
+ tabitem_maReport.Visibility = Visibility.Collapsed;
+ }
+
+ if (BeWoApp.Mandator.BeWoClientType != 3) //Nur Köln Ring
+ {
+ tabitem_Mitarbeiter.Visibility = Visibility.Collapsed;
+ }
+ else if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Analysis_EmployeeOverviewAll_View))
+ {
+ tabitem_Mitarbeiter.Visibility = Visibility.Collapsed;
+ }
+
+ tabitem_annualReport.Visibility = Visibility.Visible;
+
+ //if (BeWoApp.Mandator.BeWoClientType == 6 || BeWoApp.Mandator.BeWoClientType == 7 || BeWoApp.Mandator.BeWoClientType == 10 || BeWoApp.AppSettings.ShowAnnualReport)
+ // {
+ // //Nur Jahresbericht + IBP + Integra
+ // tabitem_annualReport.Visibility = Visibility.Visible;
+ // }
+
+ if (BeWoApp.Tenant == "3010479871" || (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewAll) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewSelf) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewTeams)))
+ {
+ //Aachener Verein
+ tabitem_makonto.Visibility = Visibility.Collapsed;
+ }
+
+ if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Jahresbericht))
+ {
+ tabitem_annualReport.Visibility = Visibility.Collapsed;
+ }
+ if (BeWoApp.Mandator.AllowSbd)
+ {
+ //tabitem_serviceOverview.Visibility = Visibility.Collapsed;
+ tabitem_stundenzettelOverview.Visibility = Visibility.Visible;
+ }
+ else
+ {
+ tabitem_stundenzettelOverview.Visibility = Visibility.Collapsed;
+ }
+
+ if (BeWoApp.AppSettings.ShowPivotGrid && BeWoApp.LoggedOnUser.HasRight(UserRightType.PivotTabelleAnsehen))
+ {
+ tabitem_flexibleReport.Visibility = Visibility.Visible;
+ }
+ else
+ {
+ tabitem_flexibleReport.Visibility = Visibility.Collapsed;
+ }
+
+ if (BeWoApp.AppSettings.ShowDienstplanung && BeWoApp.LoggedOnUser.HasRight(UserRightType.DienstplanungAnsehen))
+ {
+ tabitem_dienstPlaner.Visibility = Visibility.Visible;
+ }
+ else
+ {
+ tabitem_dienstPlaner.Visibility = Visibility.Collapsed;
+ }
+
+ if (BeWoApp.AppSettings.ShowUrlaubsplanung && BeWoApp.LoggedOnUser.HasRight(UserRightType.AbwesenheitsPlanungAnsehen))
+ {
+ tabitem_abwesenheitsTabelle.Visibility = Visibility.Visible;
+ }
+ else
+ {
+ tabitem_abwesenheitsTabelle.Visibility = Visibility.Collapsed;
+ }
+
+ if (BeWoApp.LoggedOnUser.HasRight(UserRightType.BewertungAuswertung_View))
+ {
+ tabitem_RatingAnalysis.Visibility = Visibility.Visible;
+ }
+ else
+ {
+ tabitem_RatingAnalysis.Visibility = Visibility.Collapsed;
+ }
+
+
+ if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Analysis_ServiceOverview_View))
+ {
+ this.tabitem_serviceOverview.Visibility = Visibility.Collapsed;
+ }
+
+ if (!BeWoApp.AppSettings.ShowDistanceFields || (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Kilometerauswertung_View) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.KilometerauswertungEigene_View)))
+ {
+ TabItemKilometerauswertung.Visibility = Visibility.Collapsed;
+ }
+
+ // if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Analysis_Settlement_View))
+ // tabitem_settlement.Visibility = Visibility.Collapsed;
+
+#if DEBUG
+ //tabitem_flexibleReport.Visibility = Visibility.Visible;
+ //tabitem_serviceOverview.Visibility = Visibility.Visible;
+ //tabitem_abwesenheitsTabelle.Visibility = Visibility.Visible;
+ //tabitem_dienstPlaner.Visibility = Visibility.Visible;
+#endif
+ }
+
private void Show(TabItem pTi)
{
foreach (var i in this.OpenViews)
@@ -339,7 +445,7 @@ namespace BeWo.View.Master
if(!OpenViews.ContainsKey(tabitem_Mitarbeiter))
{
- OpenViews[tabitem_Mitarbeiter] = new FLSReportView();
+ OpenViews[tabitem_Mitarbeiter] = new Report.MitarbeiterKoelnRing.FLSReportView();
}
Show(tabitem_Mitarbeiter);
diff --git a/BeWo/ViewModel/UserGroupVM.cs b/BeWo/ViewModel/UserGroupVM.cs
index db4fe7508..a6715a488 100644
--- a/BeWo/ViewModel/UserGroupVM.cs
+++ b/BeWo/ViewModel/UserGroupVM.cs
@@ -67,6 +67,10 @@ namespace BeWo.ViewModel
foreach (var r in Utils.GetAllEnumValues().Except(this._Rights).ToList())
{
+ if (IsObsoleteRight(r))
+ {
+ continue;
+ }
#if DEBUG
possibleRights.Add(r);
#else
@@ -118,6 +122,18 @@ namespace BeWo.ViewModel
}
}
+ private static bool IsObsoleteRight(UserRightType userRightType)
+ {
+ if (userRightType == UserRightType.QueryView_Create
+ || userRightType == UserRightType.QueryView_Delete
+ || userRightType == UserRightType.QueryView_Edit)
+ {
+ return true;
+ }
+
+ return false;
+ }
+
private static bool IsPivotGridRight(UserRightType userRightType)
{
if (userRightType == UserRightType.PivotTabelleAnsehen)
@@ -249,7 +265,7 @@ namespace BeWo.ViewModel
_Name = pDataContract.Name;
_Description = pDataContract.Description;
- Rights = pDataContract.Rights != null ? pDataContract.Rights.ToObservableSortCollection() : new ObservableSortCollection();
+ Rights = pDataContract.Rights != null ? pDataContract.Rights.Where(r => !IsObsoleteRight(r)).ToObservableSortCollection() : new ObservableSortCollection();
}
protected override UserGroupDC MapToDataContract(UserGroupDC pDataContract, bool doCommit)
diff --git a/BeWoPlanerMobil/BeWoPlanerMobil.csproj.user b/BeWoPlanerMobil/BeWoPlanerMobil.csproj.user
index 359c270c6..19e97f07a 100644
--- a/BeWoPlanerMobil/BeWoPlanerMobil.csproj.user
+++ b/BeWoPlanerMobil/BeWoPlanerMobil.csproj.user
@@ -8,7 +8,7 @@
- Debug|Any CPU
+ Release|Any CPU
ShowAllFiles
600
MvcControllerEmptyScaffolder
diff --git a/ReportImp/SHKService/Quittierungsbeleg.Designer.cs b/ReportImp/SHKService/Quittierungsbeleg.Designer.cs
index 5e5752508..0c557d374 100644
--- a/ReportImp/SHKService/Quittierungsbeleg.Designer.cs
+++ b/ReportImp/SHKService/Quittierungsbeleg.Designer.cs
@@ -62,7 +62,6 @@ namespace SHKService
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell43 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell49 = new DevExpress.XtraReports.UI.XRTableCell();
- this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.formattingRuleStartDate = new DevExpress.XtraReports.UI.FormattingRule();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
@@ -121,12 +120,13 @@ namespace SHKService
this.xrLabel17 = new DevExpress.XtraReports.UI.XRLabel();
this.fieldKontaktArt = new DevExpress.XtraReports.UI.CalculatedField();
this.Stunden = new DevExpress.XtraReports.UI.CalculatedField();
+ this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableAbwesenheiten)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
@@ -528,10 +528,6 @@ namespace SHKService
this.xrTableCell49.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell49.Weight = 0.64478596095932272D;
//
- // bindingSource1
- //
- this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
- //
// formattingRuleStartDate
//
this.formattingRuleStartDate.Condition = "[StartDate2] < [StartDate]";
@@ -780,8 +776,8 @@ namespace SHKService
// xrLabel18
//
this.xrLabel18.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
- new DevExpress.XtraReports.UI.XRBinding("Text", null, "CustomerSignatureDate", "{0:dd.MM.yyyy,}")});
- this.xrLabel18.LocationFloat = new DevExpress.Utils.PointFloat(129.4998F, 227F);
+ new DevExpress.XtraReports.UI.XRBinding("Text", null, "CustomerSignatureDate", "{0:dd.MM.yyyy},")});
+ this.xrLabel18.LocationFloat = new DevExpress.Utils.PointFloat(114.4997F, 227F);
this.xrLabel18.Name = "xrLabel18";
this.xrLabel18.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel18.SizeF = new System.Drawing.SizeF(100F, 23F);
@@ -792,9 +788,9 @@ namespace SHKService
this.xrPictureBox2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Tag", null, "CustomerSignature"),
new DevExpress.XtraReports.UI.XRBinding("Image", null, "CustomerSignature")});
- this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(230F, 227F);
+ this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(214.4997F, 202F);
this.xrPictureBox2.Name = "xrPictureBox2";
- this.xrPictureBox2.SizeF = new System.Drawing.SizeF(100F, 23F);
+ this.xrPictureBox2.SizeF = new System.Drawing.SizeF(152.3474F, 47.99998F);
this.xrPictureBox2.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
this.xrPictureBox2.BeforePrint += new System.Drawing.Printing.PrintEventHandler(this.CustomerSignature_BeforePrint);
//
@@ -1212,18 +1208,18 @@ namespace SHKService
this.xrPictureBox1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Tag", null, "EmployeeSignature"),
new DevExpress.XtraReports.UI.XRBinding("Image", null, "EmployeeSignature")});
- this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(535.6389F, 227F);
+ this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(515F, 202F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.Scripts.OnBeforePrint = "xrPictureBox1_BeforePrint";
- this.xrPictureBox1.SizeF = new System.Drawing.SizeF(100F, 23F);
+ this.xrPictureBox1.SizeF = new System.Drawing.SizeF(164.8055F, 47.99998F);
this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
this.xrPictureBox1.BeforePrint += new System.Drawing.Printing.PrintEventHandler(this.EmployeeSignature_BeforePrint);
//
// xrLabel17
//
this.xrLabel17.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
- new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeSignatureDate", "{0:dd.MM.yyyy,}")});
- this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(435.1388F, 227F);
+ new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeSignatureDate", "{0:dd.MM.yyyy},")});
+ this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(415F, 227F);
this.xrLabel17.Name = "xrLabel17";
this.xrLabel17.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel17.SizeF = new System.Drawing.SizeF(100F, 23F);
@@ -1243,6 +1239,10 @@ namespace SHKService
this.Stunden.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
this.Stunden.Name = "Stunden";
//
+ // bindingSource1
+ //
+ this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
+ //
// Quittierungsbeleg
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -1269,10 +1269,10 @@ namespace SHKService
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableAbwesenheiten)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
diff --git a/Service/Plugins/PluginLoader.cs b/Service/Plugins/PluginLoader.cs
index c231643b6..7614cee4a 100644
--- a/Service/Plugins/PluginLoader.cs
+++ b/Service/Plugins/PluginLoader.cs
@@ -150,7 +150,7 @@ namespace BeWo.Service.Plugins
//t = "7381352241"; // Ressource e.V.
//t = "3607551608"; // Betreuungsbüro Scholz
//t = "3104936392"; // B.A.P. Bielefelder Ambulante Pflege
- t = "1106039294"; // Hph Bersenbrück ATZ
+ //t = "1106039294"; // Hph Bersenbrück ATZ
//t = "5562845955"; // Praunheimer Werkstätten
//t = "4801617798"; // Severin
//t = "1172092025"; // Flingern
@@ -331,7 +331,7 @@ namespace BeWo.Service.Plugins
//t = "6917917884"; // AMBEWO Müller/Gerhards
//t = "5240630948"; // Caritasverband der Diözese Rottenburg-Stuttgart e.V. - Rechtsträger der Caritas Heilbronn Hohenlohe e.V. (Projekt heißt CaritasHeilbronnHohenlohe)
//t = "7748694330"; // Caritasverband der Diözese Rottenburg-Stuttgart e.V. als Rechtsträger der Caritas Ludwigsburg-Waiblingen-Enz (Projekt heißt CaritasLudwigsburgWaiblingenEnz)
- t = "5578206856"; // SHK Service GmbH
+ //t = "5578206856"; // SHK Service GmbH
//t = "1508800817"; // Behindert na und e.V.
//t = "4351087063"; // MOBILE e.V. - Selbstbestimmtes Leben
//t = "1262219859"; // Psychosoziale Projekte Saarpfalz
@@ -348,9 +348,10 @@ namespace BeWo.Service.Plugins
//t = "5592509446"; // Kontakt Verein für psychosoziale Hilfen e.V
//t = "5344902949"; // SHK Service GmbH SBD
//t = "1422963536"; // Malteser-Johanniter-Johanneshaus gGmbH
- //t = "5433105975"; // aha e.V.
+ t = "5433105975"; // aha e.V.
//t = "5484692276"; // SPEKTRUM GmbH
//t = "1701920223"; // SKFMMonheim
+ //t = "5484692276"; // SPEKTRUM GmbH
return t;
#else
diff --git a/Service/Service.csproj b/Service/Service.csproj
index 254a37113..95ac6054d 100644
--- a/Service/Service.csproj
+++ b/Service/Service.csproj
@@ -478,6 +478,7 @@
+
diff --git a/Service/ServiceImplementations/DownloadServiceImp.cs b/Service/ServiceImplementations/DownloadServiceImp.cs
index d1777a505..4ea5f33e1 100644
--- a/Service/ServiceImplementations/DownloadServiceImp.cs
+++ b/Service/ServiceImplementations/DownloadServiceImp.cs
@@ -19,6 +19,8 @@ using BS.Shared.Extensions;
using BS.Shared.RSS;
using BeWo.Data;
using Utils = BeWo.Service.Core.Utils;
+using BeWo.Service.ServiceUtils;
+using BS.Shared.Translation;
namespace BeWo.Service.ServiceImplementations
{
@@ -797,6 +799,8 @@ namespace BeWo.Service.ServiceImplementations
{
try
{
+ Translator t = new Translator(new ServiceTranslator());
+
var lUserGroups = DAOFactory.GenericDAO.LoadByIDs(pSortedOids);
string[] lHeaderCaption = {
@@ -810,7 +814,7 @@ namespace BeWo.Service.ServiceImplementations
lContent[iRowCount][0] = lUserGroups[iRowCount].Name;
lContent[iRowCount][1] = lUserGroups[iRowCount].Description;
- lContent[iRowCount][2] = string.Join(", ", lUserGroups[iRowCount].Rights.Select(r => BS.Shared.Core.Utils.EnumName(r.RightType)).ToArray());
+ lContent[iRowCount][2] = string.Join(", ", lUserGroups[iRowCount].Rights.Select(r => BS.Shared.Core.EnumTranslations.UserRightType2Translations[r.RightType]).OrderBy(s => s).ToArray());
}
return WriteHtmlFile(lHeaderCaption, lContent);
diff --git a/Service/ServiceUtils/ServiceTranslator.cs b/Service/ServiceUtils/ServiceTranslator.cs
new file mode 100644
index 000000000..4f6ceb731
--- /dev/null
+++ b/Service/ServiceUtils/ServiceTranslator.cs
@@ -0,0 +1,78 @@
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using BeWo.Service.Plugins;
+using BS.Shared.Translation;
+
+namespace BeWo.Service.ServiceUtils
+{
+ public class ServiceTranslator : ITranslator
+ {
+
+ private IDictionary dict;
+ private CultureInfo currentCulture;
+
+ public ServiceTranslator()
+ {
+ this.Refresh();
+ }
+
+ public void Refresh()
+ {
+ this.currentCulture = CultureInfo.CurrentUICulture;
+ var translationDictionary = PluginLoader.FindClass();
+
+ dict = translationDictionary?.GetTranslationDictionary();
+ }
+
+
+
+
+ public String Translate(String input)
+ {
+ if (input == null)
+ {
+ return null;
+ }
+ if (this.dict != null && this.dict.TryGetValue(input, out var translation))
+ {
+ return translation;
+ }
+ return input;
+ }
+
+ public String Translate(String input, params Object[] args)
+ {
+ String translation;
+ if (this.dict.TryGetValue(input, out translation))
+ {
+ return String.Format(this.currentCulture, translation, args);
+ }
+ return String.Format(this.currentCulture, input, args);
+ }
+
+ public String TranslateKey(String key, String defaultText)
+ {
+ if (key != null && this.dict != null && this.dict.TryGetValue(key, out var translation))
+ {
+ return translation;
+ }
+
+ return defaultText;
+ }
+
+ public String TranslateKey(String key, String defaultText, params Object[] args)
+ {
+ String translation;
+ if (!String.IsNullOrEmpty(key) && this.dict.TryGetValue(key, out translation))
+ {
+ return String.Format(this.currentCulture, translation, args);
+ }
+ return String.Format(this.currentCulture, defaultText, args);
+ }
+ }
+}
diff --git a/Shared/Core/EnumTranslations.cs b/Shared/Core/EnumTranslations.cs
index 4566796fa..3c5e5ba57 100644
--- a/Shared/Core/EnumTranslations.cs
+++ b/Shared/Core/EnumTranslations.cs
@@ -237,7 +237,7 @@ namespace BS.Shared.Core
UserRightType.QueryView_Edit, Translator.Translate("Auswertungen ändern")
},
{
- UserRightType.QueryView_View, Translator.Translate("Auswertungen ansehen")
+ UserRightType.QueryView_View, Translator.Translate("Auswertungen ansehen (Berichte, Stundenübersicht, Hilfeplanübersicht)")
},
{
UserRightType.Analysis_Settlement_View, Translator.Translate("Finanzen Spitzabrechnung erstellen")
@@ -246,7 +246,7 @@ namespace BS.Shared.Core
UserRightType.Analysis_EmployeeOverviewAll_View, "Auswertungen für alle " + Translator.Translate("MitarbeiterPlural") + " erstellen"
},
{
- UserRightType.Analysis_ServiceOverview_View, Translator.Translate("Auswertungen Quittierungsbelege erstellen")
+ UserRightType.Analysis_ServiceOverview_View, Translator.Translate("Auswertungen->Quittierungsbelege")
},
{
UserRightType.Analysis_SupportConceptOverviewAll_View, Translator.Translate("Auswertungen für alle Hilfepläne erstellen")
@@ -261,33 +261,33 @@ namespace BS.Shared.Core
UserRightType.Analysis_AllowFLSOverviewForAllTeams, Translator.Translate("Auswertungen für alle Teams erstellen")
},
{
- UserRightType.Analysis_Auslastung_View, "Auswertung " + Translator.Translate("MitarbeiterPlural") + "auslastung erstellen"
+ UserRightType.Analysis_Auslastung_View, "Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "auslastung"
},
{
- UserRightType.Analysis_AuslastungAllEmployee_View, "Auswertung " + Translator.Translate("MitarbeiterPlural") + "auslastung für alle " + Translator.Translate("MitarbeiterPlural") + " erstellen"
+ UserRightType.Analysis_AuslastungAllEmployee_View, "Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "auslastung für alle " + Translator.Translate("MitarbeiterPlural")
},
{
- UserRightType.Analysis_AuslastungTeam_View, "Auswertung " + Translator.Translate("MitarbeiterPlural") + "auslastung für alle Teams erstellen"
+ UserRightType.Analysis_AuslastungTeam_View, "Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "auslastung für alle Teams"
},
{
- UserRightType.Kilometerauswertung_View, "Auswertung über Kilometer erstellen (für alle " + Translator.Translate("MitarbeiterPlural") + ")"
+ UserRightType.Kilometerauswertung_View, "Auswertungen->Kilometerauswertung (für alle " + Translator.Translate("MitarbeiterPlural") + ")"
}
,
{
- UserRightType.KilometerauswertungEigene_View, Translator.Translate("Auswertung über Kilometer erstellen (nur eigene)")
+ UserRightType.KilometerauswertungEigene_View, Translator.Translate("Auswertungen->Kilometerauswertung (nur eigene)")
}
,
{
- UserRightType.BewertungAuswertung_View, Translator.Translate("Auswertung über Bewertung erstellen")
+ UserRightType.BewertungAuswertung_View, Translator.Translate("Auswertungen->Bewertung")
},
{
- UserRightType.PivotTabelleAnsehen, Translator.Translate("Auswertung Pivot Tabelle ansehen")
+ UserRightType.PivotTabelleAnsehen, Translator.Translate("Auswertungen->Pivot Tabelle")
},
{
- UserRightType.DienstplanungAnsehen, Translator.Translate("Auswertung Dienstplanung ansehen")
+ UserRightType.DienstplanungAnsehen, Translator.Translate("Auswertungen->Dienstplanung")
},
{
- UserRightType.AbwesenheitsPlanungAnsehen, Translator.Translate("Auswertung Urlaubsplanung ansehen")
+ UserRightType.AbwesenheitsPlanungAnsehen, Translator.Translate("Auswertungen->Urlaubsplanung")
},
{
UserRightType.ResourceBookingView_Create, Translator.Translate("Ressourcen anlegen")
@@ -464,13 +464,13 @@ namespace BS.Shared.Core
UserRightType.User_AllowOrderLicense, Translator.Translate("Neue Lizenzen bestellen")
},
{
- UserRightType.Mitarbeiterstundenkonto_ViewAll, Translator.Translate("MitarbeiterPlural") + "stundenkonto (Gesamt)"
+ UserRightType.Mitarbeiterstundenkonto_ViewAll, "Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "stundenkonto (Gesamt)"
},
{
- UserRightType.Mitarbeiterstundenkonto_ViewSelf, Translator.Translate("MitarbeiterPlural") + "stundenkonto (nur eigenes Konto)"
+ UserRightType.Mitarbeiterstundenkonto_ViewSelf, "Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "stundenkonto (nur eigenes Konto)"
},
{
- UserRightType.Mitarbeiterstundenkonto_ViewTeams, Translator.Translate("MitarbeiterPlural") + "stundenkonto (nur Team)"
+ UserRightType.Mitarbeiterstundenkonto_ViewTeams,"Auswertungen->" + Translator.Translate("MitarbeiterPlural") + "stundenkonto (nur Team)"
},
{
UserRightType.Support_View, Translator.Translate("Supportanfragen absenden")
@@ -596,7 +596,7 @@ namespace BS.Shared.Core
UserRightType.Betreuungsschluessel_Delete, Translator.Translate("BetreuerSingular") + " bei Hilfeplänen löschen"
},
{
- UserRightType.Jahresbericht, Translator.Translate("Jahresbericht")
+ UserRightType.Jahresbericht, Translator.Translate("Auswertungen->Jahresbericht")
},
{
UserRightType.DokumenteFinanzen, Translator.Translate("Dokumente für Finanzen")
@@ -703,13 +703,13 @@ namespace BS.Shared.Core
UserRightType.ConfirmationReceiptSignatures_Delete, Translator.Translate("Quittierungsbelegunterschriften löschen")
},
{
- UserRightType.Auswertungen_BerichteAnsehen, Translator.Translate("Auswertungen Berichte ansehen")
+ UserRightType.Auswertungen_BerichteAnsehen, Translator.Translate("Auswertungen->Berichte")
},
{
- UserRightType.Auswertungen_StundenuebersichtAnsehen, Translator.Translate("Auswertungen Stundenübersicht ansehen")
+ UserRightType.Auswertungen_StundenuebersichtAnsehen, Translator.Translate("Auswertungen->Stundenübersicht")
},
{
- UserRightType.Auswertungen_HilfeplanuebersichtAnsehen, Translator.Translate("Auswertungen Hilfeplanübersicht ansehen")
+ UserRightType.Auswertungen_HilfeplanuebersichtAnsehen, Translator.Translate("Auswertungen->Hilfeplanübersicht")
}
};
#endregion