code: def can_join_group(self, project):
          
          if project.class_.is_locked or project.group_max < 2:
              return False
          u2g = self.fetch_group_assoc(project)
          if u2g:
              return len(list(u2g.group.users)) < project.group_max
          return True
docs: Return whether or not user can join a group on `project`.