Advertisement
Guest User

Untitled

a guest
Mar 30th, 2020
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.70 KB | None | 0 0
  1. class SystemReaction(models.Model):
  2.     input_flow = models.ForeignKey(
  3.         'IntegrationFlow', on_delete=models.CASCADE,
  4.         related_name='input_flows', verbose_name='Входящий поток')
  5.     output_flow = models.ForeignKey(
  6.         'IntegrationFlow', on_delete=models.CASCADE,
  7.         related_name='output_flows', verbose_name='Исходящий поток')
  8.     action_type = models.CharField(
  9.         max_length=20, choices=[
  10.             ('default', 'Отправка ответа по-умолчанию'),
  11.             ('custom', 'Отправка вычисленного ответа'),
  12.         ], verbose_name='Тип действия')
  13.     wsdl = models.FileField(verbose_name='WSDL (обязательно для исход. потоков)')
  14.     default_response = models.TextField(verbose_name='Ответ по-умолчанию')
  15.     script = models.FileField(verbose_name='Скрипт для вычисления ответа')
  16.  
  17.     def __str__(self):
  18.         return self.pk
  19.  
  20.     def save(self, *args, **kwargs):
  21.         if self.action_type == 'default' and not self.default_response:
  22.             raise ValidationError('Заполните ответ по-умолчанию')
  23.         elif self.action_type == 'custom' and not self.script:
  24.             raise ValidationError('Прикрепите файл со скриптом для вычисления ответа')
  25.         elif self.action_type == 'default':
  26.             # TODO validate wdsl against default response
  27.             pass
  28.  
  29.         super(SystemReaction, self).save(*args, **kwargs)
  30.  
  31.     class Meta:
  32.         verbose_name = 'Реакция системы'
  33.         verbose_name_plural = 'Реакции системы'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement