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

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


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


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


В общих настройках в разделе "Тикеты" установите  типы задач, например: ремонт, настройка, заявка на подключение, плановая проверка, мобилизация и т.д.
В общих настройках в разделе "Тикеты" установите  типы задач, например: ремонт, настройка, заявка на подключение, плановая проверка, мобилизация и т.д.
==Наряды==
Есть возможность для задачи по ее данным формировать документ-наряд для распечатки его. При этом может быть множество шаблонов для разных ситуаций.
На титульной странице админки нажмите на «Документы». В разделе «Документы» создайте папку «Наряды». Естественно, вы можете иначе назвать эту папку или несколько папок и поместить их не в «Документы», а иную папку. В папке «Наряды» создайте документ с именем, скажем, «Подключение» или «Ремонт». Вставьте в него следующий текст:
<pre>
<!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>
</pre>
Доступны следующие переменные:
<pre>
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      : Комментарий
</pre>


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


* Заходим [https://console.developers.google.com/ Google Developers Console]. Создаем проект (нажимаем Create a project). Даем название проекту NoDeny.
Внимание! Пуш-уведомления могут работать только если ваш сайт имеет валидный не самоподписанный сертификат.
* Переходим в меню управления google api (нажимаем Use Google APIs). Выбираем Google Cloud Messaging for Android. Нажимаем Enable API
 
* В левом меню нажимает Credentials. Нажимаем Add credentials. В появившемся списке выбираем API key. В появившемся диалоговом окне нажимаем кнопку Server key. Далее вводим имя ключа, например, NoDeny и нажимаем Create. Созданный ключ вносим в настройки NoDeny в разделе "Тикеты".
* Заходим в [https://console.cloud.google.com/ 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". Сохраняем настройки
* Создаем файл-манифест:
<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-консоль браузера и смотрим в чем проблема