Настройка тикетной системы: відмінності між версіями

Матеріал з NoDeny
Перейти до навігації Перейти до пошуку
 
(Не показано 20 проміжних версій цього користувача)
Рядок 1: Рядок 1:
Чтобы сотрудник имел доступ к задачам (тикетам) и сообщениям - необходимо, чтобы его административная учетная запись была связана с обычной учетной записью. Это сделано для того, чтобы автором тикета мог быть не только сотрудник, но и абонент.
Чтобы сотрудник имел доступ к задачам (тикетам) и сообщениям - необходимо, чтобы его административная учетная запись была связана с обычной учетной записью. Это сделано для того, чтобы автором тикета мог быть не только сотрудник, но и абонент.


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


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


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


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


<pre>
<pre>
Рядок 69: Рядок 69:
created_time : Создан
created_time : Создан
updated_time : Последнее изменение
updated_time : Последнее изменение
start_time   : Когда выполнить
start_time   : Когда выполнить
creator      : Тикет создал
creator      : Тикет создал
     creator.id: id
     creator.id : id
     creator.name: логин
     creator.name : логин
     creator.doptata.имя_поля.show() : дополнительное поля
     creator.doptata.имя_поля.show() : дополнительное поле
     и другие поля записи из таблицы users
     и другие поля записи из таблицы users
performer    : Исполнитель
performer    : Исполнитель
Рядок 92: Рядок 92:
==Настройка пуш-уведомлений==
==Настройка пуш-уведомлений==


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


* Заходим [https://console.developers.google.com/ Google Developers Console]. Создаем проект: в верхнем меню нажимаем Select a project, затем в выпавшем списке - Create a project. Даем название проекту NoDeny.
* Заходим в [https://console.cloud.google.com/ Google Cloud Platform]. Меню "Начало работы". Затем "Создать пустой проект". В поле "Название проекта" вводим "NoDeny". Нажимаем "Создать"
* Переходим в меню управления google api: нажимаем Use Google APIs. Выбираем Google Cloud Messaging. Нажимаем Enable
* Переходим в "Панель управления". Если в виджете "информация о проекте" отображаются данные иного проекта (допустим, вы его создали ранее), меняем проект в выпадающем списке в верху страницы
* В левом меню нажимаем Credentials. Нажимаем Create credentials. В появившемся списке выбираем API key. В появившемся диалоговом окне нажимаем кнопку Server key. Далее вводим имя ключа, например, NoDeny и нажимаем Create.  Созданный ключ вносим в настройки NoDeny в разделе "Тикеты". В этом же разделе настроек указываем Project number - он должен состоять только из цифр - найдем в настройках нашего проекта в Google Developers Console
* В боковом меню выбираем "API и сервисы"
* Вверху нажимаем на кнопку "Включить API и сервисы"
* В поиске вбиваем "google cloud messaging"
* Найдется несколько вариантов, но нам нужен именно "Google Cloud Messaging"
* Нажимаем "Включить"
* После включения появится сообщение "Чтобы использовать этот API, нужно создать учетные данные". Справа от него нажимаем на "Создать"
* В выпадающем списке "Какой API вы используете?" выбираем "Google Cloud Messaging"
* Нажимаем на "Выбрать тип учетных данных"
* В результате получим ключ (строку из случайных символов). Копируем ее и вставляем в настройки админки в раздел "Push notification" в поле "API key"
* Нажимаем "Готово"
* Для работы push-уведомлений также необходима проверка домена со стороны Google. Это делается на вкладке "Подтверждение прав на домен". Нажимаем на "Добавить домен" и указываем адрес своего сайта.
* Переходим на стартовую страницу (кликаем по заголовку Google Cloud Platform)
* Переходим к настройкам проекта
* В настройках находим параметр "Номер проекта" (число) , копируем его и вставляем в админку в поле "Project number". Сохраняем настройки
* Создаем файл-манифест:
<pre>
perl install.pl -x
</pre>
* Проверяем, что создался файл-манифест:
<pre>
cat /usr/local/nodeny/htdocs/manifest.json
</pre>
* На титульной странице админки нажимаем "Включить push-notification". Затем "Включить"
* Если получаем ошибку, то открывает dev-консоль браузера и смотрим в чем проблема

Поточна версія на 20:34, 15 квітня 2019

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

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

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

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

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

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

Наряды

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

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

<!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"
  • Нажимаем "Готово"
  • Для работы push-уведомлений также необходима проверка домена со стороны Google. Это делается на вкладке "Подтверждение прав на домен". Нажимаем на "Добавить домен" и указываем адрес своего сайта.
  • Переходим на стартовую страницу (кликаем по заголовку Google Cloud Platform)
  • Переходим к настройкам проекта
  • В настройках находим параметр "Номер проекта" (число) , копируем его и вставляем в админку в поле "Project number". Сохраняем настройки
  • Создаем файл-манифест:
perl install.pl -x
  • Проверяем, что создался файл-манифест:
cat /usr/local/nodeny/htdocs/manifest.json
  • На титульной странице админки нажимаем "Включить push-notification". Затем "Включить"
  • Если получаем ошибку, то открывает dev-консоль браузера и смотрим в чем проблема