コード例 #1
0
    def __init__(self, *args, **kwargs):
        super(SendMessage, self).__init__(*args, **kwargs)

        try:
            answer = DevinoClient(settings.DEVINO_LOGIN, settings.DEVINO_PASSWORD).get_sender_addresses()
            emails = []

            for data in answer.result:
                if data['Confirmed'] is True:
                    emails.append(data['SenderAddress'])

            emails = [(email, email) for email in emails]
            self.fields['sender_email'].choices = emails

        except DevinoException:
            self.fields['sender_email'].choices.append(
                ('load_error', 'server is not available, reload the page')
            )
コード例 #2
0
ファイル: ui.py プロジェクト: telminov/email-service
    def form_valid(self, form):
        json_data = json.dumps(form.cleaned_data)
        devino_request = models.DevinoRequest.objects.create(api_resource=consts.SEND_MESSAGE, data=json_data)

        try:
            answer = DevinoClient(settings.DEVINO_LOGIN, settings.DEVINO_PASSWORD).send_transactional_message(
                **form.cleaned_data)
            models.DevinoAnswer.objects.create(
                code=answer.code,
                description=answer.description,
                result=answer.result,
                request=devino_request,
            )
            messages.success(self.request, 'Message successfully delivered')
        except DevinoException as ex:
            models.DevinoAnswer.objects.create(
                code=ex.error.code,
                description=ex.error.description,
                request=devino_request,
                is_fail=True,
            )
            messages.error(self.request, 'Error in sending the request, pleate repeat')
            return HttpResponseBadRequest()
        return HttpResponseRedirect(self.success_url)
コード例 #3
0
class AddSenderAddress(BaseDevino):
    api_resource = consts.ADD_SENDER_ADDRESS
    serializer = serializers.SenderAddress
    api_resource_lib = DevinoClient(settings.DEVINO_LOGIN, settings.DEVINO_PASSWORD).add_sender_address
    http_method_names = ['post', ]
コード例 #4
0
class GetSenderAddresses(BaseDevino):
    api_resource = consts.GET_SENDER_ADDRESSES
    api_resource_lib = DevinoClient(settings.DEVINO_LOGIN, settings.DEVINO_PASSWORD).get_sender_addresses
    http_method_names = ['get', ]
コード例 #5
0
class GetStatusMessages(BaseDevino):
    api_resource = consts.GET_STATUS_MESSAGE
    serializer = serializers.GetStatusMessages
    api_resource_lib = DevinoClient(settings.DEVINO_LOGIN, settings.DEVINO_PASSWORD).get_status_transactional_message
    http_method_names = ['get', ]
コード例 #6
0
class SendMessage(BaseDevino):
    api_resource = consts.SEND_MESSAGE
    serializer = serializers.SendMessage
    api_resource_lib = DevinoClient(settings.DEVINO_LOGIN, settings.DEVINO_PASSWORD).send_transactional_message
    http_method_names = ['post', ]
コード例 #7
0
class GetStateDetailing(BaseDevino):
    api_resource = consts.GET_STATE_DETAILING
    serializer = serializers.GetStateDetailing
    api_resource_lib = DevinoClient(settings.DEVINO_LOGIN, settings.DEVINO_PASSWORD).get_state_detailing
    http_method_names = ['get', ]
コード例 #8
0
class GetState(BaseDevino):
    api_resource = consts.GET_STATE
    serializer = serializers.GetState
    api_resource_lib = DevinoClient(settings.DEVINO_LOGIN, settings.DEVINO_PASSWORD).get_state
    http_method_names = ['get', ]
コード例 #9
0
class DelTemplate(BaseDevino):
    api_resource = consts.DEL_TEMPLATE
    serializer = serializers.DelTemplate
    api_resource_lib = DevinoClient(settings.DEVINO_LOGIN, settings.DEVINO_PASSWORD).del_template
    http_method_names = ['delete', ]
コード例 #10
0
class EditTemplate(BaseDevino):
    api_resource = consts.EDIT_TEMPLATE
    serializer = serializers.EditTemplate
    api_resource_lib = DevinoClient(settings.DEVINO_LOGIN, settings.DEVINO_PASSWORD).edit_template
    http_method_names = ['put', ]
コード例 #11
0
class AddTemplate(BaseDevino):
    api_resource = consts.ADD_TEMPLATE
    serializer = serializers.AddTemplate
    api_resource_lib = DevinoClient(settings.DEVINO_LOGIN, settings.DEVINO_PASSWORD).add_template
    http_method_names = ['post', ]
コード例 #12
0
class EditTaskStatus(BaseDevino):
    api_resource = consts.EDIT_TASK_STATUS
    serializer = serializers.EditTaskStatus
    api_resource_lib = DevinoClient(settings.DEVINO_LOGIN, settings.DEVINO_PASSWORD).edit_task_status
    http_method_names = ['put', ]
コード例 #13
0
class AddTask(BaseDevino):
    api_resource = consts.ADD_TASK
    serializer = serializers.AddTask
    api_resource_lib = DevinoClient(settings.DEVINO_LOGIN, settings.DEVINO_PASSWORD).add_task
    http_method_names = ['post', ]
コード例 #14
0
class GetTask(BaseDevino):
    api_resource = consts.GET_TASK
    serializer = serializers.GetTask
    api_resource_lib = DevinoClient(settings.DEVINO_LOGIN, settings.DEVINO_PASSWORD).get_task
    http_method_names = ['get', ]