Example #1
0
 def test_toggle_institution(self):
     email = '*****@*****.**'
     other = '*****@*****.**'
     self.assertListEqual([email] + list(alternative_emails(email)),
                          [email, other])
     self.assertListEqual([other] + list(alternative_emails(other)),
                          [other, email])
     self.assertListEqual(
         list(alternative_emails('*****@*****.**')), [])
Example #2
0
	def dispatch(self, request, *args, **kwargs):
		if not (
			request.user.is_staff
			or self.mailing_list.is_owner(request.user.email)
			or any(self.mailing_list.is_owner(email) for email in alternative_emails(request.user.email))
		):
			return self.handle_no_permission()
		return super().dispatch(request, *args, **kwargs)
Example #3
0
 def get_context_data(self, **kwargs):
     email = self.request.user.email
     kwargs.setdefault(
         "memberships",
         connection.get_owner_and_memberships(email,
                                              *alternative_emails(email)))
     kwargs.setdefault("domain_addon", "@" + str(connection.domain))
     return super().get_context_data(**kwargs)
Example #4
0
 def get_initial(self):
     initial_mail = None
     if self.request.user.is_authenticated:
         try:
             initial_mail = next(test_mail for test_mail in
                                 alternative_emails(self.request.user.email)
                                 if self.mailing_list.is_member(test_mail))
         except StopIteration:
             initial_mail = self.request.user.email
     return {"email": initial_mail}
Example #5
0
    def test_alumni_alternatives(self):
        newstatus_mails = [
            '*****@*****.**', '*****@*****.**'
        ]
        oldstatus_mails = [
            '*****@*****.**',
            '*****@*****.**'
        ]
        both_sorted = sorted(newstatus_mails + oldstatus_mails)

        in_old_status = '*****@*****.**'

        for email in newstatus_mails:
            self.assertListEqual(
                sorted([email] + list(alternative_emails(email))), both_sorted)

        self.assertListEqual(list(alternative_emails(in_old_status)),
                             ['*****@*****.**'])
        self.assertListEqual(
            list(alternative_emails('*****@*****.**')), [])
Example #6
0
 def _all_mails(self, email):
     yield email
     yield from alternative_emails(email)