diff --git a/FoodsharingSiegen.Contracts/Enums/RecordState.cs b/FoodsharingSiegen.Contracts/Enums/RecordState.cs
index 1036afb..a3eba9f 100644
--- a/FoodsharingSiegen.Contracts/Enums/RecordState.cs
+++ b/FoodsharingSiegen.Contracts/Enums/RecordState.cs
@@ -7,6 +7,6 @@ namespace FoodsharingSiegen.Contracts.Enums
{
Default = 10,
- Deleted = 20
+ Archived = 20
}
}
\ No newline at end of file
diff --git a/FoodsharingSiegen.Contracts/Model/ProspectFilter.cs b/FoodsharingSiegen.Contracts/Model/ProspectFilter.cs
index 212ef99..2e39cb7 100644
--- a/FoodsharingSiegen.Contracts/Model/ProspectFilter.cs
+++ b/FoodsharingSiegen.Contracts/Model/ProspectFilter.cs
@@ -10,6 +10,8 @@
public bool NoActivity { get; set; }
+ public bool RecentActivity { get; set; }
+
public bool DeletedOnly { get; set; }
}
}
\ No newline at end of file
diff --git a/FoodsharingSiegen.Server/Controls/ProspectContainer.razor b/FoodsharingSiegen.Server/Controls/ProspectContainer.razor
index eab4b38..0faba7e 100644
--- a/FoodsharingSiegen.Server/Controls/ProspectContainer.razor
+++ b/FoodsharingSiegen.Server/Controls/ProspectContainer.razor
@@ -6,7 +6,7 @@
var divClass = $"{CssClass} pc-main";
if (Prospect is { Complete: true }) divClass += " complete";
if (Prospect is { Warning: true }) divClass += " warning";
- if (Prospect is { RecordState: RecordState.Deleted }) divClass += " deleted";
+ if (Prospect is { RecordState: RecordState.Archived }) divClass += " deleted";
}
@@ -23,13 +23,13 @@
@if (CurrentUser.IsInGroup(UserGroup.WelcomeTeam, UserGroup.Ambassador))
{
- if (Prospect?.RecordState != RecordState.Deleted)
+ if (Prospect?.RecordState != RecordState.Archived)
{
-
+
}
- else if(CurrentUser.IsAdmin())
+ else
{
-
+
}
}
diff --git a/FoodsharingSiegen.Server/Controls/ProspectContainer.razor.cs b/FoodsharingSiegen.Server/Controls/ProspectContainer.razor.cs
index 2b785f1..7cc4e98 100644
--- a/FoodsharingSiegen.Server/Controls/ProspectContainer.razor.cs
+++ b/FoodsharingSiegen.Server/Controls/ProspectContainer.razor.cs
@@ -55,13 +55,13 @@ namespace FoodsharingSiegen.Server.Controls
/// Deletes the currently selected prospect after user confirmation. This action is irreversible and will update the record state to "Deleted".
///
///
A task that represents the asynchronous delete operation.
- private async Task DeleteProspectAsync()
+ private async Task ArchiveProspectAsync()
{
if (Prospect == null) return;
- await ConfirmDialog.ShowAsync(ModalService, $"⚠️ {Prospect.Name} löschen", $"Soll {Prospect.Name} mit der FS-ID {Prospect.FsId} wirklich gelöscht werden? Das kann nicht rückgängig gemacht werden!!", async () =>
+ await ConfirmDialog.ShowAsync(ModalService, $"{Prospect.Name} archivieren", $"Soll {Prospect.Name} mit der FS-ID {Prospect.FsId} wirklich ins Archiv verschoben werden?", async () =>
{
- Prospect.RecordState = RecordState.Deleted;
+ Prospect.RecordState = RecordState.Archived;
var updateR = await ProspectService.UpdateAsync(Prospect);
if (updateR.Success && OnDataChanged != null) await OnDataChanged();
});
diff --git a/FoodsharingSiegen.Server/Controls/ProspectFilterControl.razor b/FoodsharingSiegen.Server/Controls/ProspectFilterControl.razor
index 61946f6..535adfe 100644
--- a/FoodsharingSiegen.Server/Controls/ProspectFilterControl.razor
+++ b/FoodsharingSiegen.Server/Controls/ProspectFilterControl.razor
@@ -40,6 +40,12 @@
await FilterChanged.InvokeAsync(Filter);
}
+ private async Task RecentActivityChangedAsync(bool arg)
+ {
+ Filter.RecentActivity = arg;
+ await FilterChanged.InvokeAsync(Filter);
+ }
+
}
@@ -64,11 +70,19 @@
}
+ @* RECENT ACTIVITY *@
+ @if (new[] { ProspectStateFilter.All, ProspectStateFilter.OnBoarding, ProspectStateFilter.Verification }.Contains(StateFilter))
+ {
+
+ Kürzlich geändert (< 6 Monate)
+
+ }
+
@* NO ACTIVITY *@
@if (new[] { ProspectStateFilter.All, ProspectStateFilter.OnBoarding, ProspectStateFilter.Verification }.Contains(StateFilter))
{
- Lange keine Aktivität (6 Monate)
+ Lange keine Aktivität (> 6 Monate)
}
diff --git a/FoodsharingSiegen.Server/Data/Service/ProspectService.cs b/FoodsharingSiegen.Server/Data/Service/ProspectService.cs
index fe7112d..881c4ad 100644
--- a/FoodsharingSiegen.Server/Data/Service/ProspectService.cs
+++ b/FoodsharingSiegen.Server/Data/Service/ProspectService.cs
@@ -120,7 +120,7 @@ namespace FoodsharingSiegen.Server.Data.Service
prospectsQuery = prospectsQuery.Where(x => x.Interactions.All(i => !parameter.CannotHaveInteractions.Contains(i.Type)));
if (!parameter.IncludeDeleted)
- prospectsQuery = prospectsQuery.Where(x => x.RecordState != RecordState.Deleted);
+ prospectsQuery = prospectsQuery.Where(x => x.RecordState != RecordState.Archived);
var prospects = await prospectsQuery.ToListAsync();
diff --git a/FoodsharingSiegen.Server/Pages/ProspectsAll.razor b/FoodsharingSiegen.Server/Pages/ProspectsAll.razor
index 83f6222..5617172 100644
--- a/FoodsharingSiegen.Server/Pages/ProspectsAll.razor
+++ b/FoodsharingSiegen.Server/Pages/ProspectsAll.razor
@@ -1,11 +1,12 @@
@page "/all"
+@page "/archive"
@using FoodsharingSiegen.Contracts.Enums
@using FoodsharingSiegen.Shared.Helper
@inherits FsBase
-
Alle (Admin) - @AppSettings.Terms.Title
-
Alle (Admin)
+
Archiv - @AppSettings.Terms.Title
+
Archiv
@if (AppSettings.TestMode)
{
diff --git a/FoodsharingSiegen.Server/Pages/ProspectsAll.razor.cs b/FoodsharingSiegen.Server/Pages/ProspectsAll.razor.cs
index 62c5753..60b59ac 100644
--- a/FoodsharingSiegen.Server/Pages/ProspectsAll.razor.cs
+++ b/FoodsharingSiegen.Server/Pages/ProspectsAll.razor.cs
@@ -1,5 +1,6 @@
using FoodsharingSiegen.Contracts;
using FoodsharingSiegen.Contracts.Entity;
+using FoodsharingSiegen.Contracts.Enums;
using FoodsharingSiegen.Contracts.Helper;
using FoodsharingSiegen.Contracts.Model;
using FoodsharingSiegen.Server.Data.Service;
@@ -45,7 +46,7 @@ namespace FoodsharingSiegen.Server.Pages
///
protected override async Task InitializeDataAsync()
{
- if(!CurrentUser.IsAdmin()) NavigationManager.NavigateTo("/");
+ if(!CurrentUser.IsInGroup(UserGroup.WelcomeTeam, UserGroup.Ambassador)) NavigationManager.NavigateTo("/");
// Load Filter
var filter = await LocalStorageService.GetItem
(StorageKeys.ProspectFilter);
diff --git a/FoodsharingSiegen.Server/Shared/NavMenu.razor b/FoodsharingSiegen.Server/Shared/NavMenu.razor
index 0c95e89..532aae1 100644
--- a/FoodsharingSiegen.Server/Shared/NavMenu.razor
+++ b/FoodsharingSiegen.Server/Shared/NavMenu.razor
@@ -1,3 +1,4 @@
+@using FoodsharingSiegen.Contracts.Enums
- @if (CurrentUser.IsAdmin())
+ @if (CurrentUser.IsInGroup(UserGroup.WelcomeTeam, UserGroup.Ambassador))
{