From 91dfaf60b072d7ddda8528ec2e6cc9d7e50d995e Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 7 Dec 2016 13:18:03 +0000 Subject: [PATCH] =?UTF-8?q?=D0=B2=20=D1=81=D0=BC=D1=81=20=D0=B4=D0=BE?= =?UTF-8?q?=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20=D0=B3=D1=80=D1=83=D0=BF=D0=BF?= =?UTF-8?q?=D1=83=20=D0=B0=D0=B1=D0=BE=D0=BD=D0=B5=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- taskapp/handle.sh | 38 +++++++++++++++++++++++++------------- taskapp/models.py | 9 +++++++-- 2 files changed, 32 insertions(+), 15 deletions(-) diff --git a/taskapp/handle.sh b/taskapp/handle.sh index 31ee87b..b6b0b9a 100755 --- a/taskapp/handle.sh +++ b/taskapp/handle.sh @@ -1,26 +1,38 @@ #!/usr/bin/env bash -# $1 - 'start' or 'change' -# $2 - mode -# $3 - dev ip -# $4 - state -# $5 - recipient telephone -# $6 - description -# $7 - abon fio -# $8 - abon address -# $9 - abon telephone +FIRST="$1" # $1 - 'start' or 'change' +FAIL_MODE="$2" # $2 - mode +DEVICE_IP="$3" # $3 - dev ip +STATE="$4" # $4 - state +AUTHOR_TEL="$5" # $5 - author telephone +RECIPIENT_TEL="$6" # $6 - recipient telephone +DESCR="$7" # $7 - description +ABON_FIO="$8" # $8 - abon fio +ABON_ADDR="$9" # $9 - abon address +ABON_TEL="${10}" # $10- abon telephone +ABON_GRP="${11}" # $11- имя группы абонента text='' -if [[ "$1" == "start" ]] +if [[ "$FIRST" == "start" ]] then text="Нов" else text="Изм" fi -FULLTEXT="$text: $7. $8 $9. $2. $6" +# Если задача завершена +if [[ "$STATE" == "F" ]] +then + text="Задача завершена" + # Меняем телефон назначения на телефон автора, т.к. при завершении + # идёт оповещение автору о выполнении + RECIPIENT_TEL="$AUTHOR_TEL" +fi + +FULLTEXT="$text: $ABON_FIO. $ABON_ADDR $ABON_TEL. $ABON_GRP. $FAIL_MODE. $DESCR" -echo "TO $5: $FULLTEXT" >> /tmp/task_sms.log +echo "DEBUG '$ABON_TEL'" >> /tmp/task_sms.log +echo "TO $RECIPIENT_TEL: $FULLTEXT" >> /tmp/task_sms.log -/usr/bin/gammu-smsd-inject TEXT $5 -text "$FULLTEXT" -unicode +/usr/bin/gammu-smsd-inject TEXT $RECIPIENT_TEL -text "$FULLTEXT" -unicode diff --git a/taskapp/models.py b/taskapp/models.py index 66039a5..b2d8827 100644 --- a/taskapp/models.py +++ b/taskapp/models.py @@ -69,6 +69,10 @@ class Task(models.Model): def task_handler(sender, instance, **kwargs): cur_dir = os.path.join(BASE_DIR, "taskapp") + group_name = '' + if instance.abon: + if instance.abon.group: + group_name = instance.abon.group.title if kwargs['created']: first_param = 'start' else: @@ -76,7 +80,7 @@ def task_handler(sender, instance, **kwargs): call(['%s/handle.sh' % cur_dir, first_param, # start or change instance.get_mode_display(), # mode - Характер поломки - instance.device.ip_address if instance.mode != 'cr' or instance.mode != 'ot' else '', # ip устройства + instance.device.ip_address, # ip устройства instance.state, # Состояние задачи (новая|выполнена) instance.author.telephone, # Телефон автора задачи instance.recipient.telephone, # Телефон ответственного монтажника @@ -84,7 +88,8 @@ def task_handler(sender, instance, **kwargs): # Если указан абонент то инфа о нём instance.abon.fio if instance.abon else '<нет фио>', instance.abon.address if instance.abon else '<нет адреса>', - instance.abon.telephone if instance.abon else '<нет телефона>']) + instance.abon.telephone if instance.abon else '<нет телефона>', + group_name]) # Имя группы абонента models.signals.post_save.connect(task_handler, sender=Task)