mensagymnazium / IntranetGen3

MG Intranet - Generation 3 (.NET, Havit.Blazor stack, started in 2021)
9 stars 9 forks source link

SubjectDetail - Nezoobrazovat "Upravit Definici Předmětu" pokud předmět není učitelův (UX) #203

Open Xopabyteh opened 1 month ago

Xopabyteh commented 1 month ago

Úprava selže na Access Denied, pokud předmět učitelovi nepatří, ale tlačítko bych tedy ani nezoobrazoval.

Teďkon je zkoušení si featur pro Učitele/Administrátory pro nás studenty trochu nešikovné, protože je potřeba si roli na chvíli nastavit v kódu ve třídě CustomClaimsBuilder a před pushem na git změnu odebrat:

67      // role
        var roles = await _userManager.GetRolesAsync(user, principal);
        foreach (var role in roles)
        {
            result.Add(new Claim(ClaimTypes.Role, role.ToString("g"), null, ClaimConstants.ApplicationIssuer));
74      }

Změnit na ->

        // role
        IList<Role> roles = [Role.Teacher, Role.Administrator];
        foreach (var role in roles)
        {
            result.Add(new Claim(ClaimTypes.Role, role.ToString("g"), null, ClaimConstants.ApplicationIssuer));
        }
hakenr commented 1 month ago

Pozor, ať v zápalu boje neodebere možnost editovat libovolný předmět administrátorům. Podmínka by měla být tak, že "předmět editovat mohu, pokud jsem administrator, nebo jsem učitel předmětu".