only one '+' role necessary + introduction of 'kassier' role
This commit is contained in:
@ -968,22 +968,18 @@ macro_rules! special_user {
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
(@check_roles $user:ident, $db:ident, $(+$role:expr),* $(,-$neg_role:expr)*) => {
|
||||
{
|
||||
let mut has_positive_role = false;
|
||||
$(
|
||||
if !$user.has_role($db, $role).await {
|
||||
false
|
||||
} else
|
||||
if $user.has_role($db, $role).await {
|
||||
has_positive_role = true;
|
||||
}
|
||||
)*
|
||||
has_positive_role
|
||||
$(
|
||||
if $user.has_role($db, $neg_role).await {
|
||||
false
|
||||
} else
|
||||
&& !$user.has_role($db, $neg_role).await
|
||||
)*
|
||||
{
|
||||
true
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -996,6 +992,7 @@ special_user!(DonauLinzUser, +"Donau Linz", -"Unterstützend", -"Förderndes Mit
|
||||
special_user!(SchnupperBetreuerUser, +"schnupper-betreuer");
|
||||
special_user!(VorstandUser, +"Vorstand");
|
||||
special_user!(EventUser, +"manage_events");
|
||||
special_user!(AllowedToEditPaymentStatusUser, +"kassier", +"admin");
|
||||
|
||||
#[derive(FromRow, Serialize, Deserialize, Clone, Debug)]
|
||||
pub struct UserWithRolesAndMembershipPdf {
|
||||
|
Reference in New Issue
Block a user