Reviewer Configuration Uk
Конфігурація рецензента завдань
В ERPNext є налаштування сповіщень, де можна налаштувати повідомлення прив’язані до різних подій. Але припустимо, вам потрібно створити повідомлення про призначення рецензента на якесь завдання.
Наприклад, ви створили поле «Рецензент» у типі документа «Завдання». Поле «Рецензент» є посиланням на доктайп «Працівник». Таким чином, ви можете вибрати рецензента для завдання, і ви хочете, щоб рецензент був повідомлений про цю подію.
Тому нам потрібно змінити доктайп “Повідомлення”, щоб мати можливість надсилати сповіщення рецензенту завдання.
Надіслати Рецензенту Python логіка
-
Перейдіть до доктайпу «Завдання» та натисніть кнопку «Налаштувати».
-
Додайте поле Рецензент і вкажіть тип “Посилання”, у формі Параметри напишіть «Працівник»
-
Перейдіть до доктайпу “Повідомлення” і натисніть кнопку «Налаштувати».
-
Після поля send_to_all_assignees додайте нове поле; позначте його «Надіслати рецензенту», назвіть його send_to_reviewer і виберіть тип “Check”
-
Перейдіть до поля «Одержувачі», у формі «Обов’язковість Залежить Від», у кінці першого рядка додайте код && !doc.send_to_reviewer, щоб весь текст виглядав так:
Після цієї конфігурації поле «Одержувачі» не буде обов’язковим, якщо ввімкнено параметр send_to_reviewer
-
Перейдіть до наступного шляху у файловій системі Frappe Framework:
/workspace/development/frappe-bench/apps/frappe/frappe/email/doctype/notification/notification.py
-
у notification.py напишемо функцію get_task_reviewer, яка отримує електронну пошту рецензента завдання
- Використовуючи def, ми визначаємо функцію get_task_reviewer, яка приймає параметр doc
- Створюємо змінну reviewer і отримуємо значення з поля reviewer доктайпу «Завдання» за допомогою frappe.db.get_value (тег doc.name отримує назву поточного документа, у нашому випадку він отримує назву завдання, з якого буде надіслано сповіщення)
- Якщо значення reviewer є істинним, оголошуємо змінну reviewer_email, вона містить електронну адресу рецензента і ім’я рецензента, яке збирається за допомогою frappe.db.get_value.
- Якщо значення reviewer_email має значення true, функція повертає його
-
У notification.py в методі get_list_of_recipients знайдіть такі рядки:
-
Ми повинні ввести логіку опції send_to_reviewer після рядків вище
- У наведеному вище коді на першому кроці ми перевіряємо, чи поле send_to_reviewer об’єкта сповіщень має значення True (або увімкнено)
- Ми перевіряємо, чи значення, яке повернула функція get_task_reviewer, є істинним, і якщо це так, це значення додається в кінець списку recipients.
Надіслати Рецензенту JavaScript логіка
Тепер, коли у нас є логіка параметра send_to_reviewer, створимо клієнтський сценарій, який показуватиме параметр Надіслати Рецензенту, якщо доктайп Завдання вказано в полі Тип Документу налаштувань Сповіщення
-
Перейдіть до доктайпу «Клієнтський сценарій».
-
Натисніть кнопку «Додати клієнтський сценарій».
-
Назвіть свій клієнтський сценарій і виберіть тип документа «Завдання» в полі «Доктайп».
-
Запишіть наступний сценарій у форму «Сценарій».
- Спочатку створюється функція reviewer_hide, яка приймає параметр frm
- Якщо значення document_type дорівнює Task, змінюємо властивість hidden поля send_to_reviewer на 0 за допомогою функції frm.set_df_property; інакше ми змінюємо властивість hidden на 1
- Ми використовуємо frappe.ui.form.on для виконання функції reviewer_hide у доктайпі ПОвідомлення
- document_type(frm) використовується для виконання функції reviewer_hide, коли поле document_type змінилося
- onload(frm) використовується для виконання функції reviewer_hide під час завантаження сторінки.
Використання опції «Надіслати рецензенту».
Тепер у нас є параметр Надіслати рецензенту, який можна використовувати в різних типах сповіщень. Наприклад, ми хочемо, щоб рецензент отримував сповіщення про зміну статусу завдання.
Ми можемо створити таке сповіщення за допомогою параметра Надіслати рецензенту
-
Перейдіть до типу документа Сповіщення та натисніть кнопку Додати сповіщення
-
Назвіть сповіщення
-
Напишіть тему повідомлення
-
У Send Aler On виберіть опцію Value Change
-
У Зміна Значення виберіть параметр status (Status)
-
Виберіть відправника (налаштований обліковий запис електронної пошти)
-
У типі документа Тип документа виберіть параметр Завдання
-
Увімкніть опцію Надіслати системне сповіщення
-
У формі Одержувачі увімкніть опцію Надіслати рецензенту
-
У формі Повідомлення введіть повідомлення, яке буде містити повідомлення
-
Натисніть кнопку Зберегти