コード例 #1
0
ファイル: test_forms.py プロジェクト: bhaveshgoyal/postorius
 def test_subscribe_fails(self):
     user_emails = ['*****@*****.**']
     form = ListSubscribe(user_emails, {
         'email' : 'notaemail',
         'display_name' : 'Someone',
     })
     self.assertFalse(form.is_valid())
コード例 #2
0
ファイル: test_forms.py プロジェクト: bhaveshgoyal/postorius
 def test_subscribe_validates_email(self):
     user_emails = ['something']
     form = ListSubscribe(user_emails, {
         'email' : 'something',
         'display_name' : 'Someone',
     })
     self.assertFalse(form.is_valid())
コード例 #3
0
ファイル: list.py プロジェクト: systers/postorius
 def post(self, request, list_id):
     """
     Subscribes an email address to a mailing list via POST and
     redirects to the `list_summary` view.
     """
     try:
         user_addresses = [request.user.email] + request.user.other_emails
         form = ListSubscribe(user_addresses, request.POST)
         if form.is_valid():
             email = request.POST.get('email')
             response = self.mailing_list.subscribe(
                 email, pre_verified=True, pre_confirmed=True)
             if (type(response) == dict and
                     response.get('token_owner') == 'moderator'):
                 messages.success(
                     request, _('Your subscription request has been'
                                ' submitted and is waiting for moderator'
                                ' approval.'))
             else:
                 messages.success(request,
                                  _('You are subscribed to %s.') %
                                  self.mailing_list.fqdn_listname)
         else:
             messages.error(request,
                            _('Something went wrong. Please try again.'))
     except MailmanApiError:
         return utils.render_api_error(request)
     except HTTPError as e:
         messages.error(request, e.msg)
     return redirect('list_summary', self.mailing_list.list_id)
コード例 #4
0
ファイル: list.py プロジェクト: aisworld/postorius
 def post(self, request, list_id):
     """
     Subscribes an email address to a mailing list via POST and
     redirects to the `list_summary` view.
     """
     try:
         user_emails = EmailAddress.objects.filter(
             user=request.user, verified=True).order_by(
             "email").values_list("email", flat=True)
         form = ListSubscribe(user_emails, request.POST)
         if form.is_valid():
             email = request.POST.get('email')
             response = self.mailing_list.subscribe(
                 email, pre_verified=True, pre_confirmed=True)
             if (type(response) == dict and
                     response.get('token_owner') == 'moderator'):
                 messages.success(
                     request, _('Your subscription request has been'
                                ' submitted and is waiting for moderator'
                                ' approval.'))
             else:
                 messages.success(request,
                                  _('You are subscribed to %s.') %
                                  self.mailing_list.fqdn_listname)
         else:
             messages.error(request,
                            _('Something went wrong. Please try again.'))
     except MailmanApiError:
         return utils.render_api_error(request)
     except HTTPError as e:
         messages.error(request, e.msg)
     return redirect('list_summary', self.mailing_list.list_id)
コード例 #5
0
ファイル: test_forms.py プロジェクト: bhaveshgoyal/postorius
 def test_subscribe_validates_email(self):
     user_emails = ['something']
     form = ListSubscribe(user_emails, {
         'email': 'something',
         'display_name': 'Someone',
     })
     self.assertFalse(form.is_valid())
コード例 #6
0
ファイル: list.py プロジェクト: mayank-agarwal-96/postorius
 def post(self, request, list_id):
     try:
         user_emails = [request.user.email] + request.user.other_emails
         form = ListSubscribe(user_emails, request.POST)
         # Find the currently subscribed email
         old_email = None
         for address in user_emails:
             try:
                 self.mailing_list.get_member(address)
             except ValueError:
                 pass
             else:
                 old_email = address
                 break  # no need to test more addresses
         assert old_email is not None
         if form.is_valid():
             email = form.cleaned_data['email']
             if old_email == email:
                 messages.error(request, _('You are already subscribed'))
             else:
                 self.mailing_list.unsubscribe(old_email)
                 # Since the action is done via the web UI, no email
                 # confirmation is needed.
                 self.mailing_list.subscribe(email, pre_confirmed=True)
                 messages.success(request,
                                  _('Subscription changed to %s') % email)
         else:
             messages.error(request,
                            _('Something went wrong. Please try again.'))
     except MailmanApiError:
         return utils.render_api_error(request)
     except HTTPError as e:
         messages.error(request, e.msg)
     return redirect('list_summary', self.mailing_list.list_id)
コード例 #7
0
ファイル: test_forms.py プロジェクト: bhaveshgoyal/postorius
 def test_subscribe_fails(self):
     user_emails = ['*****@*****.**']
     form = ListSubscribe(user_emails, {
         'email': 'notaemail',
         'display_name': 'Someone',
     })
     self.assertFalse(form.is_valid())
コード例 #8
0
 def test_subscribe_works(self):
     user_emails = ['*****@*****.**']
     form = ListSubscribe(user_emails, {
         'email': '*****@*****.**',
         'display_name': 'Someone'
     })
     self.assertTrue(form.is_valid())
コード例 #9
0
ファイル: list.py プロジェクト: inonit/postorius
 def post(self, request, list_id):
     try:
         user_emails = EmailAddress.objects.filter(
             user=request.user,
             verified=True).order_by("email").values_list("email",
                                                          flat=True)
         form = ListSubscribe(user_emails, request.POST)
         # Find the currently subscribed email
         old_email = None
         for address in user_emails:
             try:
                 self.mailing_list.get_member(address)
             except ValueError:
                 pass
             else:
                 old_email = address
                 break  # no need to test more addresses
         assert old_email is not None
         if form.is_valid():
             email = form.cleaned_data['email']
             if old_email == email:
                 messages.error(request, _('You are already subscribed'))
             else:
                 self.mailing_list.unsubscribe(old_email)
                 # Since the action is done via the web UI, no email
                 # confirmation is needed.
                 response = self.mailing_list.subscribe(email,
                                                        pre_confirmed=True)
                 if (type(response) == dict
                         and response.get('token_owner') == 'moderator'):
                     messages.success(
                         request,
                         _('Your request to change the email for'
                           ' this subscription was submitted and'
                           ' is waiting for moderator approval.'))
                 else:
                     messages.success(
                         request,
                         _('Subscription changed to %s') % email)
         else:
             messages.error(request,
                            _('Something went wrong. Please try again.'))
     except HTTPError as e:
         messages.error(request, e.msg)
     return redirect('list_summary', self.mailing_list.list_id)
コード例 #10
0
ファイル: test_forms.py プロジェクト: bahendri/SquidInTheMail
 def test_subscribe_validates_email(self):
     user_emails = ["something"]
     form = ListSubscribe(user_emails, {"email": "something", "display_name": "Someone"})
     self.assertFalse(form.is_valid())
コード例 #11
0
ファイル: test_forms.py プロジェクト: bahendri/SquidInTheMail
 def test_subscribe_fails(self):
     user_emails = ["*****@*****.**"]
     form = ListSubscribe(user_emails, {"email": "notaemail", "display_name": "Someone"})
     self.assertFalse(form.is_valid())
コード例 #12
0
    def post(self, request, list_id):
        """
        Subscribes an email address to a mailing list via POST and
        redirects to the `list_summary` view.
        """
        try:
            user_emails = EmailAddress.objects.filter(
                user=request.user, verified=True).order_by(
                "email").values_list("email", flat=True)
            form = ListSubscribe(user_emails, request.POST)
            if form.is_valid():
                email = request.POST.get('email')
                display_name = request.POST.get('display_name')
                link = request.POST.get('link')
                is_woman = request.POST.get('is_woman')
                is_woman_in_tech = request.POST.get('is_woman_in_tech')
                accepted_terms = request.POST.get('accepted_terms')
                country = request.POST.get('country')
                city = request.POST.get('city')
                essay = request.POST.get('essay')

                essay_subscribe = EssaySubscribe()

                # Store the values entered by the user in model class EssaySubscribe.
                essay_subscribe.list_id = list_id
                essay_subscribe.email = email
                essay_subscribe.display_name = display_name
                essay_subscribe.link = link
                essay_subscribe.essay = essay
                essay_subscribe.city = city

                if is_woman == 'Yes':
                    print "afafafafaf"
                    essay_subscribe.is_woman = True
                else:
                    essay_subscribe.is_woman = False

                if is_woman_in_tech == 'Yes':
                    essay_subscribe.is_woman_in_tech = True
                else:
                    essay_subscribe.is_woman_in_tech = False

                if accepted_terms == 'on':
                    essay_subscribe.accepted_terms = True
                essay_subscribe.country = country

                essay_subscribe.save()

                response = self.mailing_list.subscribe(
                    email, pre_verified=True, pre_confirmed=True)
                if (type(response) == dict and
                        response.get('token_owner') == 'moderator'):
                    messages.success(
                        request, _('Your subscription request has been'
                                   ' submitted and is waiting for moderator'
                                   ' approval.'))
                else:
                    messages.success(request,
                                     _('You are subscribed to %s.') %
                                     self.mailing_list.fqdn_listname)
            else:
                messages.error(request,
                               _('Something went wrong. Please try again.'))
        except HTTPError as e:
            messages.error(request, e.msg)
        return redirect('list_summary', self.mailing_list.list_id)
コード例 #13
0
ファイル: test_forms.py プロジェクト: simonsmiley/postorius
 def test_subscribe_works(self):
     user_emails = ['*****@*****.**']
     form = ListSubscribe(user_emails,
                          {'email': '*****@*****.**',
                           'display_name': 'Someone'})
     self.assertTrue(form.is_valid())