コード例 #1
0
ファイル: views.py プロジェクト: nikolay/apostello
    def post(self, request, format=None, **kwargs):
        form = SendAdhocRecipientsForm(request.data, user=request.user)
        if form.is_valid():
            for recipient in form.cleaned_data['recipients']:
                # send and save message
                recipient.send_message(
                    content=form.cleaned_data['content'],
                    eta=form.cleaned_data['scheduled_time'],
                    sent_by=str(self.request.user)
                )

            if form.cleaned_data['scheduled_time'] is None:
                msg_txt = "Sending \"{0}\"...\nPlease check the logs for verification...".format(
                    form.cleaned_data['content']
                )
                msg = {
                    'type_': 'info',
                    'text': msg_txt,
                }
            else:
                msg = {
                    'type_': 'info',
                    'text': "'{0}' has been successfully queued.".format(form.cleaned_data['content'])
                }
            return Response({'messages': [msg], 'errors': {}}, status=status.HTTP_201_CREATED)

        return Response({'messages': [], 'errors': form.errors}, status=status.HTTP_400_BAD_REQUEST)
コード例 #2
0
 def test_missing_person(self):
     """Test no person supplied"""
     form_data = {
         'content': 'This is a message',
     }
     form = SendAdhocRecipientsForm(data=form_data)
     assert form.is_valid() is False
コード例 #3
0
 def test_missing_content(self, recipients):
     """Test no content supplied"""
     form_data = {
         'recipient': '1',
     }
     form = SendAdhocRecipientsForm(data=form_data)
     assert form.is_valid() is False
コード例 #4
0
ファイル: views.py プロジェクト: totbytot/apostello
    def post(self, request, format=None, **kwargs):
        form = SendAdhocRecipientsForm(request.data, user=request.user)
        if form.is_valid():
            for recipient in form.cleaned_data["recipients"]:
                # send and save message
                recipient.send_message(
                    content=form.cleaned_data["content"],
                    eta=form.cleaned_data["scheduled_time"],
                    sent_by=str(self.request.user),
                )

            if form.cleaned_data["scheduled_time"] is None:
                msg_txt = 'Sending "{0}"...\nPlease check the logs for verification...'.format(
                    form.cleaned_data["content"])
                msg = {"type_": "info", "text": msg_txt}
            else:
                msg = {
                    "type_":
                    "info",
                    "text":
                    "'{0}' has been successfully queued.".format(
                        form.cleaned_data["content"]),
                }
            return Response({
                "messages": [msg],
                "errors": {}
            },
                            status=status.HTTP_201_CREATED)

        return Response({
            "messages": [],
            "errors": form.errors
        },
                        status=status.HTTP_400_BAD_REQUEST)
コード例 #5
0
ファイル: test_send_adhoc.py プロジェクト: nikolay/apostello
 def test_missing_person(self):
     """Test no person supplied"""
     form_data = {
         'content': 'This is a message',
     }
     form = SendAdhocRecipientsForm(data=form_data, user=UserMock())
     assert form.is_valid() is False
コード例 #6
0
ファイル: test_send_adhoc.py プロジェクト: nikolay/apostello
 def test_missing_content(self, recipients):
     """Test no content supplied"""
     form_data = {
         'recipient': '1',
     }
     form = SendAdhocRecipientsForm(data=form_data)
     assert form.is_valid() is False
コード例 #7
0
ファイル: views.py プロジェクト: AustinBratcher/apostello
    def post(self, request, *args, **kwargs):
        form = SendAdhocRecipientsForm(request.POST, ('recipients',))
        if form.is_valid():
            for recipient in form.cleaned_data['recipients']:
                # send and save message
                recipient.send_message(content=form.cleaned_data['content'],
                                       eta=form.cleaned_data['scheduled_time'],
                                       sent_by=str(request.user))

            if form.cleaned_data['scheduled_time'] is None:
                messages.info(
                    request,
                    "Sending \"{0}\"...\nPlease check the logs for verification...".format(
                        form.cleaned_data['content']
                    )
                )
            else:
                messages.info(
                    request,
                    "'{0}' has been successfully queued.".format(
                        form.cleaned_data['content']
                    )
                )
            return redirect(reverse("send_adhoc"))
        else:
            return render(request, "apostello/send_adhoc.html", {'form': form})
コード例 #8
0
    def post(self, request, format=None, **kwargs):
        form = SendAdhocRecipientsForm(request.data, user=request.user)
        if form.is_valid():
            for recipient in form.cleaned_data['recipients']:
                # send and save message
                recipient.send_message(content=form.cleaned_data['content'],
                                       eta=form.cleaned_data['scheduled_time'],
                                       sent_by=str(self.request.user))

            if form.cleaned_data['scheduled_time'] is None:
                msg_txt = "Sending \"{0}\"...\nPlease check the logs for verification...".format(
                    form.cleaned_data['content'])
                msg = {
                    'type_': 'info',
                    'text': msg_txt,
                }
            else:
                msg = {
                    'type_':
                    'info',
                    'text':
                    "'{0}' has been successfully queued.".format(
                        form.cleaned_data['content'])
                }
            return Response({
                'messages': [msg],
                'errors': {}
            },
                            status=status.HTTP_201_CREATED)

        return Response({
            'messages': [],
            'errors': form.errors
        },
                        status=status.HTTP_400_BAD_REQUEST)
コード例 #9
0
ファイル: test_send_adhoc.py プロジェクト: totbytot/apostello
 def test_disabled_user_limit(self, form_content, form_recipients, recipients):
     """Tests the SMS cost limit check is disabled."""
     form_recipients = [recipients[x].pk for x in form_recipients]
     form_data = {"content": form_content, "recipients": form_recipients}
     user = UserMock()
     user.profile.message_cost_limit = 0
     form = SendAdhocRecipientsForm(data=form_data, user=user)
     assert form.is_valid()
コード例 #10
0
 def test_empty_content(self, recipients):
     """Test empty message"""
     form_data = {
         'content': '',
         'recipient': '1',
     }
     form = SendAdhocRecipientsForm(data=form_data)
     assert form.is_valid() is False
コード例 #11
0
 def test_correct_single(self, form_content, form_recipients, recipients):
     """Tests valid form inputs"""
     form_data = {
         'content': form_content,
         'recipients': form_recipients,
     }
     form = SendAdhocRecipientsForm(data=form_data)
     assert form.is_valid()
コード例 #12
0
 def test_illegal_chars(self, recipients):
     """Test illegal (non-GSM) characters"""
     form_data = {
         'content': u"This should not pass…",
         'recipient': '1',
     }
     form = SendAdhocRecipientsForm(data=form_data)
     assert form.is_valid() is False
コード例 #13
0
ファイル: test_send_adhoc.py プロジェクト: nikolay/apostello
 def test_illegal_chars(self, recipients):
     """Test illegal (non-GSM) characters"""
     form_data = {
         'content': u"This should not pass…",
         'recipient': '1',
     }
     form = SendAdhocRecipientsForm(data=form_data)
     assert form.is_valid() is False
コード例 #14
0
 def test_empty_person(self):
     """Test no recipients"""
     form_data = {
         'content': 'Hi!',
         'recipient': '',
     }
     form = SendAdhocRecipientsForm(data=form_data)
     assert form.is_valid() is False
コード例 #15
0
 def test_max_length(self, recipients):
     """Test message far too long"""
     form_data = {
         'content': 50 * "test",
         'recipient': '1',
     }
     form = SendAdhocRecipientsForm(data=form_data)
     assert form.is_valid() is False
コード例 #16
0
ファイル: test_send_adhoc.py プロジェクト: nikolay/apostello
 def test_empty_person(self):
     """Test no recipients"""
     form_data = {
         'content': 'Hi!',
         'recipient': '',
     }
     form = SendAdhocRecipientsForm(data=form_data)
     assert form.is_valid() is False
コード例 #17
0
ファイル: test_send_adhoc.py プロジェクト: nikolay/apostello
 def test_max_length(self, recipients):
     """Test message far too long"""
     form_data = {
         'content': 50 * "test",
         'recipient': '1',
     }
     form = SendAdhocRecipientsForm(data=form_data)
     assert form.is_valid() is False
コード例 #18
0
ファイル: test_send_adhoc.py プロジェクト: nikolay/apostello
 def test_empty_content(self, recipients):
     """Test empty message"""
     form_data = {
         'content': '',
         'recipient': '1',
     }
     form = SendAdhocRecipientsForm(data=form_data)
     assert form.is_valid() is False
コード例 #19
0
ファイル: test_send_adhoc.py プロジェクト: totbytot/apostello
 def test_fails_user_limit(self, form_content, form_recipients, recipients):
     """Tests the SMS cost limit check."""
     form_recipients = [recipients[x].pk for x in form_recipients]
     form_data = {"content": form_content, "recipients": form_recipients}
     user = UserMock()
     user.profile.message_cost_limit = 0.01
     form = SendAdhocRecipientsForm(data=form_data, user=user)
     assert not form.is_valid()
     assert "cost no more than ${0}".format(user.profile.message_cost_limit) in "\n".join(form.errors["__all__"])
コード例 #20
0
ファイル: test_send_adhoc.py プロジェクト: nikolay/apostello
 def test_correct_single(self, form_content, form_recipients, recipients):
     """Tests valid form inputs"""
     form_recipients = [recipients[x].pk for x in form_recipients]
     form_data = {
         'content': form_content,
         'recipients': form_recipients,
     }
     form = SendAdhocRecipientsForm(data=form_data, user=UserMock())
     assert form.is_valid()
コード例 #21
0
 def test_correct_single(self, form_content, form_recipients, recipients):
     """Tests valid form inputs"""
     form_recipients = [recipients[x].pk for x in form_recipients]
     form_data = {
         'content': form_content,
         'recipients': form_recipients,
     }
     form = SendAdhocRecipientsForm(data=form_data, user=UserMock())
     assert form.is_valid()
コード例 #22
0
 def test_disabled_user_limit(
     self, form_content, form_recipients, recipients
 ):
     """Tests the SMS cost limit check is disabled."""
     form_recipients = [recipients[x].pk for x in form_recipients]
     form_data = {'content': form_content, 'recipients': form_recipients, }
     user = UserMock()
     user.profile.message_cost_limit = 0
     form = SendAdhocRecipientsForm(data=form_data, user=user)
     assert form.is_valid()
コード例 #23
0
ファイル: test_send_adhoc.py プロジェクト: nikolay/apostello
 def test_fails_user_limit(self, form_content, form_recipients, recipients):
     """Tests the SMS cost limit check."""
     form_recipients = [recipients[x].pk for x in form_recipients]
     form_data = {
         'content': form_content,
         'recipients': form_recipients,
     }
     user = UserMock()
     user.profile.message_cost_limit = 0.01
     form = SendAdhocRecipientsForm(data=form_data, user=user)
     assert not form.is_valid()
     assert 'cost no more than ${0}'.format(user.profile.message_cost_limit) in '\n'.join(form.errors['__all__'])
コード例 #24
0
    def post(self, request, *args, **kwargs):
        """Handle sending form submission."""
        context = self.context
        form = SendAdhocRecipientsForm(request.POST, ('recipients', ))
        if form.is_valid():
            for recipient in form.cleaned_data['recipients']:
                # send and save message
                recipient.send_message(content=form.cleaned_data['content'],
                                       eta=form.cleaned_data['scheduled_time'],
                                       sent_by=str(request.user))

            if form.cleaned_data['scheduled_time'] is None:
                messages.info(
                    request,
                    "Sending \"{0}\"...\nPlease check the logs for verification..."
                    .format(form.cleaned_data['content']))
            else:
                messages.info(
                    request, "'{0}' has been successfully queued.".format(
                        form.cleaned_data['content']))
            return redirect(reverse("send_adhoc"))
        else:
            context['form'] = form
            return render(request, "apostello/send_adhoc.html", context)
コード例 #25
0
 def test_correct_single(self, form_content, form_recipients, recipients):
     """Tests valid form inputs"""
     form_data = {'content': form_content, 'recipients': form_recipients, }
     form = SendAdhocRecipientsForm(data=form_data)
     assert form.is_valid()
コード例 #26
0
ファイル: test_send_adhoc.py プロジェクト: totbytot/apostello
 def test_empty_person(self):
     """Test no recipients"""
     form_data = {"content": "Hi!", "recipient": ""}
     form = SendAdhocRecipientsForm(data=form_data)
     assert form.is_valid() is False
コード例 #27
0
ファイル: test_send_adhoc.py プロジェクト: totbytot/apostello
 def test_missing_person(self):
     """Test no person supplied"""
     form_data = {"content": "This is a message"}
     form = SendAdhocRecipientsForm(data=form_data, user=UserMock())
     assert form.is_valid() is False
コード例 #28
0
ファイル: test_send_adhoc.py プロジェクト: totbytot/apostello
 def test_empty_content(self, recipients):
     """Test empty message"""
     form_data = {"content": "", "recipient": "1"}
     form = SendAdhocRecipientsForm(data=form_data)
     assert form.is_valid() is False