Zuletzt angesehene Objekte sind an die Rechte angepasst.

This commit is contained in:
Lyndon
2018-02-26 17:34:55 +01:00
parent bbc75f1dca
commit be73e40b13
10 changed files with 1527 additions and 1512 deletions

View File

@@ -87,9 +87,7 @@ namespace BeWo
BeWoApp.InitAutoUILocking();
#if DEBUG
//nix
#else
#if !DEBUG
if (this.button_Scheduler.Visibility == Visibility.Visible && !BeWoApp.AppSettings.IsSchedulerAllowed)
{
this.button_Scheduler.Visibility = Visibility.Collapsed;

File diff suppressed because it is too large Load Diff

View File

@@ -161,32 +161,16 @@ namespace BeWo.View.Navigation
private void SupportConceptFilterComboBoxOnSelectionChanged(object o, SelectionChangedEventArgs selectionChangedEventArgs)
{
if (this.supportConceptFilterComboBox.SelectedItem != null)
{
BeWoApp.AppSettings.CustomerFilterSupportConcepts =
((CustomerFilterItem)this.supportConceptFilterComboBox.SelectedItem).CustomerFilter;
}
else
{
BeWoApp.AppSettings.CustomerFilterSupportConcepts = CustomerFilterEnum.MyCustomer;
}
BeWoApp.AppSettings.CustomerFilterSupportConcepts = ((CustomerFilterItem) supportConceptFilterComboBox.SelectedItem)?.CustomerFilter ?? CustomerFilterEnum.MyCustomer;
BeWoApp.SaveAppSettings();
this.UpdateCustomFilter();
UpdateCustomFilter();
}
private CustomFilter CreateNewCustomFilter()
{
CustomerNavigationFilter filter = new CustomerNavigationFilter();
if (this.supportConceptFilterComboBox.SelectedItem != null)
{
filter.CustomerFilter =
((CustomerFilterItem)this.supportConceptFilterComboBox.SelectedItem).CustomerFilter;
}
else
{
filter.CustomerFilter = CustomerFilterEnum.MyCustomer;
}
var filter = new CustomerNavigationFilter {CustomerFilter = ((CustomerFilterItem) supportConceptFilterComboBox.SelectedItem)?.CustomerFilter ?? CustomerFilterEnum.MyCustomer};
return filter;
}
@@ -325,12 +309,24 @@ namespace BeWo.View.Navigation
ServiceFacade.DoCustomerServiceAsync(s => s.GetLastOpenedCustomers(),
r =>
this.Dispatch(
delegate
{
recentList = r;
this.Dispatch(delegate
{
if(BeWoApp.LoggedOnUser.HasRight(UserRightType.CustomerView_View) || BeWoApp.LoggedOnUser.HasRight(UserRightType.ViewAll))
{
recentList = r;
}
else if(BeWoApp.LoggedOnUser.HasRight(UserRightType.Customer_ViewMyCustomers))
{
recentList = r.Where(w => BeWoApp.LoggedOnEmployee.RelatedCustomers.Select(s3 => s3.Customer.CustomerOid).Contains(w.CustomerOid));
}
else
{
recentList = new List<IFilterableDC>();
}
mainNavigationView.ShowHistory(recentList);
}));
})
);
}
else
{

View File

@@ -4,29 +4,29 @@ using System.Linq;
using System.Windows;
using System.Windows.Documents;
using System.Windows.Navigation;
using BeWo.Core;
using BeWo.ServiceProxy;
using BeWo.View.Detail;
using BeWo.View.Navigation.Sorter;
using BeWo.ViewModel;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.Shared.Translation;
using Microsoft.Win32;
namespace BeWo.View.Navigation
{
/// <summary>
/// Interaktionslogik für EmployeeNavigationView.xaml
/// </summary>
public partial class EmployeeNavigationView : BeWoView
public partial class EmployeeNavigationView
{
private IEnumerable<IFilterableDC> objectList = null;
private IEnumerable<IFilterableDC> recentList = null;
private IEnumerable<IFilterableDC> objectList;
private IEnumerable<IFilterableDC> recentList;
public EmployeeNavigationView()
{
@@ -61,8 +61,7 @@ namespace BeWo.View.Navigation
private bool mainNavigationView_ArchiveObject(IFilterableDC obj)
{
CompactEmployeeDC dc = obj as CompactEmployeeDC;
if (dc != null)
if (obj is CompactEmployeeDC dc)
{
if (MessageBox.Show(Translator.Translate("Wollen Sie den Mitarbeiter '{0}' wirklich archivieren?", dc.FirstName + " " + dc.LastName), "Archivieren", MessageBoxButton.YesNo, MessageBoxImage.Exclamation) == MessageBoxResult.Yes)
{
@@ -86,7 +85,7 @@ namespace BeWo.View.Navigation
if (licenseInfo.EmployeeCount < licenseInfo.MaxEmployeeCount)
{
VMFactory.CreateEmployeeVMAsync(cb => this.Dispatch(delegate { this.MainControl.NavigateTo(new EmployeeView(cb) { ParentView = this }); }));
VMFactory.CreateEmployeeVMAsync(cb => this.Dispatch(delegate { MainControl.NavigateTo(new EmployeeView(cb) { ParentView = this }); }));
}
else
{
@@ -95,14 +94,11 @@ namespace BeWo.View.Navigation
"\n\nSie können nun entweder Mitarbeiter archivieren oder im Modul \"Benutzer\" neue Benutzerlizenzen bestellen. Bitte beachten Sie, dass hierfür das Recht \"Neue Lizenz bestellen\" erforderlich ist.", "Mitarbeiter anlegen", MessageBoxButton.OK,
MessageBoxImage.Information);
}
}
private bool mainNavigationView_DeleteObject(IFilterableDC obj)
{
CompactEmployeeDC dc = obj as CompactEmployeeDC;
if (dc != null)
if (obj is CompactEmployeeDC dc)
{
if (MessageBox.Show(Translator.Translate("Wollen Sie den Mitarbeiter '{0}' wirklich löschen?", dc.FirstName + " " + dc.LastName), "Löschen", MessageBoxButton.YesNo, MessageBoxImage.Exclamation) == MessageBoxResult.Yes)
{
@@ -120,17 +116,18 @@ namespace BeWo.View.Navigation
var sf = new SaveFileDialog { FileName = Path.GetFileName(path), Filter = "Microsoft Excel 97-2003-Arbeitsblatt|*.xls|Alle Dateien|*.*" };
if (sf.ShowDialog() != true)
{
return;
}
ServiceFacade.DoDownloadServiceSync(s => BeWoUtils.WriteExcelFile(s.PrepareExcelFileEmployeeExport(mainNavigationView.DownloadLinkEngine.ExcelFileId, e.Data.Cast<CompactEmployeeDC>().Select(c => c.EmployeeOid).ToList()), sf.FileName));
}
private void mainNavigationView_OpenObject(IFilterableDC obj)
{
CompactEmployeeDC dc = obj as CompactEmployeeDC;
if (dc != null)
if (obj is CompactEmployeeDC dc)
{
VMFactory.CreateEmployeeVMAsync(dc.EmployeeOid, cb => this.Dispatch(delegate { this.MainControl.NavigateTo(new EmployeeView(cb) { ParentView = this }); }));
VMFactory.CreateEmployeeVMAsync(dc.EmployeeOid, cb => this.Dispatch(delegate { MainControl.NavigateTo(new EmployeeView(cb) { ParentView = this }); }));
}
}
@@ -152,38 +149,53 @@ namespace BeWo.View.Navigation
ServiceFacade.DoEmployeeServiceAsync(s => s.GetAllActiveAndArchivedEmployeesCompact(), r =>
this.Dispatch(delegate
{
if (BeWoApp.LoggedOnUser.HasRight(UserRightType.EmployeeView_View))
if(BeWoApp.LoggedOnUser.HasRight(UserRightType.EmployeeView_View))
{
objectList = r.Cast<IFilterableDC>();
objectList = r;
}
else if (BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_AllowViewOwnTeam))
else if(BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_AllowViewOwnTeam))
{
objectList = r.Where(emp =>
emp.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid ||
(BeWoApp.LoggedOnUser.Employee.AllTeamMemberOids != null && BeWoApp.LoggedOnUser.Employee.AllTeamMemberOids.Contains(emp.EmployeeOid))).Cast<IFilterableDC>();
objectList = r.Where(emp => emp.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid || BeWoApp.LoggedOnUser.Employee.AllTeamMemberOids != null && BeWoApp.LoggedOnUser.Employee.AllTeamMemberOids.Contains(emp.EmployeeOid));
}
else if (BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_AllowViewOwnEmployees))
else if(BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_AllowViewOwnEmployees))
{
objectList = r.Where(emp => emp.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid).Cast<IFilterableDC>();
objectList = r.Where(emp => emp.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid);
}
else
{
objectList = new List<IFilterableDC>();
}
this.mainNavigationView.ShowSearchResult(objectList);
mainNavigationView.ShowSearchResult(objectList);
}));
ServiceFacade.DoEmployeeServiceAsync(s => s.GetLastOpenedEmployees(), r => this.Dispatch(delegate
{
recentList = r.Cast<IFilterableDC>();
this.mainNavigationView.ShowHistory(recentList);
}));
ServiceFacade.DoEmployeeServiceAsync(s => s.GetLastOpenedEmployees(), lastOpenedEmployees =>
this.Dispatch(delegate
{
if(BeWoApp.LoggedOnUser.HasRight(UserRightType.EmployeeView_View))
{
recentList = lastOpenedEmployees;
}
else if(BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_AllowViewOwnTeam))
{
recentList = lastOpenedEmployees.Where(w => w.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid || BeWoApp.LoggedOnUser.Employee.AllTeamMemberOids != null && BeWoApp.LoggedOnUser.Employee.AllTeamMemberOids.Contains(w.EmployeeOid));
}
else if(BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_AllowViewOwnEmployees))
{
recentList = lastOpenedEmployees.Where(w => w.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid);
}
else
{
recentList = new List<IFilterableDC>();
}
mainNavigationView.ShowHistory(recentList);
}));
}
else
{
this.mainNavigationView.ShowSearchResult(objectList);
this.mainNavigationView.ShowHistory(recentList);
mainNavigationView.ShowSearchResult(objectList);
mainNavigationView.ShowHistory(recentList);
}
}

View File

@@ -44,6 +44,7 @@
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="250" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<StackPanel Orientation="Vertical" Margin="10,0,0,0">
<TextBlock x:Name="searchCountLabel" HorizontalAlignment="Left" Text="{Binding Path=Items.Count, Converter={StaticResource StringFormatConverter}, ConverterParameter=Suchergebnisse: \{0\}, ElementName=objectListBox}" FontFamily="Microsoft Sans Serif" FontSize="14" />
@@ -87,7 +88,7 @@
<ContentPresenter x:Name="details_presenter" />
</StackPanel>
</Grid>
<Border Grid.Row="2" Grid.ColumnSpan="3" Height="40" Margin="0,10,0,0" VerticalAlignment="Stretch" Background="#FF000000">
<Border Grid.Row="2" Grid.ColumnSpan="3" Grid.Column="0" Height="40" Margin="0,10,0,0" VerticalAlignment="Stretch" Background="#FF000000">
<Border.OpacityMask>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#19000000" Offset="0" />
@@ -95,7 +96,7 @@
</LinearGradientBrush>
</Border.OpacityMask>
</Border>
<StackPanel Grid.ColumnSpan="3" Grid.Row="2" Orientation="Horizontal" VerticalAlignment="Stretch" Height="40" Margin="5,10,0,0">
<StackPanel Grid.ColumnSpan="3" Grid.Column="0" Grid.Row="2" Orientation="Horizontal" VerticalAlignment="Stretch" Height="40" Margin="5,10,0,0">
<Button x:Name="btnNew" Content="Neu" Style="{StaticResource NavigationToolbarButtonStyle}" Margin="3,0,0,0" Click="btnNew_Click" />
<Button x:Name="btnCopy" Visibility="Collapsed" Content="Kopieren" Style="{StaticResource NavigationToolbarButtonStyle}" Margin="10,0,0,0" Click="btnCopy_Click" />
<Button x:Name="btnEdit" Content="Öffnen" Style="{StaticResource NavigationToolbarButtonStyle}" Margin="10,0,0,0" Click="btnEdit_Click" />
@@ -104,7 +105,7 @@
<TextBlock x:Name="textblock_link" VerticalAlignment="Center" Margin="20 0 0 0" FontSize="16">
<Hyperlink x:Name="linkExcelExport" TargetName="newWindow" Foreground="White" RequestNavigate="linkExcelExport_RequestNavigate">Excel Export</Hyperlink>
</TextBlock>
<!--###CB SERIENBRIEF<Button x:Name="MailMergeButton" Content="Serienbrief drucken" Style="{StaticResource NavigationToolbarButtonStyle}" Margin="10,0,0,0" Click="btnMailMerge_Click" />-->
<!-- ###CB SERIENBRIEF<Button x:Name="MailMergeButton" Content="Serienbrief drucken" Style="{StaticResource NavigationToolbarButtonStyle}" Margin="10,0,0,0" Click="btnMailMerge_Click" /> -->
</StackPanel>
</Grid>
</GroupBox>

View File

@@ -2,36 +2,36 @@
using System.IO;
using System.Linq;
using System.Windows;
using BeWo.Core;
using BeWo.ServiceProxy;
using BeWo.View.Detail;
using BeWo.View.Navigation.Sorter;
using BeWo.ViewModel;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using Microsoft.Win32;
namespace BeWo.View.Navigation
{
/// <summary>
/// Interaktionslogik für TeamNavigationView.xaml
/// </summary>
public partial class TeamNavigationView : BeWoView
public partial class TeamNavigationView
{
private IEnumerable<IFilterableDC> objectList = null;
private IEnumerable<IFilterableDC> recentList = null;
private IEnumerable<IFilterableDC> objectList;
private IEnumerable<IFilterableDC> recentList;
public TeamNavigationView()
{
this.InitializeComponent();
InitializeComponent();
//###CB SERIENBRIEF mainNavigationView.MailMergeButton.Visibility = Visibility.Collapsed;
this.mainNavigationView.Sorter = new TeamSorter();
this.mainNavigationView.ShowArchivedObjectsVisible = false;
mainNavigationView.Sorter = new TeamSorter();
mainNavigationView.ShowArchivedObjectsVisible = false;
}
@@ -47,8 +47,7 @@ namespace BeWo.View.Navigation
private bool mainNavigationView_DeleteObject(IFilterableDC obj)
{
CompactTeamDC dc = obj as CompactTeamDC;
if (dc != null)
if (obj is CompactTeamDC dc)
{
if (MessageBox.Show("Wollen Sie das Team '" + dc.Name + "' wirklich löschen?", "Löschen", MessageBoxButton.YesNo, MessageBoxImage.Exclamation) == MessageBoxResult.Yes)
{
@@ -66,17 +65,18 @@ namespace BeWo.View.Navigation
var sf = new SaveFileDialog { FileName = Path.GetFileName(path), Filter = "Microsoft Excel 97-2003-Arbeitsblatt|*.xls|Alle Dateien|*.*" };
if (sf.ShowDialog() != true)
{
return;
}
ServiceFacade.DoDownloadServiceSync(s => BeWoUtils.WriteExcelFile(s.PrepareExcelFileTeamExport(mainNavigationView.DownloadLinkEngine.ExcelFileId, e.Data.Cast<CompactTeamDC>().Select(c => c.TeamOid).ToList()), sf.FileName));
}
private void mainNavigationView_OpenObject(IFilterableDC obj)
{
CompactTeamDC dc = obj as CompactTeamDC;
if (dc != null)
if (obj is CompactTeamDC dc)
{
VMFactory.CreateTeamVMAsync(dc.TeamOid, cb => this.Dispatch(delegate { this.MainControl.NavigateTo(new TeamView(cb) { ParentView = this }); }));
VMFactory.CreateTeamVMAsync(dc.TeamOid, cb => this.Dispatch(delegate { MainControl.NavigateTo(new TeamView(cb) { ParentView = this }); }));
}
}
@@ -95,22 +95,40 @@ namespace BeWo.View.Navigation
{
if (refresh || recentList == null)
{
ServiceFacade.DoEmployeeServiceAsync(s => s.GetAllTeamsCompact(), r => this.Dispatch(delegate
{
objectList = r.Cast<IFilterableDC>();
this.mainNavigationView.ShowSearchResult(objectList);
}));
ServiceFacade.DoEmployeeServiceAsync(s => s.GetAllTeamsCompact(), r =>
this.Dispatch(delegate
{
objectList = r;
mainNavigationView.ShowSearchResult(objectList);
}));
ServiceFacade.DoEmployeeServiceAsync(s => s.GetLastOpenedTeams(), r => this.Dispatch(delegate
{
recentList = r.Cast<IFilterableDC>();
this.mainNavigationView.ShowHistory(recentList);
}));
ServiceFacade.DoEmployeeServiceAsync(s => s.GetLastOpenedTeams(), r =>
this.Dispatch(delegate
{
ServiceFacade.DoEmployeeServiceAsync(sx => sx.GetTeamOidsByEmployee(BeWoApp.LoggedOnEmployee.EmployeeOid.Value), cbx => this.Dispatch(delegate
{
if(BeWoApp.LoggedOnUser.HasRight(UserRightType.TeamView_ViewAll))
{
recentList = r;
}
else if(BeWoApp.LoggedOnUser.HasRight(UserRightType.TeamView_ViewMyTeams))
{
recentList = r.Where(w => !cbx.Contains(w));
}
else
{
recentList = new List<IFilterableDC>();
}
recentList = r;
mainNavigationView.ShowHistory(recentList);
}));
}));
}
else
{
this.mainNavigationView.ShowSearchResult(objectList);
this.mainNavigationView.ShowHistory(recentList);
mainNavigationView.ShowSearchResult(objectList);
mainNavigationView.ShowHistory(recentList);
}
}
}

View File

@@ -74,11 +74,6 @@ function statisticDesign(wert1, wert2, string1, string2) {
chartAnz = new Chart(ctx).Doughnut(data, options);
}
/*
Geleistet diese Woche / Gesamt 0,00 34,00
Bewilligt pro Woche / Gesamt 0,97 101,25
Frei pro Woche(O) / Gesamt 1,27 67,25
*/
function loadSupportConceptStatistics(oid) {
$.ajax({
type: "GET",

View File

@@ -16,7 +16,6 @@ using NHibernate.SqlCommand;
using BS.Shared.Core;
using BS.Shared;
using NHibernate.Transform;
using Login = BeWo.Data.Entities.Login;
namespace BeWo.Data.Access
@@ -1939,7 +1938,6 @@ namespace BeWo.Data.Access
var c = CreateCriteriaIsActive<Organisation>()
.Add(Restrictions.Eq(BeWoEntityBase.PropertyName_Oid, organisationOid)).UniqueResult<Organisation>().Organisation2PersonList.Select(s => s.Person).ToList();
return c;
}

View File

@@ -3837,7 +3837,6 @@ namespace BeWo.Service.ServiceImplementations
throw Utils.CreateBeWoFaultException(e);
}
}
}
internal struct WohnheimbuchungsIntervallStruct

View File

@@ -1299,7 +1299,6 @@ namespace BeWo.Service.ServiceImplementations
}
}
//####### Neu erstellter Kram ########
public List<CompactVertreterEmployeeDC> GetAllActiveVertreterEmployeesCompact()
{
try
@@ -1311,7 +1310,6 @@ namespace BeWo.Service.ServiceImplementations
throw Utils.CreateBeWoFaultException(e);
}
}
//####################################
public List<EmployeeTokenRelationDC> LoadEmployeeTokenRelationsByOid(IEnumerable<long> pOids)
{