Browse Source

в смс добавил группу абонента

devel
Dmitry 9 years ago
parent
commit
91dfaf60b0
  1. 38
      taskapp/handle.sh
  2. 9
      taskapp/models.py

38
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

9
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)
Loading…
Cancel
Save