MemberAdminWindow: Add feature to export .vcf files
All checks were successful
Test / Run tests (push) Successful in 1m42s

This commit is contained in:
2025-10-31 17:13:20 +01:00
parent e9722c790c
commit 01f4480a08
5 changed files with 109 additions and 1 deletions

View File

@@ -164,6 +164,14 @@
<MenuItem x:Name="Menu_Export_UploadAll" Header="...von allen Mitgliedern hochladen"
Click="Menu_Export_UploadAll_Click"/>
</MenuItem>
<MenuItem Header="Kontakte">
<MenuItem x:Name="Menu_Contacts_Selected" Header="...von ausgewähltem Mitglied speichern..." IsEnabled="False"
Click="Menu_Contacts_Selected_Click"/>
<MenuItem x:Name="Menu_Contacts_Filters" Header="...aus Filtern speichern..."
Click="Menu_Contacts_Filters_Click"/>
<MenuItem x:Name="Menu_Contacts_All" Header="...von allen Mitgliedern speichern..."
Click="Menu_Contacts_All_Click"/>
</MenuItem>
</Menu>
<Grid Grid.Row="1" Margin="5,0,0,0">

View File

@@ -319,9 +319,11 @@ namespace Elwig.Windows {
if (MemberList.SelectedItem is Member m) {
Menu_Export_ExportSelected.IsEnabled = !IsEditing && !IsCreating;
Menu_Export_UploadSelected.IsEnabled = !IsEditing && !IsCreating && App.Config.SyncUrl != null;
Menu_Contacts_Selected.IsEnabled = !IsEditing && !IsCreating;
} else {
Menu_Export_ExportSelected.IsEnabled = false;
Menu_Export_UploadSelected.IsEnabled = false;
Menu_Contacts_Selected.IsEnabled = false;
}
}
@@ -649,6 +651,13 @@ namespace Elwig.Windows {
await ViewModel.GenerateMemberList(MemberService.ExportSubject.Selected, ExportMode.Upload);
}
private async void Menu_Contacts_All_Click(object sender, RoutedEventArgs evt) =>
await ViewModel.GenerateMemberList(MemberService.ExportSubject.All, ExportMode.Vcf);
private async void Menu_Contacts_Filters_Click(object sender, RoutedEventArgs evt) =>
await ViewModel.GenerateMemberList(MemberService.ExportSubject.FromFilters, ExportMode.Vcf);
private async void Menu_Contacts_Selected_Click(object sender, RoutedEventArgs evt) =>
await ViewModel.GenerateMemberList(MemberService.ExportSubject.Selected, ExportMode.Vcf);
private async void Menu_List_Order_Click(object sender, RoutedEventArgs evt) {
Menu_List.IsSubmenuOpen = true;
if (sender == Menu_List_OrderMgNr) {