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') )
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)
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', ]
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', ]
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', ]
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', ]
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', ]
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', ]
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', ]
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', ]
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', ]
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', ]
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', ]
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', ]