feat: New Payroll module (#21990)
* feat: Moved Document to Payroll Module
* feat: Moved Reports to Payroll Module
* feat: Moved Print fromat With Patch
* feat: Moved Notifiction to Payroll Module and patches
* feat: added dashboard and desk page to Payroll
* feat: Payroll Dashboard
* feat: Module onboarding
* feat: Income tax Deductions Report
* feat: Ecs Checklist Report
* feat: Provident Fund Report
* feat: Professional Fund report and commonified Code
* feat: Total Payments Based On Payment Mode Report
* fix: refactor and added chart Total Payments Based On Payment Mode
* feat: Payroll Settings
* fix: Bank remittance Report
* feat(Payroll based on): Considered unmarked days
* feat: Added Help for condition an formula in Salary structure
* fix: requested changes
* fix: rename report Ecs checklist to salary_payments_via_ecs
* fix: renamed report report/total_payments_based_on_payment_mode
* fix: added role via setup.py for regional report
* feat: added All reports to desk page
* fix: frappe.reload doc in all patches
* fix: codacy
* fix: frappe.reload_doctype for patches
* patch: is_income_tax_component and component_type for salary component
* fix: uncommented code
* test: fixture
* fix: test
* test: test_payment_days_based_on_attendance
diff --git a/erpnext/payroll/notification/as b/erpnext/payroll/notification/as
new file mode 100644
index 0000000..7a39557
--- /dev/null
+++ b/erpnext/payroll/notification/as
@@ -0,0 +1 @@
+update from `tabNotification` set module='Payroll' where name = "Retention Bonus"
\ No newline at end of file
diff --git a/erpnext/payroll/notification/retention_bonus/__init__.py b/erpnext/payroll/notification/retention_bonus/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/payroll/notification/retention_bonus/__init__.py
diff --git a/erpnext/payroll/notification/retention_bonus/retention_bonus.json b/erpnext/payroll/notification/retention_bonus/retention_bonus.json
new file mode 100644
index 0000000..50db033
--- /dev/null
+++ b/erpnext/payroll/notification/retention_bonus/retention_bonus.json
@@ -0,0 +1,26 @@
+{
+ "attach_print": 0,
+ "condition": "doc.docstatus==1",
+ "creation": "2018-05-15 18:52:36.362838",
+ "date_changed": "bonus_payment_date",
+ "days_in_advance": 14,
+ "docstatus": 0,
+ "doctype": "Notification",
+ "document_type": "Retention Bonus",
+ "enabled": 1,
+ "event": "Days Before",
+ "idx": 0,
+ "is_standard": 1,
+ "message": "<p>{{ _(\"Hello\") }},</p>\n\n<p> {{ _(\"Retention Bonus for\") }} {{ doc.employee_name }} {{ _(\"due on\") }} {{ doc.bonus_payment_date }}</p>",
+ "modified": "2018-05-15 19:00:24.294418",
+ "modified_by": "Administrator",
+ "module": "Payroll",
+ "name": "Retention Bonus",
+ "owner": "Administrator",
+ "recipients": [
+ {
+ "email_by_role": "HR Manager"
+ }
+ ],
+ "subject": "Retention Bonus alert for {{ doc.employee }}"
+}
\ No newline at end of file
diff --git a/erpnext/payroll/notification/retention_bonus/retention_bonus.md b/erpnext/payroll/notification/retention_bonus/retention_bonus.md
new file mode 100644
index 0000000..8f48193
--- /dev/null
+++ b/erpnext/payroll/notification/retention_bonus/retention_bonus.md
@@ -0,0 +1,3 @@
+<p>{{ _("Hello") }},</p>
+
+<p> {{ _("Retention Bonus for") }} {{ doc.employee_name }} {{ _("due on") }} {{ doc.bonus_payment_date }}</p>
\ No newline at end of file
diff --git a/erpnext/payroll/notification/retention_bonus/retention_bonus.py b/erpnext/payroll/notification/retention_bonus/retention_bonus.py
new file mode 100644
index 0000000..2334f8b
--- /dev/null
+++ b/erpnext/payroll/notification/retention_bonus/retention_bonus.py
@@ -0,0 +1,7 @@
+from __future__ import unicode_literals
+
+import frappe
+
+def get_context(context):
+ # do your magic here
+ pass