Exemplo n.º 1
0
    def sync_division_email_group(self, force=False):
        group_address = "{}{}-{}-{}@lists.annarborultimate.org".format(
            self.season.slug, self.league_start_date.strftime("%y"), self.league_start_date.strftime("%a"), self.level
        ).lower()
        group_name = "{} {} {} {}".format(
            self.season.name,
            self.league_start_date.strftime("%Y"),
            self.league_start_date.strftime("%A"),
            self.display_level,
        )

        from ultimate.utils.google_api import GoogleAppsApi

        api = GoogleAppsApi()
        group_id = api.prepare_group_for_sync(
            group_name=group_name,
            group_id=self.division_captains_email_group_id,
            group_email_address=group_address,
            force=force,
        )

        self.division_email = group_address
        self.division_email_group_id = group_id

        success_count = 0
        for registration in self.get_complete_registrations():
            if api.add_group_member(
                registration.user.email, group_id=self.division_email_group_id, group_email_address=group_address
            ):
                success_count = success_count + 1

        self.division_email = group_address
        self.save()

        return success_count, group_address
Exemplo n.º 2
0
    def sync_email_group(self, force=False):
        group_address = "{}{}-{}-{}-{}@lists.annarborultimate.org".format(
            self.league.season.slug,
            self.league.league_start_date.strftime("%y"),
            self.league.league_start_date.strftime("%a"),
            self.league.level,
            self.id,
        ).lower()
        group_name = "{} {} {} {} Team {}".format(
            self.league.season.name,
            self.league.league_start_date.strftime("%Y"),
            self.league.league_start_date.strftime("%A"),
            self.league.display_level,
            self.id,
        )

        from ultimate.utils.google_api import GoogleAppsApi

        api = GoogleAppsApi()
        group_id = api.prepare_group_for_sync(
            group_name=group_name, group_id=self.group_id, group_email_address=group_address, force=force
        )

        self.email = group_address
        self.group_id = group_id

        success_count = 0
        for team_member in self.teammember_set.all():
            if api.add_group_member(team_member.user.email, group_id=self.group_id, group_email_address=group_address):
                success_count = success_count + 1

        self.save()

        return success_count, group_address
Exemplo n.º 3
0
    def sync_email_group(self, force=False):
        group_address = generate_email_list_address(self.league, team=self)
        group_name = generate_email_list_name(self.league, team=self)

        from ultimate.utils.google_api import GoogleAppsApi
        api = GoogleAppsApi()
        group_id = api.prepare_group_for_sync(
            group_name=group_name,
            group_id=self.group_id,
            group_email_address=group_address,
            force=force)

        self.email = group_address
        self.group_id = group_id

        success_count = 0
        for team_member in self.teammember_set.all().order_by('user__last_name', 'user__first_name'):
            success_count += add_to_group(
                group_email_address=group_address,
                group_id=group_id,
                email_address=team_member.user.email)

        self.save()

        return success_count, group_address
Exemplo n.º 4
0
    def sync_division_captains_email_group(self, force=False):
        group_address = '{}{}-{}-{}[email protected]'.format(
            self.season.slug,
            self.league_start_date.strftime('%y'),
            self.league_start_date.strftime('%a'),
            self.level,
            ).lower()
        group_name = '{} {} {} {} Captains'.format(
            self.season.name,
            self.league_start_date.strftime('%Y'),
            self.league_start_date.strftime('%A'),
            self.display_level,
            )

        from ultimate.utils.google_api import GoogleAppsApi
        api = GoogleAppsApi()
        group_id = api.prepare_group_for_sync(
            group_name=group_name,
            group_id=self.division_captains_email_group_id,
            group_email_address=group_address,
            force=force)

        self.division_captains_email = group_address
        self.division_captains_email_group_id = group_id

        success_count = 0
        for registration in self.get_complete_registrations():
            team_member_captain = 0
            team_member_models = TeamMember.objects.filter(user=registration.user, team__league=registration.league)
            if team_member_models.count():
                if team_member_models[:1].get().captain:
                    if api.add_group_member(registration.user.email, group_id=self.division_captains_email_group_id, group_email_address=group_address):
                        success_count = success_count + 1

        self.save()

        return success_count, group_address