示例#1
0
 def is_owned_by(self, user):
     """Checks if the user is managing the room (owner or manager)"""
     if self.owner == user:
         return True
     manager_group = self.get_attribute_value('manager-group')
     if not manager_group:
         return False
     return user in GroupProxy.get_named_default_group(manager_group)
示例#2
0
    def _can_be_booked(self, user, prebook=False, ignore_admin=False):
        if not user or not rb_check_user_access(user):
            return False

        if (not ignore_admin and rb_is_admin(user)) or (self.is_owned_by(user) and self.is_active):
            return True

        if self.is_active and self.is_reservable and (prebook or not self.reservations_need_confirmation):
            group_name = self.get_attribute_value('allowed-booking-group')
            if not group_name or user in GroupProxy.get_named_default_group(group_name):
                return True

        return False
示例#3
0
 def manager_emails(self):
     manager_group = self.get_attribute_value('manager-group')
     if not manager_group:
         return set()
     group = GroupProxy.get_named_default_group(manager_group)
     return {u.email for u in group.get_members()}