Настройка тикетной системы

Матеріал з NoDeny
Перейти до навігації Перейти до пошуку

Чтобы сотрудник имел доступ к задачам (тикетам) и сообщениям - необходимо, чтобы его административная учетная запись была связана с обычной учетной записью. Это сделано для того, чтобы автором тикета мог быть не только сотрудник, но и абонент.

Вам необходимо создать группу "Сотрудники", в которой установить такие параметры:

  • Имя идентификационного поля - ФИО (можно иной идентификатор сотрудника)
  • Установить галку "В данной группе находятся сотрудники компании"
  • Если необходимо, установите галку "имеют баланс"
  • Все остальные галки убрать

В дополнительных полях можно создать поле "должность" типа "строковое однострочное", а также в поле "телефон" поставить галку доступности поля в группе "сотрудники".

Создайте учетные записи сотрудников. Если сотрудник имеет доступ в админку (это не обязательно), то в настройках в разделе "Администраторы" свяжите его логин с соответствующей учетной записью в группе "сотрудники" (параметр "он же" в данных администратора).

В общих настройках в разделе "Тикеты" установите типы задач, например: ремонт, настройка, заявка на подключение, плановая проверка, мобилизация и т.д.

Наряды

Есть возможность для задачи по ее данным формировать документ-наряд для распечатки его. При этом может быть множество шаблонов для разных ситуаций.

На титульной странице админке нажмите на "Документы". В разделе "Документы" создайте папку "Наряды". Естественно, вы можете иначе назвать эту папку или несколько папок и поместить их не в "Документы", а иную папку. В папке "Наряды" создайте документ с именем, скажем, "Подключение" или "Ремонт". Вставьте в него следующий текст:

<!doctype html>
<html>
<head>
<meta http-equiv='Cache-Control' content='no-cache'>
<meta http-equiv='Pragma' content='no-cache'>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<style type='text/css'>
body { 
    max-width: 800px;
    font-size: 9pt;
    font-family: Tahoma,sans-serif;
    color: #000;
    background-color: #fff;
    text-align: left;
    margin: 0 auto;
}
table {
    border: 1px solid #666;
    border-collapse: collapse;
    margin: 0 auto;
    text-align: left;
}
td {
    padding: 4pt 25pt;
    border-width: 1px;
    border-style: solid;
    border-color: #c0c0c0 #ffffff #c0c0c0 #ffffff;
}
</style>
</head>
<body>

<table>
<tr><td>Id тикета</td><td>{{id}}</td></tr>
<tr><td>Создан</td><td>{{created_time}}</td></tr>
<tr><td>Тикет создал</td><td>{{creator.name}}</td></tr>
<tr><td>Исполнитель</td><td>
  {% if performer %}{{performer.name}} ({{performer.dopdata._adr_telefon.show()}}){% endif %}</td></tr>
</table>

</body>
</html>

Доступны следующие переменные:

id           : Id тикета
created_time : Создан
updated_time : Последнее изменение
start_time   : Когда выполнить
creator      : Тикет создал
    creator.id : id
    creator.name : логин
    creator.doptata.имя_поля.show() : дополнительное поле
    и другие поля записи из таблицы users
performer    : Исполнитель
    теже поля, что и у creator, но обратить внимание, что
    исполнитель может отсутствовать (в примере проверка с помощью if)
client       : Клиент
    теже поля, что и у creator, например:
    client.fio, client.balance, client.dopdata._adr_street.show()
type         : Тип тикета
type_id      : Тип тикета в числовом виде
level        : Приоритет
state        : Состояние
state_id     : Состояние (в латинице)
subject      : Тема
comment      : Комментарий

Настройка пуш-уведомлений

Внимание, пуш-уведомления могут работать только если ваш сайт имеет валидный не самоподписанный сертификат!

  • Заходим в Google Cloud Platform. Меню "Начало работы". Затем "Создать пустой проект". В поле "Название проекта" вводим "NoDeny". Нажимаем "Создать"
  • Переходим в "Панель управления". Если в виджете "информация о проекте" отображаются данные иного проекта (допустим, вы его создали ранее), смените проект в выпадающем списке в самом верху страницы
  • В боковом меню выбираем "API и сервисы"
  • Вверху нажимаем на кнопку "Включить API и сервисы"
  • В поиске вбиваем "google cloud messaging"
  • Найдется несколько вариантов, но нам нужен именно "Google Cloud Messaging"
  • Нажимаем "Включить"
  • После включения появится сообщение "Чтобы использовать этот API, нужно создать учетные данные". Справа от него нажимаем на "Создать"
  • В выпадающем списке "Какой API вы используете?" выбираем "Google Cloud Messaging"
  • Нажимаем на "Выбрать тип учетных данных"
  • В результате получим ключ (строку из случайных символов). Копируем ее и вставляем в настройки админки в раздел "Push notification" в поле "API key"
  • Нажимаем "Готово"
  • Находим ссылку "Настройки проекта" и нажимем ее
  • В настройках находим параметр "Номер проекта" (число) , копируем его и вставляем в админку в поле "Project number". Сохраняем настройки
  • Создадим файл-манифест:
perl install.pl -x
  • Проверим, что создался файл-манифест:
cat /usr/local/nodeny/htdocs/manifest.json
  • На титульной странице админки нажимаем "Включить push-notification". Затем "Включить"
  • Если получаем ошибку, то открывает dev-консоль браузера и смотрим в чем проблема