))
def is_admin(self):
- return "sudo" in self.groups
+ return self.is_member_of_group("sudo")
def is_staff(self):
- return "staff" in self.groups
+ return self.is_member_of_group("staff")
+
+ def is_moderator(self):
+ return self.is_member_of_group("moderators")
def has_shell(self):
return "posixAccount" in self.classes
return groups
+ def is_member_of_group(self, gid):
+ """
+ Returns True if this account is a member of this group
+ """
+ return gid in (g.gid for g in self.groups)
+
# Created/Modified at
@property
# Group memberships
"admin" : "true" if account.is_admin() else "false",
- "moderator" : "true" if account.is_staff() else "false",
+ "moderator" : "true" if account.is_moderator() else "false",
}
# Format payload and sign it