fix permissions

This commit is contained in:
beo3000 2026-02-08 17:55:59 +01:00
parent c5d0f67c0d
commit fbf0d81aff
2 changed files with 92 additions and 72 deletions

View File

@ -27,6 +27,7 @@
@inject IDialogService DialogService @inject IDialogService DialogService
@inject NavigationManager NavigationManager @inject NavigationManager NavigationManager
@inject GameHubService HubService @inject GameHubService HubService
@inject IState<AuthState> AuthState
<PageTitle>Spieltag Details</PageTitle> <PageTitle>Spieltag Details</PageTitle>
@ -68,35 +69,38 @@ else
</MudStack> </MudStack>
</MudItem> </MudItem>
<MudItem xs="12" md="6" Class="d-flex justify-end align-center flex-wrap gap-2"> <MudItem xs="12" md="6" Class="d-flex justify-end align-center flex-wrap gap-2">
@if (Day.Status == DayStatus.Started && !GameState.Value.IsGameActive) @if (AuthState.Value.IsClubEditor || AuthState.Value.IsClubAdmin || AuthState.Value.IsSuperAdmin)
{ {
<MudButton Variant="Variant.Filled" @if (Day.Status == DayStatus.Started && !GameState.Value.IsGameActive)
Color="Color.Success" {
StartIcon="@Icons.Material.Filled.SportsScore" <MudButton Variant="Variant.Filled"
OnClick="OpenGameSetupDialog" Color="Color.Success"
Disabled="DayState.Value.IsLoading || Day.Participants.Count == 0"> StartIcon="@Icons.Material.Filled.SportsScore"
Neues Spiel OnClick="OpenGameSetupDialog"
</MudButton> Disabled="DayState.Value.IsLoading || Day.Participants.Count == 0">
} Neues Spiel
@if (GameState.Value.IsGameActive) </MudButton>
{ }
<MudButton Variant="Variant.Outlined" @if (GameState.Value.IsGameActive)
Color="Color.Warning" {
StartIcon="@Icons.Material.Filled.Stop" <MudButton Variant="Variant.Outlined"
OnClick="EndGame" Color="Color.Warning"
Disabled="DayState.Value.IsLoading"> StartIcon="@Icons.Material.Filled.Stop"
Spiel beenden OnClick="EndGame"
</MudButton> Disabled="DayState.Value.IsLoading">
} Spiel beenden
@if (Day.Status != DayStatus.Closed && !GameState.Value.IsGameActive) </MudButton>
{ }
<MudButton Variant="Variant.Filled" @if (Day.Status != DayStatus.Closed && !GameState.Value.IsGameActive)
Color="GetNextStatusColor(Day.Status)" {
StartIcon="@GetNextStatusIcon(Day.Status)" <MudButton Variant="Variant.Filled"
OnClick="AdvanceStatus" Color="GetNextStatusColor(Day.Status)"
Disabled="DayState.Value.IsLoading"> StartIcon="@GetNextStatusIcon(Day.Status)"
@GetNextStatusLabel(Day.Status) OnClick="AdvanceStatus"
</MudButton> Disabled="DayState.Value.IsLoading">
@GetNextStatusLabel(Day.Status)
</MudButton>
}
} }
@if (Day.Status == DayStatus.New) @if (Day.Status == DayStatus.New)
{ {
@ -346,29 +350,36 @@ else
</MudTd> </MudTd>
<MudTd DataLabel="Aktionen" Style="text-align: right"> <MudTd DataLabel="Aktionen" Style="text-align: right">
<MudStack Row="true" Spacing="1" Justify="Justify.FlexEnd"> <MudStack Row="true" Spacing="1" Justify="Justify.FlexEnd">
@if (context.PersonExpenseStatus == PersonExpenseStatus.Open) @if (AuthState.Value.IsClubEditor || AuthState.Value.IsClubAdmin || AuthState.Value.IsSuperAdmin)
{ {
<MudIconButton Icon="@Icons.Material.Filled.Check" @if (@context.ExpenseType == ExpenseType.Material)
Size="Size.Small" {
Color="Color.Success" @if (context.PersonExpenseStatus == PersonExpenseStatus.Open)
OnClick="@(() => MarkAsPaid(context))" {
Title="Als bezahlt markieren"/> <MudIconButton Icon="@Icons.Material.Filled.Check"
} Size="Size.Small"
else Color="Color.Success"
{ OnClick="@(() => MarkAsPaid(context))"
<MudIconButton Icon="@Icons.Material.Filled.Undo" Title="Als bezahlt markieren"/>
Size="Size.Small" }
Color="Color.Warning" else
OnClick="@(() => MarkAsOpen(context))" {
Title="Als offen markieren"/> <MudIconButton Icon="@Icons.Material.Filled.Undo"
} Size="Size.Small"
@if (Day.Status != DayStatus.Closed) Color="Color.Warning"
{ OnClick="@(() => MarkAsOpen(context))"
<MudIconButton Icon="@Icons.Material.Filled.Delete" Title="Als offen markieren"/>
Size="Size.Small" }
Color="Color.Error" }
OnClick="@(() => ConfirmDeleteExpense(context))"
Title="Löschen"/> @if (Day.Status != DayStatus.Closed)
{
<MudIconButton Icon="@Icons.Material.Filled.Delete"
Size="Size.Small"
Color="Color.Error"
OnClick="@(() => ConfirmDeleteExpense(context))"
Title="Löschen"/>
}
} }
</MudStack> </MudStack>
</MudTd> </MudTd>

View File

@ -83,28 +83,37 @@
OnClick="@(() => NavigateToDayDetails(context))" OnClick="@(() => NavigateToDayDetails(context))"
OnClick:stopPropagation="true"/> OnClick:stopPropagation="true"/>
</MudTooltip> </MudTooltip>
<MudTooltip Text="Bearbeiten"> @if (AuthState.Value.IsClubEditor || AuthState.Value.IsClubAdmin || AuthState.Value.IsSuperAdmin)
<MudIconButton Icon="@Icons.Material.Filled.Edit" {
Size="Size.Small" <MudTooltip Text="Bearbeiten">
Disabled="context.Status == DayStatus.Closed" <MudIconButton Icon="@Icons.Material.Filled.Edit"
OnClick="@(() => OpenEditDialog(context))" Size="Size.Small"
OnClick:stopPropagation="true"/> Disabled="context.Status == DayStatus.Closed"
</MudTooltip> OnClick="@(() => OpenEditDialog(context))"
<MudTooltip Text="Löschen"> OnClick:stopPropagation="true"/>
<MudIconButton Icon="@Icons.Material.Filled.Delete" </MudTooltip>
Size="Size.Small" }
Color="Color.Error" @if (AuthState.Value.IsClubAdmin || AuthState.Value.IsSuperAdmin)
Disabled="context.Status == DayStatus.Closed" {
OnClick="@(() => ConfirmDelete(context))" <MudTooltip Text="Löschen">
OnClick:stopPropagation="true"/> <MudIconButton Icon="@Icons.Material.Filled.Delete"
</MudTooltip> Size="Size.Small"
<MudTooltip Text="Protokolle versenden"> Color="Color.Error"
<MudIconButton Icon="@Icons.Material.Filled.Mail" Disabled="context.Status == DayStatus.Closed"
Size="Size.Small" OnClick="@(() => ConfirmDelete(context))"
Disabled="context.Status != DayStatus.Closed" OnClick:stopPropagation="true"/>
OnClick="@(() => SentProtocol(context))" </MudTooltip>
OnClick:stopPropagation="true" /> }
</MudTooltip> @if (AuthState.Value.IsClubEditor || AuthState.Value.IsClubAdmin || AuthState.Value.IsSuperAdmin)
{
<MudTooltip Text="Protokolle versenden">
<MudIconButton Icon="@Icons.Material.Filled.Mail"
Size="Size.Small"
Disabled="context.Status != DayStatus.Closed"
OnClick="@(() => SentProtocol(context))"
OnClick:stopPropagation="true" />
</MudTooltip>
}
</MudTd> </MudTd>
</RowTemplate> </RowTemplate>
<PagerContent> <PagerContent>