def create_default_team(self, hackathon, user): """Create a default new team for user after registration. Use user name as team name by default. Append user id in case user name is duplicate """ user_team = self.__get_valid_team_by_user(user.id, hackathon.id) if user_team: self.log.debug("fail to create team since user is already in some team.") return precondition_failed("you must leave the current team first") team_name = self.__generate_team_name(hackathon, user) team_member = TeamMember(join_time=self.util.get_now(), status=TEAM_MEMBER_STATUS.APPROVED, user=user) team = Team(name=team_name, leader=user, logo=user.avatar_url, hackathon=hackathon, members=[team_member]) team.save() return team.dic()