diff --git a/FoodsharingSiegen.Contracts/Model/ProspectFilter.cs b/FoodsharingSiegen.Contracts/Model/ProspectFilter.cs index 2e39cb7..c16ebee 100644 --- a/FoodsharingSiegen.Contracts/Model/ProspectFilter.cs +++ b/FoodsharingSiegen.Contracts/Model/ProspectFilter.cs @@ -7,6 +7,8 @@ public bool WithoutStepInBriefing { get; set; } public bool WithoutIdCheck { get; set; } + + public bool IdCheckPossible { get; set; } public bool NoActivity { get; set; } diff --git a/FoodsharingSiegen.Server/Controls/ProspectSortControl.razor b/FoodsharingSiegen.Server/Controls/ProspectSortControl.razor index 212713c..738ed60 100644 --- a/FoodsharingSiegen.Server/Controls/ProspectSortControl.razor +++ b/FoodsharingSiegen.Server/Controls/ProspectSortControl.razor @@ -49,4 +49,8 @@ { Gelöschte } + @if(Filter.IdCheckPossible) + { + Perso-Prüfung möglich + } \ No newline at end of file diff --git a/FoodsharingSiegen.Server/Controls/ProspectSortControl.razor.cs b/FoodsharingSiegen.Server/Controls/ProspectSortControl.razor.cs index 72acb4e..153c1cd 100644 --- a/FoodsharingSiegen.Server/Controls/ProspectSortControl.razor.cs +++ b/FoodsharingSiegen.Server/Controls/ProspectSortControl.razor.cs @@ -78,6 +78,7 @@ public partial class ProspectSortControl case nameof(Filter.RecentActivity): Filter.RecentActivity = false; break; case nameof(Filter.NoActivity): Filter.NoActivity = false; break; case nameof(Filter.DeletedOnly): Filter.DeletedOnly = false; break; + case nameof(Filter.IdCheckPossible): Filter.IdCheckPossible = false; break; } await FilterChanged.InvokeAsync(Filter); } diff --git a/FoodsharingSiegen.Server/Dialogs/ProspectFilterDialog.razor b/FoodsharingSiegen.Server/Dialogs/ProspectFilterDialog.razor index 1c1ca68..0dea12b 100644 --- a/FoodsharingSiegen.Server/Dialogs/ProspectFilterDialog.razor +++ b/FoodsharingSiegen.Server/Dialogs/ProspectFilterDialog.razor @@ -20,6 +20,15 @@ } + @if(new[] { ProspectStateFilter.OnBoarding, ProspectStateFilter.Verification }.Contains(StateFilter)) + { +
+ + Perso-Prüfung möglich + +
+ } + @if (new[] { ProspectStateFilter.All, ProspectStateFilter.OnBoarding, ProspectStateFilter.Verification }.Contains(StateFilter)) {
diff --git a/FoodsharingSiegen.Server/Dialogs/ProspectFilterDialog.razor.cs b/FoodsharingSiegen.Server/Dialogs/ProspectFilterDialog.razor.cs index d8518d4..1752df8 100644 --- a/FoodsharingSiegen.Server/Dialogs/ProspectFilterDialog.razor.cs +++ b/FoodsharingSiegen.Server/Dialogs/ProspectFilterDialog.razor.cs @@ -24,7 +24,8 @@ namespace FoodsharingSiegen.Server.Dialogs WithoutIdCheck = CurrentFilter.WithoutIdCheck, NoActivity = CurrentFilter.NoActivity, RecentActivity = CurrentFilter.RecentActivity, - DeletedOnly = CurrentFilter.DeletedOnly + DeletedOnly = CurrentFilter.DeletedOnly, + IdCheckPossible = CurrentFilter.IdCheckPossible }; base.OnInitialized(); } diff --git a/FoodsharingSiegen.Shared/Helper/FilterHelper.cs b/FoodsharingSiegen.Shared/Helper/FilterHelper.cs index 6f8317d..a31e7a8 100644 --- a/FoodsharingSiegen.Shared/Helper/FilterHelper.cs +++ b/FoodsharingSiegen.Shared/Helper/FilterHelper.cs @@ -45,6 +45,10 @@ namespace FoodsharingSiegen.Shared.Helper if (filter.DeletedOnly) filterListQ = filterListQ.Where(x => x.RecordState == RecordState.Archived); + // Show only prospects with possible IdCheck + if (filter.IdCheckPossible) + filterListQ = filterListQ.Where(x => x.Images != null && x.Images.Count > 0); + // No Activity Filter if (filter.NoActivity) filterListQ = filterListQ.Where(x => DateTime.Now - x.Modified > TimeSpan.FromDays(180));