Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class SystemReaction(models.Model):
- input_flow = models.ForeignKey(
- 'IntegrationFlow', on_delete=models.CASCADE,
- related_name='input_flows', verbose_name='Входящий поток')
- output_flow = models.ForeignKey(
- 'IntegrationFlow', on_delete=models.CASCADE,
- related_name='output_flows', verbose_name='Исходящий поток')
- action_type = models.CharField(
- max_length=20, choices=[
- ('default', 'Отправка ответа по-умолчанию'),
- ('custom', 'Отправка вычисленного ответа'),
- ], verbose_name='Тип действия')
- wsdl = models.FileField(verbose_name='WSDL (обязательно для исход. потоков)')
- default_response = models.TextField(verbose_name='Ответ по-умолчанию')
- script = models.FileField(verbose_name='Скрипт для вычисления ответа')
- def __str__(self):
- return self.pk
- def save(self, *args, **kwargs):
- if self.action_type == 'default' and not self.default_response:
- raise ValidationError('Заполните ответ по-умолчанию')
- elif self.action_type == 'custom' and not self.script:
- raise ValidationError('Прикрепите файл со скриптом для вычисления ответа')
- elif self.action_type == 'default':
- # TODO validate wdsl against default response
- pass
- super(SystemReaction, self).save(*args, **kwargs)
- class Meta:
- verbose_name = 'Реакция системы'
- verbose_name_plural = 'Реакции системы'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement