Salary Manager Link in HR module and deleted salary slip control panel link
diff --git a/hr/Module Def/HR/HR.txt b/hr/Module Def/HR/HR.txt
index 5ad5e54..212d689 100644
--- a/hr/Module Def/HR/HR.txt
+++ b/hr/Module Def/HR/HR.txt
@@ -1,603 +1,318 @@
+# Module Def, HR
 [
+
+	# These values are common in all dictionaries
 	{
-		'_last_update': None,
-		'creation': '2011-06-30 15:51:33',
-		'disabled': 'No',
+		'creation': '2011-07-01 17:41:43',
 		'docstatus': 0,
-		'doctype': u'Module Def',
-		'doctype_list': None,
-		'file_list': None,
-		'idx': None,
-		'is_hidden': 'No',
-		'last_updated_date': None,
-		'modified': '2011-06-30 15:51:33',
+		'modified': '2011-08-25 13:54:43',
 		'modified_by': 'Administrator',
+		'owner': 'Administrator'
+	},
+
+	# These values are common for all Module Def Role
+	{
+		'doctype': 'Module Def Role',
+		'name': '__common__',
+		'parent': 'HR',
+		'parentfield': 'roles',
+		'parenttype': 'Module Def'
+	},
+
+	# These values are common for all Module Def Item
+	{
+		'doctype': 'Module Def Item',
+		'name': '__common__',
+		'parent': 'HR',
+		'parentfield': 'items',
+		'parenttype': 'Module Def'
+	},
+
+	# These values are common for all Module Def
+	{
+		'disabled': 'No',
+		'doctype': u'Module Def',
+		'is_hidden': 'No',
 		'module_desc': 'Human Resource Management - Employee Database, Salaries etc.',
 		'module_icon': 'HR.gif',
 		'module_label': 'HR',
 		'module_name': 'HR',
-		'module_page': None,
 		'module_seq': 9,
-		'name': 'HR',
-		'owner': 'Administrator',
-		'parent': None,
-		'parentfield': None,
-		'parenttype': None,
-		'trash_reason': None,
-		'widget_code': None
+		'name': '__common__'
 	},
+
+	# Module Def, HR
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:33',
+		'doctype': u'Module Def',
+		'name': 'HR'
+	},
+
+	# Module Def Item
+	{
 		'description': 'Your Employee Database',
 		'display_name': 'Employee',
 		'doc_name': 'Employee',
 		'doc_type': 'Forms',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
 		'fields': 'employee_name\nemployment_type\nstatus\nbranch\ndesignation\ndepartment\ngrade\nreports_to',
-		'hide': None,
-		'icon': None,
-		'idx': 1,
-		'modified': '2011-06-30 15:51:33',
-		'modified_by': 'Administrator',
-		'name': 'MDI01335',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 1
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:33',
 		'description': 'Employees Daily Attendance Tracking Form',
 		'display_name': 'Attendance',
 		'doc_name': 'Attendance',
 		'doc_type': 'Forms',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
 		'fields': 'employee\nemployee_name\nstatus\natt_date\nfiscal_year\ncompany',
-		'hide': None,
-		'icon': None,
-		'idx': 2,
-		'modified': '2011-06-30 15:51:33',
-		'modified_by': 'Administrator',
-		'name': 'MDI01336',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 2
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:33',
 		'description': 'Upload Attendance data',
 		'display_name': 'Attendance Control Panel',
 		'doc_name': 'Attendance Control Panel',
 		'doc_type': 'Single DocType',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 3,
-		'modified': '2011-06-30 15:51:33',
-		'modified_by': 'Administrator',
-		'name': 'MDI01337',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 3
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:33',
 		'description': 'Leave allocation for selected employees at a time',
 		'display_name': 'Leave Control Panel',
 		'doc_name': 'Leave Control Panel',
 		'doc_type': 'Single DocType',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 4,
-		'modified': '2011-06-30 15:51:33',
-		'modified_by': 'Administrator',
-		'name': 'MDI01338',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 4
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:33',
 		'description': 'Allocate leave for fiscal year',
 		'display_name': 'Leave Allocation',
 		'doc_name': 'Leave Allocation',
 		'doc_type': 'Forms',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
 		'fields': 'employee\nleave_type\nfiscal_year\ntotal_leaves_allocated\nposting_date',
-		'hide': None,
-		'icon': None,
-		'idx': 5,
-		'modified': '2011-06-30 15:51:33',
-		'modified_by': 'Administrator',
-		'name': 'MDI01339',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 5
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:33',
 		'description': 'Apply Leave',
 		'display_name': 'Leave Application',
 		'doc_name': 'Leave Application',
 		'doc_type': 'Forms',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
 		'fields': 'employee\nleave_type\nfiscal_year\nfrom_date\nto_date\ntotal_leave_days',
-		'hide': None,
-		'icon': None,
-		'idx': 6,
-		'modified': '2011-06-30 15:51:33',
-		'modified_by': 'Administrator',
-		'name': 'MDI01340',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 6
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:33',
 		'description': 'Submit Employees Expenses',
 		'display_name': 'Expense Voucher',
 		'doc_name': 'Expense Voucher',
 		'doc_type': 'Forms',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
 		'fields': 'status\nemployee\nemployee_name\nposting_date\ntotal_claimed_amount\ntotal_sanctioned_amount\nexp_approver',
-		'hide': None,
-		'icon': None,
-		'idx': 7,
-		'modified': '2011-06-30 15:51:33',
-		'modified_by': 'Administrator',
-		'name': 'MDI01341',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 7
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:33',
 		'description': 'Assign Responsibilities to employee and evaluate',
 		'display_name': 'Appraisal',
 		'doc_name': 'Appraisal',
 		'doc_type': 'Forms',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
 		'fields': 'status\nemployee\nemployee_name\nstart_date\nend_date\ntotal_score\nkra_approver',
-		'hide': None,
-		'icon': None,
-		'idx': 8,
-		'modified': '2011-06-30 15:51:33',
-		'modified_by': 'Administrator',
-		'name': 'MDI01342',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 8
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:33',
 		'description': 'Generate Salary Structure heads for an employee',
 		'display_name': 'Salary Structure',
 		'doc_name': 'Salary Structure',
 		'doc_type': 'Forms',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
 		'fields': 'employee\nis_active\nfiscal_year\nfrom_date\nctc\ntotal_earning\ntotal_deduction\ntotal',
-		'hide': None,
-		'icon': None,
-		'idx': 9,
-		'modified': '2011-06-30 15:51:33',
-		'modified_by': 'Administrator',
-		'name': 'MDI01343',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 9
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:33',
 		'description': 'Generate Salary Slip for an employee',
 		'display_name': 'Salary Slip',
 		'doc_name': 'Salary Slip',
 		'doc_type': 'Forms',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
 		'fields': 'month\nyear\nemployee\nemployee_name\npayment_days\narrear_amount\nencashment_amount\ngross_pay\ntotal_deduction\nnet_pay',
-		'hide': None,
-		'icon': None,
-		'idx': 10,
-		'modified': '2011-06-30 15:51:33',
-		'modified_by': 'Administrator',
-		'name': 'MDI01344',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 10
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:33',
-		'description': 'Generate Salary Slip for all employee at a time',
-		'display_name': 'Salary Slip Control Panel',
-		'doc_name': 'Salary Slip Control Panel',
+		'description': 'Generate Salary Slip for multiple employee at a time based on selected criteria',
+		'display_name': 'Salary Manager',
+		'doc_name': 'Salary Manager',
 		'doc_type': 'Single DocType',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 11,
-		'modified': '2011-06-30 15:51:33',
-		'modified_by': 'Administrator',
-		'name': 'MDI01345',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 11
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:33',
 		'description': 'Job Applications received for various positions',
 		'display_name': 'Job Application',
 		'doc_name': 'Job Application',
 		'doc_type': 'Forms',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
 		'fields': 'applicant_name\nemail\nposition',
-		'hide': None,
-		'icon': None,
-		'idx': 12,
-		'modified': '2011-06-30 15:51:33',
-		'modified_by': 'Administrator',
-		'name': 'MDI01346',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 12
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:33',
-		'description': None,
 		'display_name': 'Employee Information',
 		'doc_name': 'Employee',
 		'doc_type': 'Reports',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 13,
-		'modified': '2011-06-30 15:51:33',
-		'modified_by': 'Administrator',
-		'name': 'MDI01347',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 13
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:33',
-		'description': None,
 		'display_name': "Employee's Birthday",
 		'doc_name': 'Employee',
 		'doc_type': 'Reports',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 14,
-		'modified': '2011-06-30 15:51:33',
-		'modified_by': 'Administrator',
-		'name': 'MDI01348',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 14
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:33',
-		'description': None,
 		'display_name': 'New or left employees for a month',
 		'doc_name': 'Employee',
 		'doc_type': 'Reports',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 15,
-		'modified': '2011-06-30 15:51:33',
-		'modified_by': 'Administrator',
-		'name': 'MDI01349',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 15
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:33',
-		'description': None,
 		'display_name': 'Monthly Attendance Details',
 		'doc_name': 'Attendance',
 		'doc_type': 'Reports',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 16,
-		'modified': '2011-06-30 15:51:33',
-		'modified_by': 'Administrator',
-		'name': 'MDI01350',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 16
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:33',
-		'description': None,
 		'display_name': 'Leave Application Details',
 		'doc_name': 'Leave Application',
 		'doc_type': 'Reports',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 17,
-		'modified': '2011-06-30 15:51:33',
-		'modified_by': 'Administrator',
-		'name': 'MDI01351',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 17
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:34',
-		'description': None,
 		'display_name': 'Leave Allocation Details',
 		'doc_name': 'Leave Allocation',
 		'doc_type': 'Reports',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 18,
-		'modified': '2011-06-30 15:51:34',
-		'modified_by': 'Administrator',
-		'name': 'MDI01352',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 18
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:34',
-		'description': None,
 		'display_name': 'Employee Leave Balance Report',
 		'doc_name': 'Employee',
 		'doc_type': 'Reports',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 19,
-		'modified': '2011-06-30 15:51:34',
-		'modified_by': 'Administrator',
-		'name': 'MDI01353',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 19
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:34',
-		'description': None,
 		'display_name': 'Salary Structure Details',
 		'doc_name': 'Salary Structure',
 		'doc_type': 'Reports',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 20,
-		'modified': '2011-06-30 15:51:34',
-		'modified_by': 'Administrator',
-		'name': 'MDI01354',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 20
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:34',
-		'description': None,
 		'display_name': 'Salary Register',
 		'doc_name': 'Salary Slip',
 		'doc_type': 'Reports',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 21,
-		'modified': '2011-06-30 15:51:34',
-		'modified_by': 'Administrator',
-		'name': 'MDI01355',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 21
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:34',
-		'description': None,
 		'display_name': 'Salary Slips',
 		'doc_name': 'Salary Slip',
 		'doc_type': 'Reports',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 22,
-		'modified': '2011-06-30 15:51:34',
-		'modified_by': 'Administrator',
-		'name': 'MDI01356',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 22
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:34',
-		'description': None,
 		'display_name': 'Pending Appraisals',
 		'doc_name': 'Appraisal',
 		'doc_type': 'Reports',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 23,
-		'modified': '2011-06-30 15:51:34',
-		'modified_by': 'Administrator',
-		'name': 'MDI01357',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 23
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:34',
-		'description': None,
 		'display_name': 'Employee Appraisals',
 		'doc_name': 'Appraisal',
 		'doc_type': 'Reports',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 24,
-		'modified': '2011-06-30 15:51:34',
-		'modified_by': 'Administrator',
-		'name': 'MDI01358',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 24
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:34',
-		'description': None,
 		'display_name': 'Pending Expense Vouchers',
 		'doc_name': 'Expense Voucher',
 		'doc_type': 'Reports',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 25,
-		'modified': '2011-06-30 15:51:34',
-		'modified_by': 'Administrator',
-		'name': 'MDI01359',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 25
 	},
+
+	# Module Def Item
 	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:34',
-		'description': None,
 		'display_name': 'Expense Vouchers',
 		'doc_name': 'Expense Voucher',
 		'doc_type': 'Reports',
-		'docstatus': 0,
 		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 26,
-		'modified': '2011-06-30 15:51:34',
-		'modified_by': 'Administrator',
-		'name': 'MDI01360',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
+		'idx': 26
 	},
+
+	# Module Def Role
 	{
-		'creation': '2011-06-30 15:51:34',
-		'docstatus': 0,
 		'doctype': 'Module Def Role',
 		'idx': 1,
-		'modified': '2011-06-30 15:51:34',
-		'modified_by': 'Administrator',
-		'name': 'MDR00340',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
 		'role': 'HR Manager'
 	},
+
+	# Module Def Role
 	{
-		'creation': '2011-06-30 15:51:34',
-		'docstatus': 0,
 		'doctype': 'Module Def Role',
 		'idx': 2,
-		'modified': '2011-06-30 15:51:34',
-		'modified_by': 'Administrator',
-		'name': 'MDR00341',
-		'owner': 'Administrator',
-		'parent': 'HR',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
 		'role': 'HR User'
 	}
 ]
\ No newline at end of file
diff --git a/patches/patch.py b/patches/patch.py
index 482a276..92ded48 100644
--- a/patches/patch.py
+++ b/patches/patch.py
@@ -1,7 +1,7 @@
 # REMEMBER to update this
 # ========================
 
-last_patch = 343
+last_patch = 344
 
 #-------------------------------------------
 
@@ -1425,3 +1425,6 @@
 		sql("update `tabDocField` set permlevel = 0 where parent = 'Stock Entry Detail' and fieldname in ('s_warehouse', 't_warehouse', 'fg_item')")
 	elif patch_no == 343:
 		reload_doc('stock','doctype','item_customer_detail')
+	elif patch_no == 344:
+		sql("delete from `tabModule Def Item` where display_name = 'Salary Slip Control Panel' and parent = 'HR'")
+		reload_doc('hr','Module Def','HR')