From 2f77ccce1b999f236697e0cff002beb87c427942 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 13 Apr 2018 20:20:46 +0530 Subject: [PATCH 01/19] New doctypes for HR and Accounting (#13652) --- .../compensatory_leave_request.py | 4 + .../test_compensatory_leave_request.py | 6 +- erpnext/hr/doctype/employee/employee.json | 32 +++ .../employee_benefit_claim.json | 3 - .../__init__.py | 0 .../employee_tax_excemption_category.js | 8 + .../employee_tax_excemption_category.json | 194 ++++++++++++++++++ .../employee_tax_excemption_category.py | 10 + .../test_employee_tax_excemption_category.js | 23 +++ .../test_employee_tax_excemption_category.py | 10 + .../doctype/leave_period/test_leave_period.py | 2 +- 11 files changed, 287 insertions(+), 5 deletions(-) create mode 100644 erpnext/hr/doctype/employee_tax_excemption_category/__init__.py create mode 100644 erpnext/hr/doctype/employee_tax_excemption_category/employee_tax_excemption_category.js create mode 100644 erpnext/hr/doctype/employee_tax_excemption_category/employee_tax_excemption_category.json create mode 100644 erpnext/hr/doctype/employee_tax_excemption_category/employee_tax_excemption_category.py create mode 100644 erpnext/hr/doctype/employee_tax_excemption_category/test_employee_tax_excemption_category.js create mode 100644 erpnext/hr/doctype/employee_tax_excemption_category/test_employee_tax_excemption_category.py diff --git a/erpnext/hr/doctype/compensatory_leave_request/compensatory_leave_request.py b/erpnext/hr/doctype/compensatory_leave_request/compensatory_leave_request.py index 90d482abcd..c211792f00 100644 --- a/erpnext/hr/doctype/compensatory_leave_request/compensatory_leave_request.py +++ b/erpnext/hr/doctype/compensatory_leave_request/compensatory_leave_request.py @@ -7,6 +7,10 @@ import frappe from frappe.model.document import Document class CompensatoryLeaveRequest(Document): +<<<<<<< HEAD def validate_present(self): pass +======= + pass +>>>>>>> New doctypes for HR and Accounting (#13652) diff --git a/erpnext/hr/doctype/compensatory_leave_request/test_compensatory_leave_request.py b/erpnext/hr/doctype/compensatory_leave_request/test_compensatory_leave_request.py index ea73ca987a..edad571700 100644 --- a/erpnext/hr/doctype/compensatory_leave_request/test_compensatory_leave_request.py +++ b/erpnext/hr/doctype/compensatory_leave_request/test_compensatory_leave_request.py @@ -7,6 +7,7 @@ import frappe import unittest class TestCompensatoryLeaveRequest(unittest.TestCase): +<<<<<<< HEAD def get_compensatory_leave_request(self): return frappe.get_doc('Compensatory Leave Request', dict( employee = employee, @@ -38,4 +39,7 @@ class TestCompensatoryLeaveRequest(unittest.TestCase): self.assertRaises(MaxLeavesLimitCrossed, compensatory_leave_request.submit) frappe.db.set_value('Leave Type', compensatory_leave_request.leave_type, 'max_leaves_allowed', 10) - \ No newline at end of file + +======= + pass +>>>>>>> New doctypes for HR and Accounting (#13652) diff --git a/erpnext/hr/doctype/employee/employee.json b/erpnext/hr/doctype/employee/employee.json index 2d76dcf303..0cf6805693 100644 --- a/erpnext/hr/doctype/employee/employee.json +++ b/erpnext/hr/doctype/employee/employee.json @@ -1262,6 +1262,38 @@ "translatable": 0, "unique": 0 }, + { + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "default_leave_policy", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Default Leave policy", + "length": 0, + "no_copy": 0, + "options": "Leave Policy", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, + "unique": 0 + }, { "allow_bulk_edit": 0, "allow_on_submit": 0, diff --git a/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.json b/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.json index 5e2b34b7d7..b358247376 100644 --- a/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.json +++ b/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.json @@ -457,7 +457,4 @@ "show_name_in_global_search": 0, "sort_field": "modified", "sort_order": "DESC", - "title_field": "employee_name", "track_changes": 1, - "track_seen": 0 -} \ No newline at end of file diff --git a/erpnext/hr/doctype/employee_tax_excemption_category/__init__.py b/erpnext/hr/doctype/employee_tax_excemption_category/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/erpnext/hr/doctype/employee_tax_excemption_category/employee_tax_excemption_category.js b/erpnext/hr/doctype/employee_tax_excemption_category/employee_tax_excemption_category.js new file mode 100644 index 0000000000..2c4377cdbd --- /dev/null +++ b/erpnext/hr/doctype/employee_tax_excemption_category/employee_tax_excemption_category.js @@ -0,0 +1,8 @@ +// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors +// For license information, please see license.txt + +frappe.ui.form.on('Employee Tax Excemption Category', { + refresh: function(frm) { + + } +}); diff --git a/erpnext/hr/doctype/employee_tax_excemption_category/employee_tax_excemption_category.json b/erpnext/hr/doctype/employee_tax_excemption_category/employee_tax_excemption_category.json new file mode 100644 index 0000000000..e49e780ffa --- /dev/null +++ b/erpnext/hr/doctype/employee_tax_excemption_category/employee_tax_excemption_category.json @@ -0,0 +1,194 @@ +{ + "allow_copy": 0, + "allow_guest_to_view": 0, + "allow_import": 1, + "allow_rename": 1, + "autoname": "Prompt", + "beta": 0, + "creation": "2018-04-13 16:51:36.971140", + "custom": 0, + "docstatus": 0, + "doctype": "DocType", + "document_type": "", + "editable_grid": 1, + "engine": "InnoDB", + "fields": [ + { + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "deduction_component", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Deduction Component", + "length": 0, + "no_copy": 0, + "options": "Salary Component", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, + "unique": 0 + }, + { + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "max_amount", + "fieldtype": "Currency", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Max Amount", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, + "unique": 0 + }, + { + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "is_active", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Is Active", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, + "unique": 0 + } + ], + "has_web_view": 0, + "hide_heading": 0, + "hide_toolbar": 0, + "idx": 0, + "image_view": 0, + "in_create": 0, + "is_submittable": 0, + "issingle": 0, + "istable": 0, + "max_attachments": 0, + "modified": "2018-04-13 16:52:11.640756", + "modified_by": "Administrator", + "module": "HR", + "name": "Employee Tax Excemption Category", + "name_case": "", + "owner": "Administrator", + "permissions": [ + { + "amend": 0, + "cancel": 0, + "create": 1, + "delete": 1, + "email": 1, + "export": 1, + "if_owner": 0, + "import": 0, + "permlevel": 0, + "print": 1, + "read": 1, + "report": 1, + "role": "System Manager", + "set_user_permissions": 0, + "share": 1, + "submit": 0, + "write": 1 + }, + { + "amend": 0, + "cancel": 0, + "create": 1, + "delete": 1, + "email": 1, + "export": 1, + "if_owner": 0, + "import": 0, + "permlevel": 0, + "print": 1, + "read": 1, + "report": 1, + "role": "HR Manager", + "set_user_permissions": 0, + "share": 1, + "submit": 0, + "write": 1 + }, + { + "amend": 0, + "cancel": 0, + "create": 1, + "delete": 1, + "email": 1, + "export": 1, + "if_owner": 0, + "import": 0, + "permlevel": 0, + "print": 1, + "read": 1, + "report": 1, + "role": "HR User", + "set_user_permissions": 0, + "share": 1, + "submit": 0, + "write": 1 + } + ], + "quick_entry": 1, + "read_only": 0, + "read_only_onload": 0, + "show_name_in_global_search": 0, + "sort_field": "modified", + "sort_order": "DESC", + "track_changes": 1, + "track_seen": 0 +} \ No newline at end of file diff --git a/erpnext/hr/doctype/employee_tax_excemption_category/employee_tax_excemption_category.py b/erpnext/hr/doctype/employee_tax_excemption_category/employee_tax_excemption_category.py new file mode 100644 index 0000000000..1586bf136c --- /dev/null +++ b/erpnext/hr/doctype/employee_tax_excemption_category/employee_tax_excemption_category.py @@ -0,0 +1,10 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors +# For license information, please see license.txt + +from __future__ import unicode_literals +import frappe +from frappe.model.document import Document + +class EmployeeTaxExcemptionCategory(Document): + pass diff --git a/erpnext/hr/doctype/employee_tax_excemption_category/test_employee_tax_excemption_category.js b/erpnext/hr/doctype/employee_tax_excemption_category/test_employee_tax_excemption_category.js new file mode 100644 index 0000000000..3872438079 --- /dev/null +++ b/erpnext/hr/doctype/employee_tax_excemption_category/test_employee_tax_excemption_category.js @@ -0,0 +1,23 @@ +/* eslint-disable */ +// rename this file from _test_[name] to test_[name] to activate +// and remove above this line + +QUnit.test("test: Employee Tax Excemption Category", function (assert) { + let done = assert.async(); + + // number of asserts + assert.expect(1); + + frappe.run_serially([ + // insert a new Employee Tax Excemption Category + () => frappe.tests.make('Employee Tax Excemption Category', [ + // values to be set + {key: 'value'} + ]), + () => { + assert.equal(cur_frm.doc.key, 'value'); + }, + () => done() + ]); + +}); diff --git a/erpnext/hr/doctype/employee_tax_excemption_category/test_employee_tax_excemption_category.py b/erpnext/hr/doctype/employee_tax_excemption_category/test_employee_tax_excemption_category.py new file mode 100644 index 0000000000..7438f6464c --- /dev/null +++ b/erpnext/hr/doctype/employee_tax_excemption_category/test_employee_tax_excemption_category.py @@ -0,0 +1,10 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors +# See license.txt +from __future__ import unicode_literals + +import frappe +import unittest + +class TestEmployeeTaxExcemptionCategory(unittest.TestCase): + pass diff --git a/erpnext/hr/doctype/leave_period/test_leave_period.py b/erpnext/hr/doctype/leave_period/test_leave_period.py index 381fbb234d..11d4ec5cac 100644 --- a/erpnext/hr/doctype/leave_period/test_leave_period.py +++ b/erpnext/hr/doctype/leave_period/test_leave_period.py @@ -28,4 +28,4 @@ class TestLeavePeriod(unittest.TestCase): def test_duplicate_grant(self): leave_period = self.test_leave_grant() self.assertRaises(DuplicateLeaveGrant, leave_period.grant_leaves) - \ No newline at end of file + From 24e8f31be138a1cb226e8592a222c314b914ed91 Mon Sep 17 00:00:00 2001 From: Shreya Shah Date: Sat, 14 Apr 2018 12:33:01 +0530 Subject: [PATCH 02/19] [Enterprise] Patch and child table changes (#13656) * [patch] rename field * Employee Property History child table * remove child tables --- .../doctype/employee_promotion/employee_promotion.json | 2 +- ...ty_history.py => employee_property_history.py~HEAD} | 0 ...[Enterprise] Patch and child table changes (#13656) | 10 ++++++++++ .../doctype/employee_transfer/employee_transfer.json | 2 +- erpnext/hr/doctype/leave_type/leave_type.json | 2 +- 5 files changed, 13 insertions(+), 3 deletions(-) rename erpnext/hr/doctype/employee_property_history/{employee_property_history.py => employee_property_history.py~HEAD} (100%) create mode 100644 erpnext/hr/doctype/employee_property_history/employee_property_history.py~[Enterprise] Patch and child table changes (#13656) diff --git a/erpnext/hr/doctype/employee_promotion/employee_promotion.json b/erpnext/hr/doctype/employee_promotion/employee_promotion.json index a7d49bcad3..845eaf9890 100644 --- a/erpnext/hr/doctype/employee_promotion/employee_promotion.json +++ b/erpnext/hr/doctype/employee_promotion/employee_promotion.json @@ -189,7 +189,7 @@ "label": "Employee Promotion Detail", "length": 0, "no_copy": 0, - "options": "Employee Promotion Detail", + "options": "Employee Property History", "permlevel": 0, "precision": "", "print_hide": 0, diff --git a/erpnext/hr/doctype/employee_property_history/employee_property_history.py b/erpnext/hr/doctype/employee_property_history/employee_property_history.py~HEAD similarity index 100% rename from erpnext/hr/doctype/employee_property_history/employee_property_history.py rename to erpnext/hr/doctype/employee_property_history/employee_property_history.py~HEAD diff --git a/erpnext/hr/doctype/employee_property_history/employee_property_history.py~[Enterprise] Patch and child table changes (#13656) b/erpnext/hr/doctype/employee_property_history/employee_property_history.py~[Enterprise] Patch and child table changes (#13656) new file mode 100644 index 0000000000..fb67852d16 --- /dev/null +++ b/erpnext/hr/doctype/employee_property_history/employee_property_history.py~[Enterprise] Patch and child table changes (#13656) @@ -0,0 +1,10 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors +# For license information, please see license.txt + +from __future__ import unicode_literals +import frappe +from frappe.model.document import Document + +class EmployeePropertyHistory(Document): + pass diff --git a/erpnext/hr/doctype/employee_transfer/employee_transfer.json b/erpnext/hr/doctype/employee_transfer/employee_transfer.json index 55fa073fa2..6b8d403159 100644 --- a/erpnext/hr/doctype/employee_transfer/employee_transfer.json +++ b/erpnext/hr/doctype/employee_transfer/employee_transfer.json @@ -221,7 +221,7 @@ "label": "Employee Transfer Detail", "length": 0, "no_copy": 0, - "options": "Employee Transfer Detail", + "options": "Employee Property History", "permlevel": 0, "precision": "", "print_hide": 0, diff --git a/erpnext/hr/doctype/leave_type/leave_type.json b/erpnext/hr/doctype/leave_type/leave_type.json index 1d1aef2045..02f585d68e 100644 --- a/erpnext/hr/doctype/leave_type/leave_type.json +++ b/erpnext/hr/doctype/leave_type/leave_type.json @@ -113,7 +113,7 @@ "bold": 0, "collapsible": 0, "columns": 0, - "fieldname": "max_days_allowed", + "fieldname": "max_continuous_days_allowed", "fieldtype": "Int", "hidden": 0, "ignore_user_permissions": 0, From 501a64becda0f29f719a27c15d41e240bfa4237e Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Sat, 14 Apr 2018 12:38:55 +0530 Subject: [PATCH 03/19] Added links in HR module --- erpnext/config/hr.py | 4 + ...late_activity.py~Added links in HR module} | 0 ...fecycle_process_template_activity.py~HEAD} | 2 +- .../__init__.py | 0 .../employee_tax_excemption_category.js | 8 - .../employee_tax_excemption_category.json | 194 ------------------ .../test_employee_tax_excemption_category.js | 23 --- .../test_employee_tax_excemption_category.py | 10 - 8 files changed, 5 insertions(+), 236 deletions(-) rename erpnext/hr/doctype/employee_lifecycle_process_template_activity/{employee_lifecycle_process_template_activity.py => employee_lifecycle_process_template_activity.py~Added links in HR module} (100%) rename erpnext/hr/doctype/{employee_tax_excemption_category/employee_tax_excemption_category.py => employee_lifecycle_process_template_activity/employee_lifecycle_process_template_activity.py~HEAD} (81%) delete mode 100644 erpnext/hr/doctype/employee_tax_excemption_category/__init__.py delete mode 100644 erpnext/hr/doctype/employee_tax_excemption_category/employee_tax_excemption_category.js delete mode 100644 erpnext/hr/doctype/employee_tax_excemption_category/employee_tax_excemption_category.json delete mode 100644 erpnext/hr/doctype/employee_tax_excemption_category/test_employee_tax_excemption_category.js delete mode 100644 erpnext/hr/doctype/employee_tax_excemption_category/test_employee_tax_excemption_category.py diff --git a/erpnext/config/hr.py b/erpnext/config/hr.py index fb00529c16..9ac48db388 100644 --- a/erpnext/config/hr.py +++ b/erpnext/config/hr.py @@ -23,6 +23,10 @@ def get_data(): "type": "doctype", "name": "Attendance Request", }, + { + "type": "doctype", + "name": "Attendance Request", + }, { "type": "doctype", "name": "Upload Attendance", diff --git a/erpnext/hr/doctype/employee_lifecycle_process_template_activity/employee_lifecycle_process_template_activity.py b/erpnext/hr/doctype/employee_lifecycle_process_template_activity/employee_lifecycle_process_template_activity.py~Added links in HR module similarity index 100% rename from erpnext/hr/doctype/employee_lifecycle_process_template_activity/employee_lifecycle_process_template_activity.py rename to erpnext/hr/doctype/employee_lifecycle_process_template_activity/employee_lifecycle_process_template_activity.py~Added links in HR module diff --git a/erpnext/hr/doctype/employee_tax_excemption_category/employee_tax_excemption_category.py b/erpnext/hr/doctype/employee_lifecycle_process_template_activity/employee_lifecycle_process_template_activity.py~HEAD similarity index 81% rename from erpnext/hr/doctype/employee_tax_excemption_category/employee_tax_excemption_category.py rename to erpnext/hr/doctype/employee_lifecycle_process_template_activity/employee_lifecycle_process_template_activity.py~HEAD index 1586bf136c..eeea2366b1 100644 --- a/erpnext/hr/doctype/employee_tax_excemption_category/employee_tax_excemption_category.py +++ b/erpnext/hr/doctype/employee_lifecycle_process_template_activity/employee_lifecycle_process_template_activity.py~HEAD @@ -6,5 +6,5 @@ from __future__ import unicode_literals import frappe from frappe.model.document import Document -class EmployeeTaxExcemptionCategory(Document): +class EmployeeLifecycleProcessTemplateActivity(Document): pass diff --git a/erpnext/hr/doctype/employee_tax_excemption_category/__init__.py b/erpnext/hr/doctype/employee_tax_excemption_category/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/erpnext/hr/doctype/employee_tax_excemption_category/employee_tax_excemption_category.js b/erpnext/hr/doctype/employee_tax_excemption_category/employee_tax_excemption_category.js deleted file mode 100644 index 2c4377cdbd..0000000000 --- a/erpnext/hr/doctype/employee_tax_excemption_category/employee_tax_excemption_category.js +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors -// For license information, please see license.txt - -frappe.ui.form.on('Employee Tax Excemption Category', { - refresh: function(frm) { - - } -}); diff --git a/erpnext/hr/doctype/employee_tax_excemption_category/employee_tax_excemption_category.json b/erpnext/hr/doctype/employee_tax_excemption_category/employee_tax_excemption_category.json deleted file mode 100644 index e49e780ffa..0000000000 --- a/erpnext/hr/doctype/employee_tax_excemption_category/employee_tax_excemption_category.json +++ /dev/null @@ -1,194 +0,0 @@ -{ - "allow_copy": 0, - "allow_guest_to_view": 0, - "allow_import": 1, - "allow_rename": 1, - "autoname": "Prompt", - "beta": 0, - "creation": "2018-04-13 16:51:36.971140", - "custom": 0, - "docstatus": 0, - "doctype": "DocType", - "document_type": "", - "editable_grid": 1, - "engine": "InnoDB", - "fields": [ - { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "deduction_component", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Deduction Component", - "length": 0, - "no_copy": 0, - "options": "Salary Component", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, - "unique": 0 - }, - { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "max_amount", - "fieldtype": "Currency", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Max Amount", - "length": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, - "unique": 0 - }, - { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "is_active", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Is Active", - "length": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, - "unique": 0 - } - ], - "has_web_view": 0, - "hide_heading": 0, - "hide_toolbar": 0, - "idx": 0, - "image_view": 0, - "in_create": 0, - "is_submittable": 0, - "issingle": 0, - "istable": 0, - "max_attachments": 0, - "modified": "2018-04-13 16:52:11.640756", - "modified_by": "Administrator", - "module": "HR", - "name": "Employee Tax Excemption Category", - "name_case": "", - "owner": "Administrator", - "permissions": [ - { - "amend": 0, - "cancel": 0, - "create": 1, - "delete": 1, - "email": 1, - "export": 1, - "if_owner": 0, - "import": 0, - "permlevel": 0, - "print": 1, - "read": 1, - "report": 1, - "role": "System Manager", - "set_user_permissions": 0, - "share": 1, - "submit": 0, - "write": 1 - }, - { - "amend": 0, - "cancel": 0, - "create": 1, - "delete": 1, - "email": 1, - "export": 1, - "if_owner": 0, - "import": 0, - "permlevel": 0, - "print": 1, - "read": 1, - "report": 1, - "role": "HR Manager", - "set_user_permissions": 0, - "share": 1, - "submit": 0, - "write": 1 - }, - { - "amend": 0, - "cancel": 0, - "create": 1, - "delete": 1, - "email": 1, - "export": 1, - "if_owner": 0, - "import": 0, - "permlevel": 0, - "print": 1, - "read": 1, - "report": 1, - "role": "HR User", - "set_user_permissions": 0, - "share": 1, - "submit": 0, - "write": 1 - } - ], - "quick_entry": 1, - "read_only": 0, - "read_only_onload": 0, - "show_name_in_global_search": 0, - "sort_field": "modified", - "sort_order": "DESC", - "track_changes": 1, - "track_seen": 0 -} \ No newline at end of file diff --git a/erpnext/hr/doctype/employee_tax_excemption_category/test_employee_tax_excemption_category.js b/erpnext/hr/doctype/employee_tax_excemption_category/test_employee_tax_excemption_category.js deleted file mode 100644 index 3872438079..0000000000 --- a/erpnext/hr/doctype/employee_tax_excemption_category/test_employee_tax_excemption_category.js +++ /dev/null @@ -1,23 +0,0 @@ -/* eslint-disable */ -// rename this file from _test_[name] to test_[name] to activate -// and remove above this line - -QUnit.test("test: Employee Tax Excemption Category", function (assert) { - let done = assert.async(); - - // number of asserts - assert.expect(1); - - frappe.run_serially([ - // insert a new Employee Tax Excemption Category - () => frappe.tests.make('Employee Tax Excemption Category', [ - // values to be set - {key: 'value'} - ]), - () => { - assert.equal(cur_frm.doc.key, 'value'); - }, - () => done() - ]); - -}); diff --git a/erpnext/hr/doctype/employee_tax_excemption_category/test_employee_tax_excemption_category.py b/erpnext/hr/doctype/employee_tax_excemption_category/test_employee_tax_excemption_category.py deleted file mode 100644 index 7438f6464c..0000000000 --- a/erpnext/hr/doctype/employee_tax_excemption_category/test_employee_tax_excemption_category.py +++ /dev/null @@ -1,10 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors -# See license.txt -from __future__ import unicode_literals - -import frappe -import unittest - -class TestEmployeeTaxExcemptionCategory(unittest.TestCase): - pass From e9ad03e23e49f22d818b3d7fcc639f58966459dc Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Sat, 14 Apr 2018 12:54:51 +0530 Subject: [PATCH 04/19] Documents order in hr page --- erpnext/config/hr.py | 46 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/erpnext/config/hr.py b/erpnext/config/hr.py index 9ac48db388..cdb7180756 100644 --- a/erpnext/config/hr.py +++ b/erpnext/config/hr.py @@ -232,6 +232,52 @@ def get_data(): }, ] }, + { + "label": _("Employee Lifecycle"), + "items": [ + { + "type": "doctype", + "name": "Employee Transfer", + }, + { + "type": "doctype", + "name": "Employee Promotion", + }, + { + "type": "doctype", + "name": "Employee Lifecycle Activity", + }, + { + "type": "doctype", + "name": "Employee Lifecycle Activity Type", + }, + { + "type": "doctype", + "name": "Employee Lifecycle Process Template", + }, + { + "type": "doctype", + "name": "Employee Lifecycle Process", + } + ] + }, + { + "label": _("Recruitment"), + "items": [ + { + "type": "doctype", + "name": "Job Applicant", + }, + { + "type": "doctype", + "name": "Job Opening", + }, + { + "type": "doctype", + "name": "Job Offer", + }, + ] + }, { "label": _("Training"), "items": [ From 43274de5df456a760b5a0137fa4669eba2d2eb5e Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Sat, 14 Apr 2018 17:04:56 +0530 Subject: [PATCH 05/19] Removed employee table from Salary Structure and added employee name in all forms --- .../compensatory_leave_request.py | 6 +----- .../test_compensatory_leave_request.py | 6 +----- erpnext/hr/doctype/employee/employee.json | 8 ++++++-- .../employee_benefit_claim/employee_benefit_claim.json | 1 + .../hr/doctype/employee_promotion/employee_promotion.json | 2 +- .../hr/doctype/employee_transfer/employee_transfer.json | 2 +- erpnext/hr/doctype/leave_period/test_leave_period.py | 2 +- erpnext/hr/doctype/leave_type/leave_type.json | 2 +- erpnext/hr/doctype/shift_assignment/shift_assignment.json | 4 ++++ .../patches/v11_0/create_salary_structure_assignments.py | 6 ++++++ 10 files changed, 23 insertions(+), 16 deletions(-) diff --git a/erpnext/hr/doctype/compensatory_leave_request/compensatory_leave_request.py b/erpnext/hr/doctype/compensatory_leave_request/compensatory_leave_request.py index c211792f00..b51b46c80f 100644 --- a/erpnext/hr/doctype/compensatory_leave_request/compensatory_leave_request.py +++ b/erpnext/hr/doctype/compensatory_leave_request/compensatory_leave_request.py @@ -7,10 +7,6 @@ import frappe from frappe.model.document import Document class CompensatoryLeaveRequest(Document): -<<<<<<< HEAD + def validate_present(self): pass - -======= - pass ->>>>>>> New doctypes for HR and Accounting (#13652) diff --git a/erpnext/hr/doctype/compensatory_leave_request/test_compensatory_leave_request.py b/erpnext/hr/doctype/compensatory_leave_request/test_compensatory_leave_request.py index edad571700..f062325f5f 100644 --- a/erpnext/hr/doctype/compensatory_leave_request/test_compensatory_leave_request.py +++ b/erpnext/hr/doctype/compensatory_leave_request/test_compensatory_leave_request.py @@ -7,7 +7,6 @@ import frappe import unittest class TestCompensatoryLeaveRequest(unittest.TestCase): -<<<<<<< HEAD def get_compensatory_leave_request(self): return frappe.get_doc('Compensatory Leave Request', dict( employee = employee, @@ -39,7 +38,4 @@ class TestCompensatoryLeaveRequest(unittest.TestCase): self.assertRaises(MaxLeavesLimitCrossed, compensatory_leave_request.submit) frappe.db.set_value('Leave Type', compensatory_leave_request.leave_type, 'max_leaves_allowed', 10) - -======= - pass ->>>>>>> New doctypes for HR and Accounting (#13652) + diff --git a/erpnext/hr/doctype/employee/employee.json b/erpnext/hr/doctype/employee/employee.json index 0cf6805693..ecbb29f46b 100644 --- a/erpnext/hr/doctype/employee/employee.json +++ b/erpnext/hr/doctype/employee/employee.json @@ -1268,7 +1268,7 @@ "bold": 0, "collapsible": 0, "columns": 0, - "fieldname": "default_leave_policy", + "fieldname": "leave_policy", "fieldtype": "Link", "hidden": 0, "ignore_user_permissions": 0, @@ -1277,7 +1277,7 @@ "in_global_search": 0, "in_list_view": 0, "in_standard_filter": 0, - "label": "Default Leave policy", + "label": "Leave Policy", "length": 0, "no_copy": 0, "options": "Leave Policy", @@ -2766,7 +2766,11 @@ "issingle": 0, "istable": 0, "max_attachments": 0, +<<<<<<< HEAD "modified": "2018-04-25 09:08:06.852604", +======= + "modified": "2018-04-14 13:30:43.761434", +>>>>>>> Removed employee table from Salary Structure and added employee name in all forms "modified_by": "Administrator", "module": "HR", "name": "Employee", diff --git a/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.json b/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.json index b358247376..fed15edf84 100644 --- a/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.json +++ b/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.json @@ -457,4 +457,5 @@ "show_name_in_global_search": 0, "sort_field": "modified", "sort_order": "DESC", + "title_field": "employee_name", "track_changes": 1, diff --git a/erpnext/hr/doctype/employee_promotion/employee_promotion.json b/erpnext/hr/doctype/employee_promotion/employee_promotion.json index 845eaf9890..a7d49bcad3 100644 --- a/erpnext/hr/doctype/employee_promotion/employee_promotion.json +++ b/erpnext/hr/doctype/employee_promotion/employee_promotion.json @@ -189,7 +189,7 @@ "label": "Employee Promotion Detail", "length": 0, "no_copy": 0, - "options": "Employee Property History", + "options": "Employee Promotion Detail", "permlevel": 0, "precision": "", "print_hide": 0, diff --git a/erpnext/hr/doctype/employee_transfer/employee_transfer.json b/erpnext/hr/doctype/employee_transfer/employee_transfer.json index 6b8d403159..55fa073fa2 100644 --- a/erpnext/hr/doctype/employee_transfer/employee_transfer.json +++ b/erpnext/hr/doctype/employee_transfer/employee_transfer.json @@ -221,7 +221,7 @@ "label": "Employee Transfer Detail", "length": 0, "no_copy": 0, - "options": "Employee Property History", + "options": "Employee Transfer Detail", "permlevel": 0, "precision": "", "print_hide": 0, diff --git a/erpnext/hr/doctype/leave_period/test_leave_period.py b/erpnext/hr/doctype/leave_period/test_leave_period.py index 11d4ec5cac..dcf6293f11 100644 --- a/erpnext/hr/doctype/leave_period/test_leave_period.py +++ b/erpnext/hr/doctype/leave_period/test_leave_period.py @@ -28,4 +28,4 @@ class TestLeavePeriod(unittest.TestCase): def test_duplicate_grant(self): leave_period = self.test_leave_grant() self.assertRaises(DuplicateLeaveGrant, leave_period.grant_leaves) - + diff --git a/erpnext/hr/doctype/leave_type/leave_type.json b/erpnext/hr/doctype/leave_type/leave_type.json index 02f585d68e..1d1aef2045 100644 --- a/erpnext/hr/doctype/leave_type/leave_type.json +++ b/erpnext/hr/doctype/leave_type/leave_type.json @@ -113,7 +113,7 @@ "bold": 0, "collapsible": 0, "columns": 0, - "fieldname": "max_continuous_days_allowed", + "fieldname": "max_days_allowed", "fieldtype": "Int", "hidden": 0, "ignore_user_permissions": 0, diff --git a/erpnext/hr/doctype/shift_assignment/shift_assignment.json b/erpnext/hr/doctype/shift_assignment/shift_assignment.json index 897cfed68a..86c1708f5f 100644 --- a/erpnext/hr/doctype/shift_assignment/shift_assignment.json +++ b/erpnext/hr/doctype/shift_assignment/shift_assignment.json @@ -307,7 +307,11 @@ "issingle": 0, "istable": 0, "max_attachments": 0, +<<<<<<< HEAD "modified": "2018-04-17 14:50:09.125737", +======= + "modified": "2018-04-14 15:42:12.617715", +>>>>>>> Removed employee table from Salary Structure and added employee name in all forms "modified_by": "Administrator", "module": "HR", "name": "Shift Assignment", diff --git a/erpnext/patches/v11_0/create_salary_structure_assignments.py b/erpnext/patches/v11_0/create_salary_structure_assignments.py index 289554ee1a..cf7646bcf5 100644 --- a/erpnext/patches/v11_0/create_salary_structure_assignments.py +++ b/erpnext/patches/v11_0/create_salary_structure_assignments.py @@ -7,8 +7,14 @@ import frappe def execute(): frappe.reload_doc("hr", "doctype", "salary_structure_assignment") for d in frappe.db.sql(""" +<<<<<<< HEAD select sse.*, ss.company from `tabSalary Structure Employee` sse, `tabSalary Structure` ss where ss.name = sse.parent""", as_dict=1): +======= + select * from `tabSalary Structure Employee` sse, `tabSalary Structure` ss + where ss.name = sse.parent""", as_dict=1): + +>>>>>>> Removed employee table from Salary Structure and added employee name in all forms s = frappe.new_doc("Salary Structure Assignment") s.employee = d.employee s.employee_name = d.employee_name From d2861df9394c0c5de41bd76686c424df658c8dff Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Sun, 15 Apr 2018 15:03:54 +0530 Subject: [PATCH 06/19] Renamed Health Insurance to Employee Health Insurance --- erpnext/hr/doctype/employee/employee.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/erpnext/hr/doctype/employee/employee.json b/erpnext/hr/doctype/employee/employee.json index ecbb29f46b..ef2c75dc83 100644 --- a/erpnext/hr/doctype/employee/employee.json +++ b/erpnext/hr/doctype/employee/employee.json @@ -2766,11 +2766,7 @@ "issingle": 0, "istable": 0, "max_attachments": 0, -<<<<<<< HEAD "modified": "2018-04-25 09:08:06.852604", -======= - "modified": "2018-04-14 13:30:43.761434", ->>>>>>> Removed employee table from Salary Structure and added employee name in all forms "modified_by": "Administrator", "module": "HR", "name": "Employee", From 7946ca216e69568d4dfc01dd79dd0668643841a2 Mon Sep 17 00:00:00 2001 From: Shreya Date: Fri, 20 Apr 2018 13:58:56 +0530 Subject: [PATCH 07/19] Internal Customer check in Customer --- .../selling/doctype/customer/customer.json | 187 +++++++++++++++++- 1 file changed, 177 insertions(+), 10 deletions(-) diff --git a/erpnext/selling/doctype/customer/customer.json b/erpnext/selling/doctype/customer/customer.json index d43de100cf..e38f6b3e02 100644 --- a/erpnext/selling/doctype/customer/customer.json +++ b/erpnext/selling/doctype/customer/customer.json @@ -43,6 +43,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -73,6 +74,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 1, + "translatable": 0, "unique": 0 }, { @@ -105,6 +107,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -136,6 +139,7 @@ "reqd": 1, "search_index": 1, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -168,6 +172,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -201,6 +206,7 @@ "reqd": 1, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -233,6 +239,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -263,6 +270,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -291,6 +299,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0, "width": "50%" }, @@ -325,6 +334,7 @@ "reqd": 1, "search_index": 1, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -358,6 +368,7 @@ "reqd": 1, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -388,6 +399,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -419,6 +431,137 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, + "unique": 0 + }, + { + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "default": "0", + "fieldname": "is_internal_customer", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Is Internal Customer", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, + "unique": 0 + }, + { + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "depends_on": "is_internal_customer", + "fieldname": "represents_company", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Represents Company", + "length": 0, + "no_copy": 0, + "options": "Company", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 1, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, + "unique": 1 + }, + { + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "depends_on": "represents_company", + "fieldname": "allowed_to_transact_section", + "fieldtype": "Section Break", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Allowed To Transact With", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, + "unique": 0 + }, + { + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "depends_on": "represents_company", + "fieldname": "companies", + "fieldtype": "Table", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Allowed To Transact With", + "length": 0, + "no_copy": 0, + "options": "Allowed To Transact With", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -449,6 +592,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -479,6 +623,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -509,6 +654,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -538,6 +684,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -569,6 +716,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -600,6 +748,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -629,6 +778,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -658,6 +808,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -686,6 +837,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0, "width": "50%" }, @@ -717,6 +869,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -748,6 +901,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -780,6 +934,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -811,6 +966,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -842,6 +998,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -871,6 +1028,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -903,6 +1061,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -935,6 +1094,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -965,6 +1125,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -997,6 +1158,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1027,6 +1189,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0, "width": "" }, @@ -1060,6 +1223,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1091,6 +1255,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1120,6 +1285,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1152,6 +1318,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1184,6 +1351,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1216,6 +1384,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1246,6 +1415,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1278,6 +1448,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1310,6 +1481,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1341,6 +1513,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1372,6 +1545,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1404,6 +1578,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1434,6 +1609,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 } ], @@ -1449,7 +1625,7 @@ "issingle": 0, "istable": 0, "max_attachments": 0, - "modified": "2018-02-09 10:44:35.801716", + "modified": "2018-04-19 12:19:35.311509", "modified_by": "Administrator", "module": "Selling", "name": "Customer", @@ -1458,7 +1634,6 @@ "permissions": [ { "amend": 0, - "apply_user_permissions": 0, "cancel": 0, "create": 1, "delete": 0, @@ -1478,7 +1653,6 @@ }, { "amend": 0, - "apply_user_permissions": 0, "cancel": 0, "create": 0, "delete": 0, @@ -1498,7 +1672,6 @@ }, { "amend": 0, - "apply_user_permissions": 0, "cancel": 0, "create": 0, "delete": 0, @@ -1518,7 +1691,6 @@ }, { "amend": 0, - "apply_user_permissions": 0, "cancel": 0, "create": 1, "delete": 1, @@ -1538,7 +1710,6 @@ }, { "amend": 0, - "apply_user_permissions": 0, "cancel": 0, "create": 0, "delete": 0, @@ -1558,7 +1729,6 @@ }, { "amend": 0, - "apply_user_permissions": 0, "cancel": 0, "create": 0, "delete": 0, @@ -1578,7 +1748,6 @@ }, { "amend": 0, - "apply_user_permissions": 0, "cancel": 0, "create": 0, "delete": 0, @@ -1598,7 +1767,6 @@ }, { "amend": 0, - "apply_user_permissions": 0, "cancel": 0, "create": 0, "delete": 0, @@ -1618,7 +1786,6 @@ }, { "amend": 0, - "apply_user_permissions": 0, "cancel": 0, "create": 0, "delete": 0, From 59512aaaaa30fd62313e039538e42d037fa4cb19 Mon Sep 17 00:00:00 2001 From: Shreya Date: Fri, 20 Apr 2018 13:59:35 +0530 Subject: [PATCH 08/19] Internal Supplier check in Supplier --- erpnext/buying/doctype/supplier/supplier.json | 132 +++++++++++++++++- 1 file changed, 131 insertions(+), 1 deletion(-) diff --git a/erpnext/buying/doctype/supplier/supplier.json b/erpnext/buying/doctype/supplier/supplier.json index e64dcb7d12..afb8899dcb 100644 --- a/erpnext/buying/doctype/supplier/supplier.json +++ b/erpnext/buying/doctype/supplier/supplier.json @@ -174,6 +174,71 @@ "translatable": 0, "unique": 0 }, + { + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "default": "0", + "fieldname": "is_internal_supplier", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Is Internal Supplier", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, + "unique": 0 + }, + { + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "depends_on": "is_internal_supplier", + "fieldname": "represents_company", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Represents Company", + "length": 0, + "no_copy": 0, + "options": "Company", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 1, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, + "unique": 1 + }, { "allow_bulk_edit": 0, "allow_on_submit": 0, @@ -456,6 +521,71 @@ "translatable": 0, "unique": 0 }, + { + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "depends_on": "represents_company", + "fieldname": "allowed_to_transact_section", + "fieldtype": "Section Break", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Allowed To Transact With", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, + "unique": 0 + }, + { + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "depends_on": "represents_company", + "fieldname": "companies", + "fieldtype": "Table", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Allowed To Transact With", + "length": 0, + "no_copy": 0, + "options": "Allowed To Transact With", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, + "unique": 0 + }, { "allow_bulk_edit": 0, "allow_on_submit": 0, @@ -1033,7 +1163,7 @@ "issingle": 0, "istable": 0, "max_attachments": 0, - "modified": "2018-04-13 18:45:44.023746", + "modified": "2018-04-19 12:19:52.519026", "modified_by": "Administrator", "module": "Buying", "name": "Supplier", From 462e18ad2ef86a92c08f07a86ac34d4196acdf08 Mon Sep 17 00:00:00 2001 From: Shreya Date: Fri, 20 Apr 2018 14:01:30 +0530 Subject: [PATCH 09/19] Allowed To Transact With child table in Customer & Supplier --- .../allowed_to_transact_with/__init__.py | 0 .../allowed_to_transact_with.json | 74 +++++++++++++++++++ .../allowed_to_transact_with.py | 10 +++ 3 files changed, 84 insertions(+) create mode 100644 erpnext/accounts/doctype/allowed_to_transact_with/__init__.py create mode 100644 erpnext/accounts/doctype/allowed_to_transact_with/allowed_to_transact_with.json create mode 100644 erpnext/accounts/doctype/allowed_to_transact_with/allowed_to_transact_with.py diff --git a/erpnext/accounts/doctype/allowed_to_transact_with/__init__.py b/erpnext/accounts/doctype/allowed_to_transact_with/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/erpnext/accounts/doctype/allowed_to_transact_with/allowed_to_transact_with.json b/erpnext/accounts/doctype/allowed_to_transact_with/allowed_to_transact_with.json new file mode 100644 index 0000000000..f85bc52713 --- /dev/null +++ b/erpnext/accounts/doctype/allowed_to_transact_with/allowed_to_transact_with.json @@ -0,0 +1,74 @@ +{ + "allow_copy": 0, + "allow_guest_to_view": 0, + "allow_import": 0, + "allow_rename": 0, + "beta": 0, + "creation": "2018-04-16 21:50:05.860195", + "custom": 0, + "docstatus": 0, + "doctype": "DocType", + "document_type": "", + "editable_grid": 1, + "engine": "InnoDB", + "fields": [ + { + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "default": "", + "fieldname": "company", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 1, + "in_standard_filter": 0, + "label": "Company", + "length": 0, + "no_copy": 0, + "options": "Company", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 1, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, + "unique": 0 + } + ], + "has_web_view": 0, + "hide_heading": 0, + "hide_toolbar": 0, + "idx": 0, + "image_view": 0, + "in_create": 0, + "is_submittable": 0, + "issingle": 0, + "istable": 1, + "max_attachments": 0, + "modified": "2018-04-20 14:00:46.014502", + "modified_by": "Administrator", + "module": "Accounts", + "name": "Allowed To Transact With", + "name_case": "", + "owner": "Administrator", + "permissions": [], + "quick_entry": 1, + "read_only": 0, + "read_only_onload": 0, + "show_name_in_global_search": 0, + "sort_field": "modified", + "sort_order": "DESC", + "track_changes": 1, + "track_seen": 0 +} \ No newline at end of file diff --git a/erpnext/accounts/doctype/allowed_to_transact_with/allowed_to_transact_with.py b/erpnext/accounts/doctype/allowed_to_transact_with/allowed_to_transact_with.py new file mode 100644 index 0000000000..c4ab3b0961 --- /dev/null +++ b/erpnext/accounts/doctype/allowed_to_transact_with/allowed_to_transact_with.py @@ -0,0 +1,10 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors +# For license information, please see license.txt + +from __future__ import unicode_literals +import frappe +from frappe.model.document import Document + +class AllowedToTransactWith(Document): + pass From 30b2480cfe609ce6eb48c9f565eb319d485dafaf Mon Sep 17 00:00:00 2001 From: Shreya Date: Fri, 20 Apr 2018 14:13:33 +0530 Subject: [PATCH 10/19] make inter company invoice button on Invoices --- .../doctype/sales_invoice/sales_invoice.js | 34 +++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js index 2fcca755d8..91696c203d 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js @@ -101,6 +101,18 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte } this.set_default_print_format(); + var me = this; + if (doc.docstatus == 1 && !doc.inter_company_invoice_reference) { + frappe.model.with_doc("Customer", me.frm.doc.customer, function() { + var customer = frappe.model.get_doc("Customer", me.frm.doc.customer); + var internal = customer.is_internal_customer; + if (internal == 1) { + me.frm.add_custom_button("Inter Company Invoice", function() { + me.validate_inter_company_invoice(me.frm); + }, __("Make")); + } + }); + } }, on_submit: function(doc, dt, dn) { @@ -213,11 +225,9 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte tc_name: function() { this.get_terms(); }, - customer: function() { var me = this; if(this.frm.updating_party_details) return; - erpnext.utils.get_party_details(this.frm, "erpnext.accounts.party.get_party_details", { posting_date: this.frm.doc.posting_date, @@ -229,6 +239,26 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte me.apply_pricing_rule(); }) }, + + validate_inter_company_invoice: function(frm) { + var me = this; + frappe.call({ + method: "erpnext.accounts.doctype.sales_invoice.sales_invoice.validate_inter_company_invoice", + args: {"doc": frm.doc}, + callback: function(r) { + if (r && r.message) { + me.make_inter_company_invoice(frm); + } + } + }); + }, + + make_inter_company_invoice: function(frm) { + frappe.model.open_mapped_doc({ + method: "erpnext.accounts.doctype.sales_invoice.sales_invoice.make_inter_company_purchase_invoice", + frm: frm + }); + }, debit_to: function() { var me = this; From ed80cf1f2eaf6f593aad7ae1d83d506e277b08e9 Mon Sep 17 00:00:00 2001 From: Shreya Date: Fri, 20 Apr 2018 14:13:57 +0530 Subject: [PATCH 11/19] Inter company invoice reference link field --- .../doctype/sales_invoice/sales_invoice.json | 2546 +++++++++-------- 1 file changed, 1363 insertions(+), 1183 deletions(-) diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.json b/erpnext/accounts/doctype/sales_invoice/sales_invoice.json index cfcc341291..8fe63b4589 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.json +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.json @@ -15,1263 +15,1304 @@ "engine": "InnoDB", "fields": [ { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "customer_section", - "fieldtype": "Section Break", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "", - "length": 0, - "no_copy": 0, - "options": "fa fa-user", - "permlevel": 0, - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "customer_section", + "fieldtype": "Section Break", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "", + "length": 0, + "no_copy": 0, + "options": "fa fa-user", + "permlevel": 0, + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 1, - "bold": 0, - "collapsible": 0, - "columns": 0, - "default": "{customer_name}", - "fieldname": "title", - "fieldtype": "Data", - "hidden": 1, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Title", - "length": 0, - "no_copy": 1, - "permlevel": 0, - "precision": "", - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 1, + "bold": 0, + "collapsible": 0, + "columns": 0, + "default": "{customer_name}", + "fieldname": "title", + "fieldtype": "Data", + "hidden": 1, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Title", + "length": 0, + "no_copy": 1, + "permlevel": 0, + "precision": "", + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 1, - "collapsible": 0, - "columns": 0, - "fieldname": "naming_series", - "fieldtype": "Select", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Series", - "length": 0, - "no_copy": 1, - "oldfieldname": "naming_series", - "oldfieldtype": "Select", - "options": "SINV-\nSINV-RET-", - "permlevel": 0, - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 1, - "search_index": 0, - "set_only_once": 1, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 1, + "collapsible": 0, + "columns": 0, + "fieldname": "naming_series", + "fieldtype": "Select", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Series", + "length": 0, + "no_copy": 1, + "oldfieldname": "naming_series", + "oldfieldtype": "Select", + "options": "SINV-\nSINV-RET-", + "permlevel": 0, + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 1, + "search_index": 0, + "set_only_once": 1, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 1, - "collapsible": 0, - "columns": 0, - "fieldname": "customer", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 1, - "label": "Customer", - "length": 0, - "no_copy": 0, - "oldfieldname": "customer", - "oldfieldtype": "Link", - "options": "Customer", - "permlevel": 0, - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 1, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 1, + "collapsible": 0, + "columns": 0, + "fieldname": "customer", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 1, + "label": "Customer", + "length": 0, + "no_copy": 0, + "oldfieldname": "customer", + "oldfieldtype": "Link", + "options": "Customer", + "permlevel": 0, + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 1, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 1, - "collapsible": 0, - "columns": 0, - "depends_on": "customer", - "fieldname": "customer_name", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 1, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Customer Name", - "length": 0, - "no_copy": 0, - "oldfieldname": "customer_name", - "oldfieldtype": "Data", - "options": "customer.customer_name", - "permlevel": 0, - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 1, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 1, + "collapsible": 0, + "columns": 0, + "depends_on": "customer", + "fieldname": "customer_name", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 1, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Customer Name", + "length": 0, + "no_copy": 0, + "oldfieldname": "customer_name", + "oldfieldtype": "Data", + "options": "customer.customer_name", + "permlevel": 0, + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 1, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "tax_id", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Tax Id", - "length": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 1, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "tax_id", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Tax Id", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 1, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "project", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 1, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Project", - "length": 0, - "no_copy": 0, - "oldfieldname": "project_name", - "oldfieldtype": "Link", - "options": "Project", - "permlevel": 0, - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "project", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 1, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Project", + "length": 0, + "no_copy": 0, + "oldfieldname": "project_name", + "oldfieldtype": "Link", + "options": "Project", + "permlevel": 0, + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "is_pos", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Include Payment (POS)", - "length": 0, - "no_copy": 0, - "oldfieldname": "is_pos", - "oldfieldtype": "Check", - "permlevel": 0, - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "is_pos", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Include Payment (POS)", + "length": 0, + "no_copy": 0, + "oldfieldname": "is_pos", + "oldfieldtype": "Check", + "permlevel": 0, + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "depends_on": "is_pos", - "fieldname": "pos_profile", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "POS Profile", - "length": 0, - "no_copy": 0, - "options": "POS Profile", - "permlevel": 0, - "precision": "", - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "depends_on": "is_pos", + "fieldname": "pos_profile", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "POS Profile", + "length": 0, + "no_copy": 0, + "options": "POS Profile", + "permlevel": 0, + "precision": "", + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "offline_pos_name", - "fieldtype": "Data", - "hidden": 1, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Offline POS Name", - "length": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 1, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "offline_pos_name", + "fieldtype": "Data", + "hidden": 1, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Offline POS Name", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 1, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "column_break1", - "fieldtype": "Column Break", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "length": 0, - "no_copy": 0, - "oldfieldtype": "Column Break", - "permlevel": 0, - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "column_break1", + "fieldtype": "Column Break", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "length": 0, + "no_copy": 0, + "oldfieldtype": "Column Break", + "permlevel": 0, + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "company", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 1, - "label": "Company", - "length": 0, - "no_copy": 0, - "oldfieldname": "company", - "oldfieldtype": "Link", - "options": "Company", - "permlevel": 0, - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 1, - "report_hide": 0, - "reqd": 1, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "company", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 1, + "label": "Company", + "length": 0, + "no_copy": 0, + "oldfieldname": "company", + "oldfieldtype": "Link", + "options": "Company", + "permlevel": 0, + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 1, + "report_hide": 0, + "reqd": 1, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 1, - "collapsible": 0, - "columns": 0, - "default": "Today", - "fieldname": "posting_date", - "fieldtype": "Date", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Date", - "length": 0, - "no_copy": 1, - "oldfieldname": "posting_date", - "oldfieldtype": "Date", - "permlevel": 0, - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 1, - "search_index": 1, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 1, + "collapsible": 0, + "columns": 0, + "default": "Today", + "fieldname": "posting_date", + "fieldtype": "Date", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Date", + "length": 0, + "no_copy": 1, + "oldfieldname": "posting_date", + "oldfieldtype": "Date", + "permlevel": 0, + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 1, + "search_index": 1, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "posting_time", - "fieldtype": "Time", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Posting Time", - "length": 0, - "no_copy": 1, - "oldfieldname": "posting_time", - "oldfieldtype": "Time", - "permlevel": 0, - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "posting_time", + "fieldtype": "Time", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Posting Time", + "length": 0, + "no_copy": 1, + "oldfieldname": "posting_time", + "oldfieldtype": "Time", + "permlevel": 0, + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "depends_on": "eval:doc.docstatus==0", - "fieldname": "set_posting_time", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Edit Posting Date and Time", - "length": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "depends_on": "eval:doc.docstatus==0", + "fieldname": "set_posting_time", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Edit Posting Date and Time", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "due_date", - "fieldtype": "Date", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Payment Due Date", - "length": 0, - "no_copy": 1, - "oldfieldname": "due_date", - "oldfieldtype": "Date", - "permlevel": 0, - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "due_date", + "fieldtype": "Date", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Payment Due Date", + "length": 0, + "no_copy": 1, + "oldfieldname": "due_date", + "oldfieldtype": "Date", + "permlevel": 0, + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "amended_from", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 1, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Amended From", - "length": 0, - "no_copy": 1, - "oldfieldname": "amended_from", - "oldfieldtype": "Link", - "options": "Sales Invoice", - "permlevel": 0, - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 1, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "amended_from", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 1, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Amended From", + "length": 0, + "no_copy": 1, + "oldfieldname": "amended_from", + "oldfieldtype": "Link", + "options": "Sales Invoice", + "permlevel": 0, + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 1, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "depends_on": "is_return", - "fieldname": "returns", - "fieldtype": "Section Break", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Returns", - "length": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "depends_on": "is_return", + "fieldname": "returns", + "fieldtype": "Section Break", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Returns", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "depends_on": "is_return", - "fieldname": "is_return", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Is Return", - "length": 0, - "no_copy": 1, - "permlevel": 0, - "precision": "", - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 1, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "depends_on": "is_return", + "fieldname": "is_return", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Is Return", + "length": 0, + "no_copy": 1, + "permlevel": 0, + "precision": "", + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 1, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "depends_on": "is_return", - "fieldname": "return_against", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Return Against Sales Invoice", - "length": 0, - "no_copy": 1, - "options": "Sales Invoice", - "permlevel": 0, - "precision": "", - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 1, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "depends_on": "is_return", + "fieldname": "return_against", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Return Against Sales Invoice", + "length": 0, + "no_copy": 1, + "options": "Sales Invoice", + "permlevel": 0, + "precision": "", + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 1, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 1, - "collapsible_depends_on": "po_no", - "columns": 0, - "fieldname": "customer_po_details", - "fieldtype": "Section Break", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Customer PO Details", - "length": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 1, + "collapsible_depends_on": "po_no", + "columns": 0, + "fieldname": "customer_po_details", + "fieldtype": "Section Break", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Customer PO Details", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 1, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "po_no", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Customer's Purchase Order", - "length": 0, - "no_copy": 1, - "permlevel": 0, - "precision": "", - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 1, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "po_no", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Customer's Purchase Order", + "length": 0, + "no_copy": 1, + "permlevel": 0, + "precision": "", + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "column_break_23", - "fieldtype": "Column Break", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "length": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "column_break_23", + "fieldtype": "Column Break", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 1, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "po_date", - "fieldtype": "Date", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Customer's Purchase Order Date", - "length": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 1, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "po_date", + "fieldtype": "Date", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Customer's Purchase Order Date", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 1, - "columns": 0, - "depends_on": "", - "fieldname": "address_and_contact", - "fieldtype": "Section Break", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Address and Contact", - "length": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 1, + "columns": 0, + "depends_on": "", + "fieldname": "address_and_contact", + "fieldtype": "Section Break", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Address and Contact", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "customer_address", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Customer Address", - "length": 0, - "no_copy": 0, - "options": "Address", - "permlevel": 0, - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "customer_address", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Customer Address", + "length": 0, + "no_copy": 0, + "options": "Address", + "permlevel": 0, + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "address_display", - "fieldtype": "Small Text", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Address", - "length": 0, - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 1, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "address_display", + "fieldtype": "Small Text", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Address", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 1, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "contact_person", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 1, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Contact Person", - "length": 0, - "no_copy": 0, - "options": "Contact", - "permlevel": 0, - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "contact_person", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 1, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Contact Person", + "length": 0, + "no_copy": 0, + "options": "Contact", + "permlevel": 0, + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "contact_display", - "fieldtype": "Small Text", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Contact", - "length": 0, - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 1, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "contact_display", + "fieldtype": "Small Text", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Contact", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 1, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "contact_mobile", - "fieldtype": "Small Text", - "hidden": 1, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Mobile No", - "length": 0, - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 1, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "contact_mobile", + "fieldtype": "Small Text", + "hidden": 1, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Mobile No", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 1, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "contact_email", - "fieldtype": "Data", - "hidden": 1, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Contact Email", - "length": 0, - "no_copy": 0, - "options": "Email", - "permlevel": 0, - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 1, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "contact_email", + "fieldtype": "Data", + "hidden": 1, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Contact Email", + "length": 0, + "no_copy": 0, + "options": "Email", + "permlevel": 0, + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 1, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "territory", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Territory", - "length": 0, - "no_copy": 0, - "options": "Territory", - "permlevel": 0, - "precision": "", - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "territory", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Territory", + "length": 0, + "no_copy": 0, + "options": "Territory", + "permlevel": 0, + "precision": "", + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "col_break4", - "fieldtype": "Column Break", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "length": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "col_break4", + "fieldtype": "Column Break", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "shipping_address_name", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Shipping Address Name", - "length": 0, - "no_copy": 0, - "options": "Address", - "permlevel": 0, - "precision": "", - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "shipping_address_name", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Shipping Address Name", + "length": 0, + "no_copy": 0, + "options": "Address", + "permlevel": 0, + "precision": "", + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "shipping_address", - "fieldtype": "Small Text", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Shipping Address", - "length": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 1, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "shipping_address", + "fieldtype": "Small Text", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Shipping Address", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 1, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "company_address", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Company Address Name", - "length": 0, - "no_copy": 0, - "options": "Address", - "permlevel": 0, - "precision": "", - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "company_address", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Company Address Name", + "length": 0, + "no_copy": 0, + "options": "Address", + "permlevel": 0, + "precision": "", + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "company_address_display", - "fieldtype": "Small Text", - "hidden": 1, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Company Address", - "length": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 1, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "company_address_display", + "fieldtype": "Small Text", + "hidden": 1, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Company Address", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 1, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 1, - "columns": 0, - "depends_on": "customer", - "fieldname": "currency_and_price_list", - "fieldtype": "Section Break", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Currency and Price List", - "length": 0, - "no_copy": 0, - "options": "", - "permlevel": 0, - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 1, + "columns": 0, + "depends_on": "customer", + "fieldname": "currency_and_price_list", + "fieldtype": "Section Break", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Currency and Price List", + "length": 0, + "no_copy": 0, + "options": "", + "permlevel": 0, + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "currency", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Currency", - "length": 0, - "no_copy": 0, - "oldfieldname": "currency", - "oldfieldtype": "Select", - "options": "Currency", - "permlevel": 0, - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 1, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "currency", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Currency", + "length": 0, + "no_copy": 0, + "oldfieldname": "currency", + "oldfieldtype": "Select", + "options": "Currency", + "permlevel": 0, + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 1, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "description": "Rate at which Customer Currency is converted to customer's base currency", - "fieldname": "conversion_rate", - "fieldtype": "Float", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Exchange Rate", - "length": 0, - "no_copy": 0, - "oldfieldname": "conversion_rate", - "oldfieldtype": "Currency", - "permlevel": 0, - "precision": "9", - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 1, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "description": "Rate at which Customer Currency is converted to customer's base currency", + "fieldname": "conversion_rate", + "fieldtype": "Float", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Exchange Rate", + "length": 0, + "no_copy": 0, + "oldfieldname": "conversion_rate", + "oldfieldtype": "Currency", + "permlevel": 0, + "precision": "9", + "print_hide": 1, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 1, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "column_break2", - "fieldtype": "Column Break", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "length": 0, - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "unique": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "column_break2", + "fieldtype": "Column Break", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, + "unique": 0, "width": "50%" }, { @@ -1304,6 +1345,7 @@ "reqd": 1, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1334,6 +1376,7 @@ "reqd": 1, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1365,6 +1408,7 @@ "reqd": 1, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1394,6 +1438,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1425,6 +1470,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1456,6 +1502,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1488,6 +1535,7 @@ "reqd": 1, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1518,6 +1566,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1548,6 +1597,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1577,6 +1627,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1609,6 +1660,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1640,6 +1692,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1671,6 +1724,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1699,6 +1753,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1730,6 +1785,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1762,6 +1818,7 @@ "reqd": 1, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1790,6 +1847,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1821,6 +1879,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1851,6 +1910,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1881,6 +1941,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1912,6 +1973,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1944,6 +2006,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1972,6 +2035,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2003,6 +2067,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2031,6 +2096,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2063,6 +2129,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2093,6 +2160,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2123,6 +2191,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2151,6 +2220,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2183,6 +2253,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2212,6 +2283,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2242,6 +2314,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2273,6 +2346,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2305,6 +2379,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2336,6 +2411,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2364,6 +2440,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2394,6 +2471,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2424,6 +2502,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2455,6 +2534,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2487,6 +2567,7 @@ "reqd": 1, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2518,6 +2599,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2550,6 +2632,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2582,6 +2665,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2611,6 +2695,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0, "width": "50%" }, @@ -2644,6 +2729,7 @@ "reqd": 1, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2675,6 +2761,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2707,6 +2794,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2738,6 +2826,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2770,6 +2859,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2802,6 +2892,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2834,6 +2925,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2865,6 +2957,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2897,6 +2990,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2928,6 +3022,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2960,6 +3055,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2992,6 +3088,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3024,6 +3121,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3057,6 +3155,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3089,6 +3188,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3118,6 +3218,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3149,6 +3250,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3178,6 +3280,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3211,6 +3314,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3240,6 +3344,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3272,6 +3377,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3301,6 +3407,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3333,6 +3440,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3365,6 +3473,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3396,6 +3505,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0, "width": "50%" }, @@ -3428,6 +3538,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3459,6 +3570,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3489,6 +3601,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3519,6 +3632,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3550,6 +3664,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3581,6 +3696,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3613,6 +3729,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3645,6 +3762,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3676,6 +3794,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3706,6 +3825,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3738,6 +3858,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3768,6 +3889,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3797,6 +3919,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3829,6 +3952,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3860,6 +3984,39 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, + "unique": 0 + }, + { + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "inter_company_invoice_reference", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Inter Company Invoice Reference", + "length": 0, + "no_copy": 0, + "options": "Purchase Invoice", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 1, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3891,6 +4048,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3924,6 +4082,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3952,6 +4111,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0, "width": "50%" }, @@ -3985,6 +4145,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -4017,6 +4178,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -4048,6 +4210,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -4081,6 +4244,7 @@ "reqd": 1, "search_index": 1, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -4112,6 +4276,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -4146,6 +4311,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -4176,6 +4342,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -4206,6 +4373,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -4235,6 +4403,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -4266,6 +4435,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -4298,6 +4468,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -4330,6 +4501,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -4359,6 +4531,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0, "width": "50%" }, @@ -4391,6 +4564,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -4423,6 +4597,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -4453,6 +4628,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -4485,6 +4661,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -4515,6 +4692,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -4546,6 +4724,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -4577,6 +4756,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -4606,6 +4786,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -4637,6 +4818,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -4668,6 +4850,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -4698,6 +4881,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 } ], @@ -4713,7 +4897,7 @@ "istable": 0, "max_attachments": 0, "menu_index": 0, - "modified": "2018-03-16 15:19:54.711885", + "modified": "2018-04-19 15:46:45.766533", "modified_by": "Administrator", "module": "Accounts", "name": "Sales Invoice", @@ -4722,7 +4906,6 @@ "permissions": [ { "amend": 1, - "apply_user_permissions": 0, "cancel": 1, "create": 1, "delete": 1, @@ -4742,7 +4925,6 @@ }, { "amend": 1, - "apply_user_permissions": 0, "cancel": 0, "create": 1, "delete": 0, @@ -4762,7 +4944,6 @@ }, { "amend": 0, - "apply_user_permissions": 0, "cancel": 0, "create": 0, "delete": 0, @@ -4782,7 +4963,6 @@ }, { "amend": 0, - "apply_user_permissions": 0, "cancel": 0, "create": 0, "delete": 0, @@ -4812,4 +4992,4 @@ "title_field": "title", "track_changes": 1, "track_seen": 1 -} +} \ No newline at end of file From 0bd987ab03888fbadbc603d766f4d7c7c7703ee5 Mon Sep 17 00:00:00 2001 From: Shreya Date: Fri, 20 Apr 2018 14:14:40 +0530 Subject: [PATCH 12/19] validations before routing to invoice --- .../purchase_invoice/purchase_invoice.js | 65 ++++++++++++++++++- 1 file changed, 64 insertions(+), 1 deletion(-) diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js index 39f80396e3..af6839031a 100644 --- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js +++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js @@ -92,12 +92,56 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({ }) }, __("Get items from")); } - this.frm.toggle_reqd("supplier_warehouse", this.frm.doc.is_subcontracted==="Yes"); + + var me = this; + if (doc.docstatus == 1 && !doc.inter_company_invoice_reference) { + frappe.model.with_doc("Supplier", me.frm.doc.supplier, function() { + var supplier = frappe.model.get_doc("Supplier", me.frm.doc.supplier); + var internal = supplier.is_internal_supplier; + if (internal == 1) { + me.frm.add_custom_button("Inter Company Invoice", function() { + me.validate_inter_company_invoice(me.frm); + }, __("Make")); + } + }); + } }, supplier: function() { var me = this; + let internal; + frappe.db.get_value('Supplier', {name: this.frm.doc.supplier}, 'is_internal_supplier', (r) => { + if (r) { + internal = r.is_internal_supplier; + } + if (internal == 1) { + frappe.call({ + method:"erpnext.accounts.doctype.sales_invoice.sales_invoice.get_allowed_companies", + args: {supplier: this.frm.doc.supplier}, + callback: function(r){ + if (r.message){ + if (me.frm.doc.company) { + me.frm.set_value("company", r.message[0]); + } + me.frm.set_query('company', function() { + return { + "filters": {"name": ["in", r.message]} + } + } + ); + } + } + }); + } + else { + me.frm.set_query('company', function(){ + return { + "filters": {"name": ["like", "%" + "" + "%"]} + } + }); + } + }); if(this.frm.updating_party_details) return; erpnext.utils.get_party_details(this.frm, "erpnext.accounts.party.get_party_details", @@ -132,6 +176,25 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({ }); } }, + validate_inter_company_invoice: function(frm) { + var me = this; + frappe.call({ + method: "erpnext.accounts.doctype.sales_invoice.sales_invoice.validate_inter_company_invoice", + args: {"doc": frm.doc}, + callback: function(r) { + if (r && r.message) { + me.make_inter_company_invoice(frm); + } + } + }); + }, + + make_inter_company_invoice: function(frm) { + frappe.model.open_mapped_doc({ + method: "erpnext.accounts.doctype.purchase_invoice.purchase_invoice.make_inter_company_sales_invoice", + frm: frm + }); + }, is_paid: function() { hide_fields(this.frm.doc); From 99ae0439d7bbb9e097cc999faf954b12dc1d1bc0 Mon Sep 17 00:00:00 2001 From: Shreya Date: Fri, 20 Apr 2018 14:15:15 +0530 Subject: [PATCH 13/19] mapping of relevant fields --- .../purchase_invoice/purchase_invoice.py | 38 ++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py index d7e14e1f6c..66515e3452 100644 --- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py +++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py @@ -73,6 +73,7 @@ class PurchaseInvoice(BuyingController): self.validate_fixed_asset_account() self.create_remarks() self.set_status() + self.validate_inter_company_supplier() def validate_cash(self): if not self.cash_bank_account and flt(self.paid_amount): @@ -119,6 +120,21 @@ class PurchaseInvoice(BuyingController): self.party_account_currency = account.account_currency + def validate_inter_company_supplier(self): + if frappe.db.get_value("Supplier", self.supplier, "is_internal_supplier") == 1: + if self.inter_company_invoice_reference: + doc = frappe.get_doc("Sales Invoice", self.inter_company_invoice_reference) + if not frappe.db.get_value("Supplier", {"represents_company": doc.company}, "name") == self.supplier: + frappe.throw(_("Invalid Supplier for Inter Company Invoice")) + if not frappe.db.get_value("Customer", {"name": doc.customer}, "represents_company") == self.company: + frappe.throw(_("Invalid Company for Inter Company Invoice")) + else: + companies = frappe.db.sql("""select company from `tabAllowed To Transact With` + where parenttype = "Supplier" and parent = '{0}'""".format(self.supplier), as_list = 1) + companies = [company[0] for company in companies] + if not self.company in companies: + frappe.throw(_("Supplier not allowed to transact with {0}. Please change the Company.").format(self.company)) + def check_for_closed_status(self): check_list = [] @@ -303,6 +319,12 @@ class PurchaseInvoice(BuyingController): self.update_project() self.update_fixed_asset() + self.update_linked_invoice() + + def update_linked_invoice(self): + if self.inter_company_invoice_reference: + frappe.db.set_value("Sales Invoice", self.inter_company_invoice_reference,\ + "inter_company_invoice_reference", self.name) def update_fixed_asset(self): for d in self.get("items"): @@ -635,6 +657,8 @@ class PurchaseInvoice(BuyingController): self.update_fixed_asset() frappe.db.set(self, 'status', 'Cancelled') + self.unlink_inter_company_invoice() + def update_project(self): project_list = [] for d in self.items: @@ -672,6 +696,13 @@ class PurchaseInvoice(BuyingController): pi = pi[0][0] frappe.throw(_("Supplier Invoice No exists in Purchase Invoice {0}".format(pi))) + def unlink_inter_company_invoice(self): + if self.inter_company_invoice_reference: + frappe.db.set_value("Purchase Invoice", self.name,\ + "inter_company_invoice_reference", "") + frappe.db.set_value("Sales Invoice", self.inter_company_invoice_reference,\ + "inter_company_invoice_reference", "") + def update_billing_status_in_pr(self, update_modified=True): updated_pr = [] for d in self.get("items"): @@ -733,4 +764,9 @@ def make_stock_entry(source_name, target_doc=None): } }, target_doc) - return doc \ No newline at end of file + return doc + +@frappe.whitelist() +def make_inter_company_sales_invoice(source_name, target_doc=None): + from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_inter_company_invoice + return make_inter_company_invoice("Purchase Invoice", source_name, target_doc) \ No newline at end of file From 79584b1cbd6ecdbbc0e4a0ea6d30075ead459761 Mon Sep 17 00:00:00 2001 From: Shreya Date: Fri, 20 Apr 2018 14:15:40 +0530 Subject: [PATCH 14/19] validations to check price list and currencies --- .../purchase_invoice/purchase_invoice.json | 165 +++++++++++++++++- 1 file changed, 159 insertions(+), 6 deletions(-) diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json index d707436077..e136a1dbad 100755 --- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json +++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json @@ -41,6 +41,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -73,6 +74,7 @@ "reqd": 1, "search_index": 0, "set_only_once": 1, + "translatable": 0, "unique": 0 }, { @@ -105,6 +107,7 @@ "reqd": 0, "search_index": 1, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -138,6 +141,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -169,6 +173,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -200,6 +205,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -230,6 +236,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -259,6 +266,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0, "width": "50%" }, @@ -290,6 +298,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -322,6 +331,7 @@ "reqd": 1, "search_index": 1, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -353,6 +363,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0, "width": "100px" }, @@ -385,6 +396,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -417,6 +429,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -448,6 +461,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -480,6 +494,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -509,6 +524,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -540,6 +556,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -571,6 +588,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -602,6 +620,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -634,6 +653,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -664,6 +684,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -694,6 +715,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -724,6 +746,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -754,6 +777,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -783,6 +807,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -812,6 +837,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -841,6 +867,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -870,6 +897,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -902,6 +930,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -932,6 +961,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -962,6 +992,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -994,6 +1025,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1027,6 +1059,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1055,6 +1088,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1085,6 +1119,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1115,6 +1150,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1145,6 +1181,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1174,6 +1211,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1205,6 +1243,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1236,6 +1275,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1268,6 +1308,7 @@ "reqd": 1, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1296,6 +1337,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1327,6 +1369,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1360,6 +1403,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1388,6 +1432,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1419,6 +1464,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1451,6 +1497,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1481,6 +1528,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1512,6 +1560,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1544,6 +1593,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1573,6 +1623,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1604,6 +1655,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1633,6 +1685,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1665,6 +1718,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1695,6 +1749,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1725,6 +1780,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1756,6 +1812,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1788,6 +1845,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1820,6 +1878,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1852,6 +1911,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1881,6 +1941,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1913,6 +1974,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1945,6 +2007,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -1976,6 +2039,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2007,6 +2071,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2039,6 +2104,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2070,6 +2136,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2099,6 +2166,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2129,6 +2197,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2160,6 +2229,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2189,6 +2259,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2221,6 +2292,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2252,6 +2324,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2284,6 +2357,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2316,6 +2390,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2345,6 +2420,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0, "width": "50%" }, @@ -2378,6 +2454,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2409,6 +2486,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2441,6 +2519,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2472,6 +2551,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2504,6 +2584,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2536,6 +2617,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2567,6 +2649,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2599,6 +2682,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2630,6 +2714,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2661,6 +2746,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2690,6 +2776,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2722,6 +2809,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2753,6 +2841,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2785,6 +2874,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2815,6 +2905,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2846,6 +2937,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2875,6 +2967,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2906,6 +2999,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2937,6 +3031,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -2969,6 +3064,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3000,6 +3096,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3032,6 +3129,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3063,6 +3161,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3094,6 +3193,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3125,6 +3225,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3156,6 +3257,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3186,6 +3288,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3215,6 +3318,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3245,6 +3349,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3277,6 +3382,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3309,6 +3415,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0, "width": "50px" }, @@ -3341,6 +3448,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3371,6 +3479,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3402,6 +3511,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3434,6 +3544,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3464,6 +3575,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3495,6 +3607,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3528,6 +3641,7 @@ "reqd": 1, "search_index": 1, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3559,6 +3673,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3593,6 +3708,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3624,6 +3740,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3652,6 +3769,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3684,6 +3802,39 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, + "unique": 0 + }, + { + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "inter_company_invoice_reference", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Inter Company Invoice Reference", + "length": 0, + "no_copy": 0, + "options": "Sales Invoice", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 1, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3715,6 +3866,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3747,6 +3899,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3777,6 +3930,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3808,6 +3962,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3839,6 +3994,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3868,6 +4024,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 }, { @@ -3899,6 +4056,7 @@ "reqd": 0, "search_index": 0, "set_only_once": 0, + "translatable": 0, "unique": 0 } ], @@ -3914,7 +4072,7 @@ "istable": 0, "max_attachments": 0, "menu_index": 0, - "modified": "2018-01-11 14:44:22.982512", + "modified": "2018-04-19 15:48:29.457594", "modified_by": "Administrator", "module": "Accounts", "name": "Purchase Invoice", @@ -3923,7 +4081,6 @@ "permissions": [ { "amend": 1, - "apply_user_permissions": 0, "cancel": 1, "create": 1, "delete": 0, @@ -3943,7 +4100,6 @@ }, { "amend": 0, - "apply_user_permissions": 0, "cancel": 0, "create": 0, "delete": 0, @@ -3963,7 +4119,6 @@ }, { "amend": 1, - "apply_user_permissions": 0, "cancel": 1, "create": 1, "delete": 1, @@ -3983,7 +4138,6 @@ }, { "amend": 0, - "apply_user_permissions": 0, "cancel": 0, "create": 0, "delete": 0, @@ -4003,7 +4157,6 @@ }, { "amend": 0, - "apply_user_permissions": 0, "cancel": 0, "create": 0, "delete": 0, From c804f424ab7161cef8f982c0afb427711622c6a0 Mon Sep 17 00:00:00 2001 From: Shreya Date: Fri, 20 Apr 2018 14:20:02 +0530 Subject: [PATCH 15/19] update reference fields on both invoices --- .../doctype/sales_invoice/sales_invoice.py | 133 +++++++++++++++++- 1 file changed, 131 insertions(+), 2 deletions(-) diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index 78dcee9fb8..acd455eb33 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -2,7 +2,7 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext +import frappe, erpnext, json import frappe.defaults from frappe.utils import cint, flt from frappe import _, msgprint, throw @@ -73,6 +73,7 @@ class SalesInvoice(SellingController): self.validate_account_for_change_amount() self.validate_fixed_asset() self.set_income_account_for_fixed_assets() + self.validate_inter_company_customer() if cint(self.is_pos): self.validate_pos() @@ -146,11 +147,32 @@ class SalesInvoice(SellingController): update_company_current_month_sales(self.company) self.update_project() + self.update_linked_invoice() def validate_pos_paid_amount(self): if len(self.payments) == 0 and self.is_pos: frappe.throw(_("At least one mode of payment is required for POS invoice.")) + def validate_inter_company_customer(self): + if frappe.db.get_value("Customer", self.customer, "is_internal_customer") == 1: + if self.inter_company_invoice_reference: + doc = frappe.get_doc("Purchase Invoice", self.inter_company_invoice_reference) + if not frappe.db.get_value("Customer", {"represents_company": doc.company}, "name") == self.customer: + frappe.throw(_("Invalid Customer for Inter Company Invoice")) + if not frappe.db.get_value("Supplier", {"name": doc.supplier}, "represents_company") == self.company: + frappe.throw(_("Invalid Company for Inter Company Invoice")) + else: + companies = frappe.db.sql("""select company from `tabAllowed To Transact With` + where parenttype = "Customer" and parent = '{0}'""".format(self.customer), as_list = 1) + companies = [company[0] for company in companies] + if not self.company in companies: + frappe.throw(_("Customer not allowed to transact with {0}. Please change the Company.").format(self.company)) + + def update_linked_invoice(self): + if self.inter_company_invoice_reference: + frappe.db.set_value("Purchase Invoice", self.inter_company_invoice_reference,\ + "inter_company_invoice_reference", self.name) + def before_cancel(self): self.update_time_sheet(None) @@ -186,6 +208,8 @@ class SalesInvoice(SellingController): update_company_current_month_sales(self.company) self.update_project() + self.unlink_inter_company_invoice() + def update_status_updater_args(self): if cint(self.update_stock): self.status_updater.extend([{ @@ -336,7 +360,7 @@ class SalesInvoice(SellingController): for item in self.get("items"): if item.get('item_code'): for fname, val in get_pos_profile_item_details(pos, - frappe._dict(item.as_dict()), pos, True).items(): + frappe._dict(item.as_dict()), pos).items(): if (not for_validate) or (for_validate and not item.get(fname)): item.set(fname, val) @@ -907,6 +931,13 @@ class SalesInvoice(SellingController): project.update_billed_amount() project.save() + def unlink_inter_company_invoice(self): + if self.inter_company_invoice_reference: + frappe.db.set_value("Sales Invoice", self.name,\ + "inter_company_invoice_reference", "") + frappe.db.set_value("Purchase Invoice", self.inter_company_invoice_reference,\ + "inter_company_invoice_reference", "") + def verify_payment_amount_is_positive(self): for entry in self.payments: if entry.amount < 0: @@ -992,3 +1023,101 @@ def set_account_for_mode_of_payment(self): for data in self.payments: if not data.account: data.account = get_bank_cash_account(data.mode_of_payment, self.company).get("account") + +def get_inter_company_details(doc, doctype): + if doctype == "Sales Invoice": + party = frappe.db.get_value("Supplier", {"is_internal_supplier":1, "represents_company": doc.get("company")}, "name") + company = frappe.db.get_value("Customer", {"name": doc.get("customer")}, "represents_company") + else: + party = frappe.db.get_value("Customer", {"is_internal_customer":1, "represents_company": doc.get("company")}, "name") + company = frappe.db.get_value("Customer", {"name": doc.get("supplier")}, "represents_company") + + return { + "party": party, + "company": company + } + +@frappe.whitelist() +def validate_inter_company_invoice(doc): + doc = json.loads(doc) + doctype = doc.get("doctype") + details = get_inter_company_details(doc, doctype) + if doctype == "Sales Invoice": + buying = frappe.db.get_value("Price List", doc.get("selling_price_list"), "buying") + if not buying: + frappe.throw(_("Buying and Selling Price List should be same for Inter Company Transactions.")) + + supplier = details.get("party") + if not supplier: + frappe.throw(_("No Supplier found for Inter Company Transactions.")) + + company = details.get("company") + default_currency = frappe.db.get_value("Company", company, "default_currency") + if default_currency != doc.get("currency"): + frappe.throw(_("Company currencies of both the companies should match for Inter Company Transactions.")) + + else: + selling = frappe.db.get_value("Price List", doc.get("buying_price_list"), "selling") + if not selling: + frappe.throw(_("Buying and Selling Price List should be same for Inter Company Transactions.")) + + customer = details.get("party") + if not customer: + frappe.throw(_("No Customer found for Inter Company Transactions.")) + + company = details.get("company") + default_currency = frappe.db.get_value("Company", company, "default_currency") + if default_currency != doc.get("currency"): + frappe.throw(_("Company currencies of both the companies should match for Inter Company Transactions.")) + + return company + +@frappe.whitelist() +def make_inter_company_purchase_invoice(source_name, target_doc=None): + return make_inter_company_invoice("Sales Invoice", source_name, target_doc) + +def make_inter_company_invoice(doctype, source_name, target_doc=None): + from frappe.model.mapper import get_mapped_doc + if doctype == "Sales Invoice": + source_doc = frappe.get_doc("Sales Invoice", source_name) + target_doctype = "Purchase Invoice" + else: + source_doc = frappe.get_doc("Purchase Invoice", source_name) + target_doctype = "Sales Invoice" + + details = get_inter_company_details(source_doc, doctype) + + def set_missing_values(source, target): + target.run_method("set_missing_values") + + def update_details(source_doc, target_doc, source_parent): + target_doc.inter_company_invoice_reference = source_doc.name + if target_doc.doctype == "Purchase Invoice": + target_doc.company = details.get("company") + target_doc.supplier = details.get("party") + target_doc.buying_price_list = source_doc.selling_price_list + else: + target_doc.company = details.get("company") + target_doc.customer = details.get("party") + target_doc.selling_price_list = source_doc.buying_price_list + + def update_item(source_doc, target_doc, source_parent): + target_doc.income_account = "" + target_doc.expense_account = "" + target_doc.cost_center = "" + + base_doc = "Sales Invoice" + target_doctype = "Purchase Invoice" + doclist = get_mapped_doc(doctype, source_name, { + doctype: { + "doctype": target_doctype, + "postprocess": update_details + }, + doctype +" Item": { + "doctype": target_doctype + " Item", + "postprocess": update_item + } + + }, target_doc, set_missing_values) + + return doclist From b47302dd528c36d7e9660ef97a168aba48f5ea1a Mon Sep 17 00:00:00 2001 From: Shreya Date: Fri, 20 Apr 2018 14:20:49 +0530 Subject: [PATCH 16/19] unlink reference on cancellation of any invoice --- .../purchase_invoice/purchase_invoice.js | 32 ------------------- .../doctype/sales_invoice/sales_invoice.js | 1 - .../doctype/sales_invoice/sales_invoice.py | 5 ++- 3 files changed, 2 insertions(+), 36 deletions(-) diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js index af6839031a..a2ea0965aa 100644 --- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js +++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js @@ -110,38 +110,6 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({ supplier: function() { var me = this; - let internal; - frappe.db.get_value('Supplier', {name: this.frm.doc.supplier}, 'is_internal_supplier', (r) => { - if (r) { - internal = r.is_internal_supplier; - } - if (internal == 1) { - frappe.call({ - method:"erpnext.accounts.doctype.sales_invoice.sales_invoice.get_allowed_companies", - args: {supplier: this.frm.doc.supplier}, - callback: function(r){ - if (r.message){ - if (me.frm.doc.company) { - me.frm.set_value("company", r.message[0]); - } - me.frm.set_query('company', function() { - return { - "filters": {"name": ["in", r.message]} - } - } - ); - } - } - }); - } - else { - me.frm.set_query('company', function(){ - return { - "filters": {"name": ["like", "%" + "" + "%"]} - } - }); - } - }); if(this.frm.updating_party_details) return; erpnext.utils.get_party_details(this.frm, "erpnext.accounts.party.get_party_details", diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js index 91696c203d..8e48cc3a89 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js @@ -663,4 +663,3 @@ var calculate_total_billing_amount = function(frm) { refresh_field('total_billing_amount') } - diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index acd455eb33..7a8ee2434f 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -1030,7 +1030,7 @@ def get_inter_company_details(doc, doctype): company = frappe.db.get_value("Customer", {"name": doc.get("customer")}, "represents_company") else: party = frappe.db.get_value("Customer", {"is_internal_customer":1, "represents_company": doc.get("company")}, "name") - company = frappe.db.get_value("Customer", {"name": doc.get("supplier")}, "represents_company") + company = frappe.db.get_value("Supplier", {"name": doc.get("supplier")}, "represents_company") return { "party": party, @@ -1067,6 +1067,7 @@ def validate_inter_company_invoice(doc): company = details.get("company") default_currency = frappe.db.get_value("Company", company, "default_currency") + if default_currency != doc.get("currency"): frappe.throw(_("Company currencies of both the companies should match for Inter Company Transactions.")) @@ -1106,8 +1107,6 @@ def make_inter_company_invoice(doctype, source_name, target_doc=None): target_doc.expense_account = "" target_doc.cost_center = "" - base_doc = "Sales Invoice" - target_doctype = "Purchase Invoice" doclist = get_mapped_doc(doctype, source_name, { doctype: { "doctype": target_doctype, From ae0b31c31d3160e07a19c7d26da0bb855a9af657 Mon Sep 17 00:00:00 2001 From: Shreya Date: Mon, 23 Apr 2018 16:21:59 +0530 Subject: [PATCH 17/19] changes as per the reviews --- .../purchase_invoice/purchase_invoice.js | 17 +-- .../purchase_invoice/purchase_invoice.py | 35 +---- .../doctype/sales_invoice/sales_invoice.js | 22 +-- .../doctype/sales_invoice/sales_invoice.py | 126 +++++++++--------- 4 files changed, 75 insertions(+), 125 deletions(-) diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js index a2ea0965aa..e7fdd64a6d 100644 --- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js +++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js @@ -99,9 +99,10 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({ frappe.model.with_doc("Supplier", me.frm.doc.supplier, function() { var supplier = frappe.model.get_doc("Supplier", me.frm.doc.supplier); var internal = supplier.is_internal_supplier; - if (internal == 1) { + var disabled = supplier.disabled; + if (internal == 1 && disabled == 0) { me.frm.add_custom_button("Inter Company Invoice", function() { - me.validate_inter_company_invoice(me.frm); + me.make_inter_company_invoice(me.frm); }, __("Make")); } }); @@ -144,18 +145,6 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({ }); } }, - validate_inter_company_invoice: function(frm) { - var me = this; - frappe.call({ - method: "erpnext.accounts.doctype.sales_invoice.sales_invoice.validate_inter_company_invoice", - args: {"doc": frm.doc}, - callback: function(r) { - if (r && r.message) { - me.make_inter_company_invoice(frm); - } - } - }); - }, make_inter_company_invoice: function(frm) { frappe.model.open_mapped_doc({ diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py index 66515e3452..67b41a3248 100644 --- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py +++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py @@ -17,6 +17,8 @@ from erpnext.accounts.doctype.gl_entry.gl_entry import update_outstanding_amt from erpnext.buying.utils import check_for_closed_status from erpnext.accounts.general_ledger import get_round_off_account_and_cost_center from frappe.model.mapper import get_mapped_doc +from erpnext.accounts.doctype.sales_invoice.sales_invoice import validate_inter_company_party, update_linked_invoice,\ + unlink_inter_company_invoice form_grid_templates = { "items": "templates/form_grid/item_grid.html" @@ -73,7 +75,7 @@ class PurchaseInvoice(BuyingController): self.validate_fixed_asset_account() self.create_remarks() self.set_status() - self.validate_inter_company_supplier() + validate_inter_company_party(self.doctype, self.supplier, self.company, self.inter_company_invoice_reference) def validate_cash(self): if not self.cash_bank_account and flt(self.paid_amount): @@ -120,21 +122,6 @@ class PurchaseInvoice(BuyingController): self.party_account_currency = account.account_currency - def validate_inter_company_supplier(self): - if frappe.db.get_value("Supplier", self.supplier, "is_internal_supplier") == 1: - if self.inter_company_invoice_reference: - doc = frappe.get_doc("Sales Invoice", self.inter_company_invoice_reference) - if not frappe.db.get_value("Supplier", {"represents_company": doc.company}, "name") == self.supplier: - frappe.throw(_("Invalid Supplier for Inter Company Invoice")) - if not frappe.db.get_value("Customer", {"name": doc.customer}, "represents_company") == self.company: - frappe.throw(_("Invalid Company for Inter Company Invoice")) - else: - companies = frappe.db.sql("""select company from `tabAllowed To Transact With` - where parenttype = "Supplier" and parent = '{0}'""".format(self.supplier), as_list = 1) - companies = [company[0] for company in companies] - if not self.company in companies: - frappe.throw(_("Supplier not allowed to transact with {0}. Please change the Company.").format(self.company)) - def check_for_closed_status(self): check_list = [] @@ -319,12 +306,7 @@ class PurchaseInvoice(BuyingController): self.update_project() self.update_fixed_asset() - self.update_linked_invoice() - - def update_linked_invoice(self): - if self.inter_company_invoice_reference: - frappe.db.set_value("Sales Invoice", self.inter_company_invoice_reference,\ - "inter_company_invoice_reference", self.name) + update_linked_invoice(self.doctype, self.name, self.inter_company_invoice_reference) def update_fixed_asset(self): for d in self.get("items"): @@ -657,7 +639,7 @@ class PurchaseInvoice(BuyingController): self.update_fixed_asset() frappe.db.set(self, 'status', 'Cancelled') - self.unlink_inter_company_invoice() + unlink_inter_company_invoice(self.doctype, self.name, self.inter_company_invoice_reference) def update_project(self): project_list = [] @@ -696,13 +678,6 @@ class PurchaseInvoice(BuyingController): pi = pi[0][0] frappe.throw(_("Supplier Invoice No exists in Purchase Invoice {0}".format(pi))) - def unlink_inter_company_invoice(self): - if self.inter_company_invoice_reference: - frappe.db.set_value("Purchase Invoice", self.name,\ - "inter_company_invoice_reference", "") - frappe.db.set_value("Sales Invoice", self.inter_company_invoice_reference,\ - "inter_company_invoice_reference", "") - def update_billing_status_in_pr(self, update_modified=True): updated_pr = [] for d in self.get("items"): diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js index 8e48cc3a89..77babf41f5 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js @@ -106,9 +106,10 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte frappe.model.with_doc("Customer", me.frm.doc.customer, function() { var customer = frappe.model.get_doc("Customer", me.frm.doc.customer); var internal = customer.is_internal_customer; - if (internal == 1) { + var disabled = customer.disabled; + if (internal == 1 && disabled == 0) { me.frm.add_custom_button("Inter Company Invoice", function() { - me.validate_inter_company_invoice(me.frm); + me.make_inter_company_invoice(); }, __("Make")); } }); @@ -239,24 +240,11 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte me.apply_pricing_rule(); }) }, - - validate_inter_company_invoice: function(frm) { - var me = this; - frappe.call({ - method: "erpnext.accounts.doctype.sales_invoice.sales_invoice.validate_inter_company_invoice", - args: {"doc": frm.doc}, - callback: function(r) { - if (r && r.message) { - me.make_inter_company_invoice(frm); - } - } - }); - }, - make_inter_company_invoice: function(frm) { + make_inter_company_invoice: function() { frappe.model.open_mapped_doc({ method: "erpnext.accounts.doctype.sales_invoice.sales_invoice.make_inter_company_purchase_invoice", - frm: frm + frm: me.frm }); }, diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index 7a8ee2434f..115cf14119 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -73,7 +73,7 @@ class SalesInvoice(SellingController): self.validate_account_for_change_amount() self.validate_fixed_asset() self.set_income_account_for_fixed_assets() - self.validate_inter_company_customer() + validate_inter_company_party(self.doctype, self.customer, self.company, self.inter_company_invoice_reference) if cint(self.is_pos): self.validate_pos() @@ -147,32 +147,12 @@ class SalesInvoice(SellingController): update_company_current_month_sales(self.company) self.update_project() - self.update_linked_invoice() + update_linked_invoice(self.doctype, self.name, self.inter_company_invoice_reference) def validate_pos_paid_amount(self): if len(self.payments) == 0 and self.is_pos: frappe.throw(_("At least one mode of payment is required for POS invoice.")) - def validate_inter_company_customer(self): - if frappe.db.get_value("Customer", self.customer, "is_internal_customer") == 1: - if self.inter_company_invoice_reference: - doc = frappe.get_doc("Purchase Invoice", self.inter_company_invoice_reference) - if not frappe.db.get_value("Customer", {"represents_company": doc.company}, "name") == self.customer: - frappe.throw(_("Invalid Customer for Inter Company Invoice")) - if not frappe.db.get_value("Supplier", {"name": doc.supplier}, "represents_company") == self.company: - frappe.throw(_("Invalid Company for Inter Company Invoice")) - else: - companies = frappe.db.sql("""select company from `tabAllowed To Transact With` - where parenttype = "Customer" and parent = '{0}'""".format(self.customer), as_list = 1) - companies = [company[0] for company in companies] - if not self.company in companies: - frappe.throw(_("Customer not allowed to transact with {0}. Please change the Company.").format(self.company)) - - def update_linked_invoice(self): - if self.inter_company_invoice_reference: - frappe.db.set_value("Purchase Invoice", self.inter_company_invoice_reference,\ - "inter_company_invoice_reference", self.name) - def before_cancel(self): self.update_time_sheet(None) @@ -208,7 +188,7 @@ class SalesInvoice(SellingController): update_company_current_month_sales(self.company) self.update_project() - self.unlink_inter_company_invoice() + unlink_inter_company_invoice(self.doctype, self.name, self.inter_company_invoice_reference) def update_status_updater_args(self): if cint(self.update_stock): @@ -931,18 +911,48 @@ class SalesInvoice(SellingController): project.update_billed_amount() project.save() - def unlink_inter_company_invoice(self): - if self.inter_company_invoice_reference: - frappe.db.set_value("Sales Invoice", self.name,\ - "inter_company_invoice_reference", "") - frappe.db.set_value("Purchase Invoice", self.inter_company_invoice_reference,\ - "inter_company_invoice_reference", "") def verify_payment_amount_is_positive(self): for entry in self.payments: if entry.amount < 0: frappe.throw(_("Row #{0} (Payment Table): Amount must be positive").format(entry.idx)) +def validate_inter_company_party(doctype, party, company, inter_company_invoice_reference): + if doctype == "Sales Invoice": + partytype, ref_partytype, internal = "Customer", "Supplier", "is_internal_customer" + ref_doc = "Purchase Invoice" + else: + partytype, ref_partytype, internal = "Supplier", "Customer", "is_internal_supplier" + ref_doc = "Sales Invoice" + + if inter_company_invoice_reference: + doc = frappe.get_doc(ref_doc, inter_company_invoice_reference) + ref_party = doc.supplier if doctype == "Sales Invoice" else doc.customer + if not frappe.db.get_value(partytype, {"represents_company": doc.company}, "name") == party: + frappe.throw(_("Invalid {0} for Inter Company Invoice.").format(partytype)) + if not frappe.db.get_value(ref_partytype, {"name": ref_party}, "represents_company") == company: + frappe.throw(_("Invalid Company for Inter Company Invoice.")) + + elif frappe.db.get_value(partytype, {"name": party, internal: 1}, "name") == party: + companies = frappe.db.sql("""select company from `tabAllowed To Transact With` + where parenttype = '{0}' and parent = '{1}'""".format(partytype, party), as_list = 1) + companies = [d[0] for d in companies] + if not company in companies: + frappe.throw(_("{0} not allowed to transact with {1}. Please change the Company.").format(partytype, company)) + +def update_linked_invoice(doctype, name, inter_company_invoice_reference): + if inter_company_invoice_reference: + frappe.db.set_value(doctype, inter_company_invoice_reference,\ + "inter_company_invoice_reference", name) + +def unlink_inter_company_invoice(doctype, name, inter_company_invoice_reference): + ref_doc = "Purchase Invoice" if doctype == "Sales Invoice" else "Sales Invoice" + if inter_company_invoice_reference: + frappe.db.set_value(doctype, name,\ + "inter_company_invoice_reference", "") + frappe.db.set_value(ref_doc, inter_company_invoice_reference,\ + "inter_company_invoice_reference", "") + def get_list_context(context=None): from erpnext.controllers.website_list_for_contact import get_list_context list_context = get_list_context(context) @@ -1026,58 +1036,44 @@ def set_account_for_mode_of_payment(self): def get_inter_company_details(doc, doctype): if doctype == "Sales Invoice": - party = frappe.db.get_value("Supplier", {"is_internal_supplier":1, "represents_company": doc.get("company")}, "name") - company = frappe.db.get_value("Customer", {"name": doc.get("customer")}, "represents_company") + party = frappe.db.get_value("Supplier", {"disabled": 0, "is_internal_supplier": 1, "represents_company": doc.company}, "name") + company = frappe.db.get_value("Customer", {"name": doc.customer}, "represents_company") else: - party = frappe.db.get_value("Customer", {"is_internal_customer":1, "represents_company": doc.get("company")}, "name") - company = frappe.db.get_value("Supplier", {"name": doc.get("supplier")}, "represents_company") + party = frappe.db.get_value("Customer", {"disabled": 0, "is_internal_customer": 1, "represents_company": doc.company}, "name") + company = frappe.db.get_value("Supplier", {"name": doc.supplier}, "represents_company") return { "party": party, "company": company } -@frappe.whitelist() -def validate_inter_company_invoice(doc): - doc = json.loads(doc) - doctype = doc.get("doctype") + +def validate_inter_company_invoice(doc, doctype): + details = get_inter_company_details(doc, doctype) - if doctype == "Sales Invoice": - buying = frappe.db.get_value("Price List", doc.get("selling_price_list"), "buying") - if not buying: - frappe.throw(_("Buying and Selling Price List should be same for Inter Company Transactions.")) + price_list = doc.selling_price_list if doctype == "Sales Invoice" else doc.buying_price_list + valid_price_list = frappe.db.get_value("Price List", {"name": price_list, "buying": 1, "selling": 1}) + if not valid_price_list: + frappe.throw(_("Selected Price List should have buying and selling fields checked.")) - supplier = details.get("party") - if not supplier: - frappe.throw(_("No Supplier found for Inter Company Transactions.")) + party = details.get("party") + if not party: + partytype = "Supplier" if doctype == "Sales Invoice" else "Customer" + frappe.throw(_("No {0} found for Inter Company Transactions.").format(partytype)) - company = details.get("company") - default_currency = frappe.db.get_value("Company", company, "default_currency") - if default_currency != doc.get("currency"): - frappe.throw(_("Company currencies of both the companies should match for Inter Company Transactions.")) - - else: - selling = frappe.db.get_value("Price List", doc.get("buying_price_list"), "selling") - if not selling: - frappe.throw(_("Buying and Selling Price List should be same for Inter Company Transactions.")) + company = details.get("company") + default_currency = frappe.db.get_value("Company", company, "default_currency") + if default_currency != doc.currency: + frappe.throw(_("Company currencies of both the companies should match for Inter Company Transactions.")) - customer = details.get("party") - if not customer: - frappe.throw(_("No Customer found for Inter Company Transactions.")) - - company = details.get("company") - default_currency = frappe.db.get_value("Company", company, "default_currency") - - if default_currency != doc.get("currency"): - frappe.throw(_("Company currencies of both the companies should match for Inter Company Transactions.")) - - return company + return @frappe.whitelist() def make_inter_company_purchase_invoice(source_name, target_doc=None): return make_inter_company_invoice("Sales Invoice", source_name, target_doc) def make_inter_company_invoice(doctype, source_name, target_doc=None): + from frappe.model.mapper import get_mapped_doc if doctype == "Sales Invoice": source_doc = frappe.get_doc("Sales Invoice", source_name) @@ -1086,6 +1082,7 @@ def make_inter_company_invoice(doctype, source_name, target_doc=None): source_doc = frappe.get_doc("Purchase Invoice", source_name) target_doctype = "Sales Invoice" + validate_inter_company_invoice(source_doc, doctype) details = get_inter_company_details(source_doc, doctype) def set_missing_values(source, target): @@ -1106,6 +1103,7 @@ def make_inter_company_invoice(doctype, source_name, target_doc=None): target_doc.income_account = "" target_doc.expense_account = "" target_doc.cost_center = "" + target_doc.warehouse = "" doclist = get_mapped_doc(doctype, source_name, { doctype: { From 27e4e244b6dbf4ce242a2c92b380c191c06e827d Mon Sep 17 00:00:00 2001 From: Shreya Date: Wed, 2 May 2018 14:14:14 +0530 Subject: [PATCH 18/19] fix codacy --- .../allowed_to_transact_with/allowed_to_transact_with.py | 1 - erpnext/accounts/doctype/sales_invoice/sales_invoice.py | 6 ++---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/erpnext/accounts/doctype/allowed_to_transact_with/allowed_to_transact_with.py b/erpnext/accounts/doctype/allowed_to_transact_with/allowed_to_transact_with.py index c4ab3b0961..a3e4bbcd09 100644 --- a/erpnext/accounts/doctype/allowed_to_transact_with/allowed_to_transact_with.py +++ b/erpnext/accounts/doctype/allowed_to_transact_with/allowed_to_transact_with.py @@ -3,7 +3,6 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document class AllowedToTransactWith(Document): diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index 115cf14119..17e45ac971 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -2,7 +2,7 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext, json +import frappe, erpnext import frappe.defaults from frappe.utils import cint, flt from frappe import _, msgprint, throw @@ -1043,7 +1043,7 @@ def get_inter_company_details(doc, doctype): company = frappe.db.get_value("Supplier", {"name": doc.supplier}, "represents_company") return { - "party": party, + "party": party, "company": company } @@ -1073,8 +1073,6 @@ def make_inter_company_purchase_invoice(source_name, target_doc=None): return make_inter_company_invoice("Sales Invoice", source_name, target_doc) def make_inter_company_invoice(doctype, source_name, target_doc=None): - - from frappe.model.mapper import get_mapped_doc if doctype == "Sales Invoice": source_doc = frappe.get_doc("Sales Invoice", source_name) target_doctype = "Purchase Invoice" From 330fae8652ecafa1f5a88d0826d3b6e1057a01a3 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Mon, 7 May 2018 16:11:35 +0530 Subject: [PATCH 19/19] minor fixes --- .../doctype/sales_invoice/sales_invoice.py | 18 +- erpnext/config/hr.py | 16 - .../employee_benefit_claim.json | 2 + .../employee_lifecycle_activity/__init__.py | 0 .../employee_lifecycle_activity.js | 8 - .../employee_lifecycle_activity.json | 227 ------------- .../employee_lifecycle_activity.py | 10 - .../test_employee_lifecycle_activity.js | 23 -- .../test_employee_lifecycle_activity.py | 10 - .../__init__.py | 0 .../employee_lifecycle_activity_type.js | 8 - .../employee_lifecycle_activity_type.json | 163 --------- .../employee_lifecycle_activity_type.py | 10 - .../test_employee_lifecycle_activity_type.js | 23 -- .../test_employee_lifecycle_activity_type.py | 10 - .../employee_lifecycle_process/__init__.py | 0 .../employee_lifecycle_process.js | 8 - .../employee_lifecycle_process.json | 320 ------------------ .../employee_lifecycle_process.py | 10 - .../test_employee_lifecycle_process.js | 23 -- .../test_employee_lifecycle_process.py | 10 - .../__init__.py | 0 .../employee_lifecycle_process_template.js | 8 - .../employee_lifecycle_process_template.json | 194 ----------- .../employee_lifecycle_process_template.py | 10 - ...est_employee_lifecycle_process_template.js | 23 -- ...est_employee_lifecycle_process_template.py | 10 - .../__init__.py | 0 ...e_lifecycle_process_template_activity.json | 137 -------- ...plate_activity.py~Added links in HR module | 10 - ...ifecycle_process_template_activity.py~HEAD | 10 - ...y.py~HEAD => employee_property_history.py} | 0 ...se] Patch and child table changes (#13656) | 10 - .../shift_assignment/shift_assignment.json | 4 - .../create_salary_structure_assignments.py | 6 - 35 files changed, 12 insertions(+), 1309 deletions(-) delete mode 100644 erpnext/hr/doctype/employee_lifecycle_activity/__init__.py delete mode 100644 erpnext/hr/doctype/employee_lifecycle_activity/employee_lifecycle_activity.js delete mode 100644 erpnext/hr/doctype/employee_lifecycle_activity/employee_lifecycle_activity.json delete mode 100644 erpnext/hr/doctype/employee_lifecycle_activity/employee_lifecycle_activity.py delete mode 100644 erpnext/hr/doctype/employee_lifecycle_activity/test_employee_lifecycle_activity.js delete mode 100644 erpnext/hr/doctype/employee_lifecycle_activity/test_employee_lifecycle_activity.py delete mode 100644 erpnext/hr/doctype/employee_lifecycle_activity_type/__init__.py delete mode 100644 erpnext/hr/doctype/employee_lifecycle_activity_type/employee_lifecycle_activity_type.js delete mode 100644 erpnext/hr/doctype/employee_lifecycle_activity_type/employee_lifecycle_activity_type.json delete mode 100644 erpnext/hr/doctype/employee_lifecycle_activity_type/employee_lifecycle_activity_type.py delete mode 100644 erpnext/hr/doctype/employee_lifecycle_activity_type/test_employee_lifecycle_activity_type.js delete mode 100644 erpnext/hr/doctype/employee_lifecycle_activity_type/test_employee_lifecycle_activity_type.py delete mode 100644 erpnext/hr/doctype/employee_lifecycle_process/__init__.py delete mode 100644 erpnext/hr/doctype/employee_lifecycle_process/employee_lifecycle_process.js delete mode 100644 erpnext/hr/doctype/employee_lifecycle_process/employee_lifecycle_process.json delete mode 100644 erpnext/hr/doctype/employee_lifecycle_process/employee_lifecycle_process.py delete mode 100644 erpnext/hr/doctype/employee_lifecycle_process/test_employee_lifecycle_process.js delete mode 100644 erpnext/hr/doctype/employee_lifecycle_process/test_employee_lifecycle_process.py delete mode 100644 erpnext/hr/doctype/employee_lifecycle_process_template/__init__.py delete mode 100644 erpnext/hr/doctype/employee_lifecycle_process_template/employee_lifecycle_process_template.js delete mode 100644 erpnext/hr/doctype/employee_lifecycle_process_template/employee_lifecycle_process_template.json delete mode 100644 erpnext/hr/doctype/employee_lifecycle_process_template/employee_lifecycle_process_template.py delete mode 100644 erpnext/hr/doctype/employee_lifecycle_process_template/test_employee_lifecycle_process_template.js delete mode 100644 erpnext/hr/doctype/employee_lifecycle_process_template/test_employee_lifecycle_process_template.py delete mode 100644 erpnext/hr/doctype/employee_lifecycle_process_template_activity/__init__.py delete mode 100644 erpnext/hr/doctype/employee_lifecycle_process_template_activity/employee_lifecycle_process_template_activity.json delete mode 100644 erpnext/hr/doctype/employee_lifecycle_process_template_activity/employee_lifecycle_process_template_activity.py~Added links in HR module delete mode 100644 erpnext/hr/doctype/employee_lifecycle_process_template_activity/employee_lifecycle_process_template_activity.py~HEAD rename erpnext/hr/doctype/employee_property_history/{employee_property_history.py~HEAD => employee_property_history.py} (100%) delete mode 100644 erpnext/hr/doctype/employee_property_history/employee_property_history.py~[Enterprise] Patch and child table changes (#13656) diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index 17e45ac971..f27d3775b7 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -1097,20 +1097,22 @@ def make_inter_company_invoice(doctype, source_name, target_doc=None): target_doc.customer = details.get("party") target_doc.selling_price_list = source_doc.buying_price_list - def update_item(source_doc, target_doc, source_parent): - target_doc.income_account = "" - target_doc.expense_account = "" - target_doc.cost_center = "" - target_doc.warehouse = "" - doclist = get_mapped_doc(doctype, source_name, { doctype: { "doctype": target_doctype, - "postprocess": update_details + "postprocess": update_details, + "field_no_map": [ + "taxes_and_charges" + ] }, doctype +" Item": { "doctype": target_doctype + " Item", - "postprocess": update_item + "field_no_map": [ + "income_account", + "expense_account", + "cost_center", + "warehouse" + ] } }, target_doc, set_missing_values) diff --git a/erpnext/config/hr.py b/erpnext/config/hr.py index cdb7180756..4e9e91ef3b 100644 --- a/erpnext/config/hr.py +++ b/erpnext/config/hr.py @@ -196,22 +196,6 @@ def get_data(): { "type": "doctype", "name": "Employee Promotion", - }, - { - "type": "doctype", - "name": "Employee Lifecycle Activity", - }, - { - "type": "doctype", - "name": "Employee Lifecycle Activity Type", - }, - { - "type": "doctype", - "name": "Employee Lifecycle Process Template", - }, - { - "type": "doctype", - "name": "Employee Lifecycle Process", } ] }, diff --git a/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.json b/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.json index fed15edf84..00d5159c51 100644 --- a/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.json +++ b/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.json @@ -459,3 +459,5 @@ "sort_order": "DESC", "title_field": "employee_name", "track_changes": 1, + "track_seen": 0 +} \ No newline at end of file diff --git a/erpnext/hr/doctype/employee_lifecycle_activity/__init__.py b/erpnext/hr/doctype/employee_lifecycle_activity/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/erpnext/hr/doctype/employee_lifecycle_activity/employee_lifecycle_activity.js b/erpnext/hr/doctype/employee_lifecycle_activity/employee_lifecycle_activity.js deleted file mode 100644 index 4cd5f0f06d..0000000000 --- a/erpnext/hr/doctype/employee_lifecycle_activity/employee_lifecycle_activity.js +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors -// For license information, please see license.txt - -frappe.ui.form.on('Employee Lifecycle Activity', { - refresh: function(frm) { - - } -}); diff --git a/erpnext/hr/doctype/employee_lifecycle_activity/employee_lifecycle_activity.json b/erpnext/hr/doctype/employee_lifecycle_activity/employee_lifecycle_activity.json deleted file mode 100644 index 28b22fd318..0000000000 --- a/erpnext/hr/doctype/employee_lifecycle_activity/employee_lifecycle_activity.json +++ /dev/null @@ -1,227 +0,0 @@ -{ - "allow_copy": 0, - "allow_guest_to_view": 0, - "allow_import": 0, - "allow_rename": 0, - "autoname": "prompt", - "beta": 0, - "creation": "2018-04-13 17:58:34.106717", - "custom": 0, - "docstatus": 0, - "doctype": "DocType", - "document_type": "", - "editable_grid": 1, - "engine": "InnoDB", - "fields": [ - { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "activity_type", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 1, - "in_standard_filter": 0, - "label": "Activity Type", - "length": 0, - "no_copy": 0, - "options": "Activity Type", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 1, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, - "unique": 0 - }, - { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "employee_lifecycle_process", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Employee Lifecycle Process", - "length": 0, - "no_copy": 0, - "options": "Employee Lifecycle Process", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 1, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, - "unique": 0 - }, - { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "status", - "fieldtype": "Select", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Status", - "length": 0, - "no_copy": 0, - "options": "Pending\nCompleted", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, - "unique": 0 - }, - { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "amended_from", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Amended From", - "length": 0, - "no_copy": 1, - "options": "Employee Lifecycle Activity", - "permlevel": 0, - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 1, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, - "unique": 0 - } - ], - "has_web_view": 0, - "hide_heading": 0, - "hide_toolbar": 0, - "idx": 0, - "image_view": 0, - "in_create": 0, - "is_submittable": 1, - "issingle": 0, - "istable": 0, - "max_attachments": 0, - "modified": "2018-04-13 18:48:06.800183", - "modified_by": "Administrator", - "module": "HR", - "name": "Employee Lifecycle Activity", - "name_case": "", - "owner": "Administrator", - "permissions": [ - { - "amend": 0, - "cancel": 0, - "create": 0, - "delete": 0, - "email": 1, - "export": 1, - "if_owner": 0, - "import": 0, - "permlevel": 0, - "print": 1, - "read": 1, - "report": 1, - "role": "Employee", - "set_user_permissions": 0, - "share": 1, - "submit": 0, - "write": 0 - }, - { - "amend": 0, - "cancel": 0, - "create": 1, - "delete": 0, - "email": 1, - "export": 1, - "if_owner": 0, - "import": 0, - "permlevel": 0, - "print": 1, - "read": 1, - "report": 1, - "role": "HR User", - "set_user_permissions": 0, - "share": 1, - "submit": 1, - "write": 1 - }, - { - "amend": 1, - "cancel": 1, - "create": 1, - "delete": 1, - "email": 1, - "export": 1, - "if_owner": 0, - "import": 0, - "permlevel": 0, - "print": 1, - "read": 1, - "report": 1, - "role": "HR Manager", - "set_user_permissions": 0, - "share": 1, - "submit": 1, - "write": 1 - } - ], - "quick_entry": 1, - "read_only": 0, - "read_only_onload": 0, - "show_name_in_global_search": 0, - "sort_field": "modified", - "sort_order": "DESC", - "track_changes": 1, - "track_seen": 0 -} \ No newline at end of file diff --git a/erpnext/hr/doctype/employee_lifecycle_activity/employee_lifecycle_activity.py b/erpnext/hr/doctype/employee_lifecycle_activity/employee_lifecycle_activity.py deleted file mode 100644 index a8770310aa..0000000000 --- a/erpnext/hr/doctype/employee_lifecycle_activity/employee_lifecycle_activity.py +++ /dev/null @@ -1,10 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors -# For license information, please see license.txt - -from __future__ import unicode_literals -import frappe -from frappe.model.document import Document - -class EmployeeLifecycleActivity(Document): - pass diff --git a/erpnext/hr/doctype/employee_lifecycle_activity/test_employee_lifecycle_activity.js b/erpnext/hr/doctype/employee_lifecycle_activity/test_employee_lifecycle_activity.js deleted file mode 100644 index 64a28d9d68..0000000000 --- a/erpnext/hr/doctype/employee_lifecycle_activity/test_employee_lifecycle_activity.js +++ /dev/null @@ -1,23 +0,0 @@ -/* eslint-disable */ -// rename this file from _test_[name] to test_[name] to activate -// and remove above this line - -QUnit.test("test: Employee Lifecycle Activity", function (assert) { - let done = assert.async(); - - // number of asserts - assert.expect(1); - - frappe.run_serially([ - // insert a new Employee Lifecycle Activity - () => frappe.tests.make('Employee Lifecycle Activity', [ - // values to be set - {key: 'value'} - ]), - () => { - assert.equal(cur_frm.doc.key, 'value'); - }, - () => done() - ]); - -}); diff --git a/erpnext/hr/doctype/employee_lifecycle_activity/test_employee_lifecycle_activity.py b/erpnext/hr/doctype/employee_lifecycle_activity/test_employee_lifecycle_activity.py deleted file mode 100644 index e90de0f6f9..0000000000 --- a/erpnext/hr/doctype/employee_lifecycle_activity/test_employee_lifecycle_activity.py +++ /dev/null @@ -1,10 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors -# See license.txt -from __future__ import unicode_literals - -import frappe -import unittest - -class TestEmployeeLifecycleActivity(unittest.TestCase): - pass diff --git a/erpnext/hr/doctype/employee_lifecycle_activity_type/__init__.py b/erpnext/hr/doctype/employee_lifecycle_activity_type/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/erpnext/hr/doctype/employee_lifecycle_activity_type/employee_lifecycle_activity_type.js b/erpnext/hr/doctype/employee_lifecycle_activity_type/employee_lifecycle_activity_type.js deleted file mode 100644 index 7935e4fd34..0000000000 --- a/erpnext/hr/doctype/employee_lifecycle_activity_type/employee_lifecycle_activity_type.js +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors -// For license information, please see license.txt - -frappe.ui.form.on('Employee Lifecycle Activity Type', { - refresh: function(frm) { - - } -}); diff --git a/erpnext/hr/doctype/employee_lifecycle_activity_type/employee_lifecycle_activity_type.json b/erpnext/hr/doctype/employee_lifecycle_activity_type/employee_lifecycle_activity_type.json deleted file mode 100644 index 793b79a71b..0000000000 --- a/erpnext/hr/doctype/employee_lifecycle_activity_type/employee_lifecycle_activity_type.json +++ /dev/null @@ -1,163 +0,0 @@ -{ - "allow_copy": 0, - "allow_guest_to_view": 0, - "allow_import": 0, - "allow_rename": 0, - "autoname": "ELAT.#####", - "beta": 0, - "creation": "2018-04-13 17:34:21.728815", - "custom": 0, - "docstatus": 0, - "doctype": "DocType", - "document_type": "", - "editable_grid": 1, - "engine": "InnoDB", - "fields": [ - { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "activity_type", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 1, - "in_standard_filter": 0, - "label": "Activity Type", - "length": 0, - "no_copy": 0, - "options": "Activity Type", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 1, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, - "unique": 0 - }, - { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "before_employee_creation", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Before Employee Creation", - "length": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, - "unique": 0 - } - ], - "has_web_view": 0, - "hide_heading": 0, - "hide_toolbar": 0, - "idx": 0, - "image_view": 0, - "in_create": 0, - "is_submittable": 0, - "issingle": 0, - "istable": 0, - "max_attachments": 0, - "modified": "2018-04-13 19:02:22.731902", - "modified_by": "Administrator", - "module": "HR", - "name": "Employee Lifecycle Activity Type", - "name_case": "", - "owner": "Administrator", - "permissions": [ - { - "amend": 0, - "cancel": 0, - "create": 0, - "delete": 0, - "email": 1, - "export": 1, - "if_owner": 0, - "import": 0, - "permlevel": 0, - "print": 1, - "read": 1, - "report": 1, - "role": "Employee", - "set_user_permissions": 0, - "share": 1, - "submit": 0, - "write": 0 - }, - { - "amend": 0, - "cancel": 0, - "create": 1, - "delete": 1, - "email": 1, - "export": 1, - "if_owner": 0, - "import": 0, - "permlevel": 0, - "print": 1, - "read": 1, - "report": 1, - "role": "HR Manager", - "set_user_permissions": 0, - "share": 1, - "submit": 0, - "write": 1 - }, - { - "amend": 0, - "cancel": 0, - "create": 1, - "delete": 0, - "email": 1, - "export": 1, - "if_owner": 0, - "import": 0, - "permlevel": 0, - "print": 1, - "read": 1, - "report": 1, - "role": "HR User", - "set_user_permissions": 0, - "share": 1, - "submit": 0, - "write": 1 - } - ], - "quick_entry": 1, - "read_only": 0, - "read_only_onload": 0, - "show_name_in_global_search": 0, - "sort_field": "modified", - "sort_order": "DESC", - "track_changes": 1, - "track_seen": 0 -} \ No newline at end of file diff --git a/erpnext/hr/doctype/employee_lifecycle_activity_type/employee_lifecycle_activity_type.py b/erpnext/hr/doctype/employee_lifecycle_activity_type/employee_lifecycle_activity_type.py deleted file mode 100644 index aca6bd495b..0000000000 --- a/erpnext/hr/doctype/employee_lifecycle_activity_type/employee_lifecycle_activity_type.py +++ /dev/null @@ -1,10 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors -# For license information, please see license.txt - -from __future__ import unicode_literals -import frappe -from frappe.model.document import Document - -class EmployeeLifecycleActivityType(Document): - pass diff --git a/erpnext/hr/doctype/employee_lifecycle_activity_type/test_employee_lifecycle_activity_type.js b/erpnext/hr/doctype/employee_lifecycle_activity_type/test_employee_lifecycle_activity_type.js deleted file mode 100644 index b775086ee5..0000000000 --- a/erpnext/hr/doctype/employee_lifecycle_activity_type/test_employee_lifecycle_activity_type.js +++ /dev/null @@ -1,23 +0,0 @@ -/* eslint-disable */ -// rename this file from _test_[name] to test_[name] to activate -// and remove above this line - -QUnit.test("test: Employee Lifecycle Activity Type", function (assert) { - let done = assert.async(); - - // number of asserts - assert.expect(1); - - frappe.run_serially([ - // insert a new Employee Lifecycle Activity Type - () => frappe.tests.make('Employee Lifecycle Activity Type', [ - // values to be set - {key: 'value'} - ]), - () => { - assert.equal(cur_frm.doc.key, 'value'); - }, - () => done() - ]); - -}); diff --git a/erpnext/hr/doctype/employee_lifecycle_activity_type/test_employee_lifecycle_activity_type.py b/erpnext/hr/doctype/employee_lifecycle_activity_type/test_employee_lifecycle_activity_type.py deleted file mode 100644 index ff3e2c7aa3..0000000000 --- a/erpnext/hr/doctype/employee_lifecycle_activity_type/test_employee_lifecycle_activity_type.py +++ /dev/null @@ -1,10 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors -# See license.txt -from __future__ import unicode_literals - -import frappe -import unittest - -class TestEmployeeLifecycleActivityType(unittest.TestCase): - pass diff --git a/erpnext/hr/doctype/employee_lifecycle_process/__init__.py b/erpnext/hr/doctype/employee_lifecycle_process/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/erpnext/hr/doctype/employee_lifecycle_process/employee_lifecycle_process.js b/erpnext/hr/doctype/employee_lifecycle_process/employee_lifecycle_process.js deleted file mode 100644 index 406436e05c..0000000000 --- a/erpnext/hr/doctype/employee_lifecycle_process/employee_lifecycle_process.js +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors -// For license information, please see license.txt - -frappe.ui.form.on('Employee Lifecycle Process', { - refresh: function(frm) { - - } -}); diff --git a/erpnext/hr/doctype/employee_lifecycle_process/employee_lifecycle_process.json b/erpnext/hr/doctype/employee_lifecycle_process/employee_lifecycle_process.json deleted file mode 100644 index 86b01582f1..0000000000 --- a/erpnext/hr/doctype/employee_lifecycle_process/employee_lifecycle_process.json +++ /dev/null @@ -1,320 +0,0 @@ -{ - "allow_copy": 0, - "allow_guest_to_view": 0, - "allow_import": 0, - "allow_rename": 0, - "autoname": "ELP.#####", - "beta": 0, - "creation": "2018-04-13 17:55:47.341454", - "custom": 0, - "docstatus": 0, - "doctype": "DocType", - "document_type": "", - "editable_grid": 1, - "engine": "InnoDB", - "fields": [ - { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "employee", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 1, - "in_standard_filter": 0, - "label": "Employee", - "length": 0, - "no_copy": 0, - "options": "Employee", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, - "unique": 0 - }, - { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "job_applicant", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Job Applicant", - "length": 0, - "no_copy": 0, - "options": "Job Applicant", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, - "unique": 0 - }, - { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "column_break_3", - "fieldtype": "Column Break", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "length": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, - "unique": 0 - }, - { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "status", - "fieldtype": "Select", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Status", - "length": 0, - "no_copy": 0, - "options": "Pending\nComplated", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, - "unique": 0 - }, - { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "lifecycle_process_details", - "fieldtype": "Section Break", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Lifecycle Process Details", - "length": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, - "unique": 0 - }, - { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "process_section", - "fieldtype": "Table", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Employee Lifecycle Process Template Detail", - "length": 0, - "no_copy": 0, - "options": "Employee Lifecycle Process Template Detail", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 1, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, - "unique": 0 - }, - { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "amended_from", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Amended From", - "length": 0, - "no_copy": 1, - "options": "Employee Lifecycle Process", - "permlevel": 0, - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 1, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, - "unique": 0 - } - ], - "has_web_view": 0, - "hide_heading": 0, - "hide_toolbar": 0, - "idx": 0, - "image_view": 0, - "in_create": 0, - "is_submittable": 1, - "issingle": 0, - "istable": 0, - "max_attachments": 0, - "modified": "2018-04-13 19:00:17.008613", - "modified_by": "Administrator", - "module": "HR", - "name": "Employee Lifecycle Process", - "name_case": "", - "owner": "Administrator", - "permissions": [ - { - "amend": 0, - "cancel": 0, - "create": 0, - "delete": 0, - "email": 1, - "export": 1, - "if_owner": 0, - "import": 0, - "permlevel": 0, - "print": 1, - "read": 1, - "report": 1, - "role": "Employee", - "set_user_permissions": 0, - "share": 1, - "submit": 0, - "write": 0 - }, - { - "amend": 0, - "cancel": 0, - "create": 1, - "delete": 0, - "email": 1, - "export": 1, - "if_owner": 0, - "import": 0, - "permlevel": 0, - "print": 1, - "read": 1, - "report": 1, - "role": "HR User", - "set_user_permissions": 0, - "share": 1, - "submit": 1, - "write": 1 - }, - { - "amend": 1, - "cancel": 1, - "create": 1, - "delete": 1, - "email": 1, - "export": 1, - "if_owner": 0, - "import": 0, - "permlevel": 0, - "print": 1, - "read": 1, - "report": 1, - "role": "HR Manager", - "set_user_permissions": 0, - "share": 1, - "submit": 1, - "write": 1 - } - ], - "quick_entry": 0, - "read_only": 0, - "read_only_onload": 0, - "show_name_in_global_search": 0, - "sort_field": "modified", - "sort_order": "DESC", - "track_changes": 1, - "track_seen": 0 -} \ No newline at end of file diff --git a/erpnext/hr/doctype/employee_lifecycle_process/employee_lifecycle_process.py b/erpnext/hr/doctype/employee_lifecycle_process/employee_lifecycle_process.py deleted file mode 100644 index 8f051184b7..0000000000 --- a/erpnext/hr/doctype/employee_lifecycle_process/employee_lifecycle_process.py +++ /dev/null @@ -1,10 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors -# For license information, please see license.txt - -from __future__ import unicode_literals -import frappe -from frappe.model.document import Document - -class EmployeeLifecycleProcess(Document): - pass diff --git a/erpnext/hr/doctype/employee_lifecycle_process/test_employee_lifecycle_process.js b/erpnext/hr/doctype/employee_lifecycle_process/test_employee_lifecycle_process.js deleted file mode 100644 index cd892d9a0f..0000000000 --- a/erpnext/hr/doctype/employee_lifecycle_process/test_employee_lifecycle_process.js +++ /dev/null @@ -1,23 +0,0 @@ -/* eslint-disable */ -// rename this file from _test_[name] to test_[name] to activate -// and remove above this line - -QUnit.test("test: Employee Lifecycle Process", function (assert) { - let done = assert.async(); - - // number of asserts - assert.expect(1); - - frappe.run_serially([ - // insert a new Employee Lifecycle Process - () => frappe.tests.make('Employee Lifecycle Process', [ - // values to be set - {key: 'value'} - ]), - () => { - assert.equal(cur_frm.doc.key, 'value'); - }, - () => done() - ]); - -}); diff --git a/erpnext/hr/doctype/employee_lifecycle_process/test_employee_lifecycle_process.py b/erpnext/hr/doctype/employee_lifecycle_process/test_employee_lifecycle_process.py deleted file mode 100644 index f680311d51..0000000000 --- a/erpnext/hr/doctype/employee_lifecycle_process/test_employee_lifecycle_process.py +++ /dev/null @@ -1,10 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors -# See license.txt -from __future__ import unicode_literals - -import frappe -import unittest - -class TestEmployeeLifecycleProcess(unittest.TestCase): - pass diff --git a/erpnext/hr/doctype/employee_lifecycle_process_template/__init__.py b/erpnext/hr/doctype/employee_lifecycle_process_template/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/erpnext/hr/doctype/employee_lifecycle_process_template/employee_lifecycle_process_template.js b/erpnext/hr/doctype/employee_lifecycle_process_template/employee_lifecycle_process_template.js deleted file mode 100644 index c9ce3d10c7..0000000000 --- a/erpnext/hr/doctype/employee_lifecycle_process_template/employee_lifecycle_process_template.js +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors -// For license information, please see license.txt - -frappe.ui.form.on('Employee Lifecycle Process Template', { - refresh: function(frm) { - - } -}); diff --git a/erpnext/hr/doctype/employee_lifecycle_process_template/employee_lifecycle_process_template.json b/erpnext/hr/doctype/employee_lifecycle_process_template/employee_lifecycle_process_template.json deleted file mode 100644 index 582a94f4ac..0000000000 --- a/erpnext/hr/doctype/employee_lifecycle_process_template/employee_lifecycle_process_template.json +++ /dev/null @@ -1,194 +0,0 @@ -{ - "allow_copy": 0, - "allow_guest_to_view": 0, - "allow_import": 0, - "allow_rename": 0, - "autoname": "ELCP.#####", - "beta": 0, - "creation": "2018-04-13 17:40:38.806266", - "custom": 0, - "docstatus": 0, - "doctype": "DocType", - "document_type": "", - "editable_grid": 1, - "engine": "InnoDB", - "fields": [ - { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "process_section", - "fieldtype": "Section Break", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Lifecycle Process Details", - "length": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, - "unique": 0 - }, - { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "process_details", - "fieldtype": "Table", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Employee Lifecycle Process Template Detail", - "length": 0, - "no_copy": 0, - "options": "Employee Lifecycle Process Template Activity", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 1, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, - "unique": 0 - }, - { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "amended_from", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Amended From", - "length": 0, - "no_copy": 1, - "options": "Employee Lifecycle Process Template", - "permlevel": 0, - "print_hide": 1, - "print_hide_if_no_value": 0, - "read_only": 1, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, - "unique": 0 - } - ], - "has_web_view": 0, - "hide_heading": 0, - "hide_toolbar": 0, - "idx": 0, - "image_view": 0, - "in_create": 0, - "is_submittable": 1, - "issingle": 0, - "istable": 0, - "max_attachments": 0, - "modified": "2018-04-14 11:35:19.465613", - "modified_by": "Administrator", - "module": "HR", - "name": "Employee Lifecycle Process Template", - "name_case": "", - "owner": "Administrator", - "permissions": [ - { - "amend": 0, - "cancel": 0, - "create": 0, - "delete": 0, - "email": 1, - "export": 1, - "if_owner": 0, - "import": 0, - "permlevel": 0, - "print": 1, - "read": 1, - "report": 1, - "role": "Employee", - "set_user_permissions": 0, - "share": 1, - "submit": 0, - "write": 0 - }, - { - "amend": 0, - "cancel": 0, - "create": 1, - "delete": 0, - "email": 1, - "export": 1, - "if_owner": 0, - "import": 0, - "permlevel": 0, - "print": 1, - "read": 1, - "report": 1, - "role": "HR User", - "set_user_permissions": 0, - "share": 1, - "submit": 1, - "write": 1 - }, - { - "amend": 1, - "cancel": 1, - "create": 1, - "delete": 1, - "email": 1, - "export": 1, - "if_owner": 0, - "import": 0, - "permlevel": 0, - "print": 1, - "read": 1, - "report": 1, - "role": "HR Manager", - "set_user_permissions": 0, - "share": 1, - "submit": 1, - "write": 1 - } - ], - "quick_entry": 1, - "read_only": 0, - "read_only_onload": 0, - "show_name_in_global_search": 0, - "sort_field": "modified", - "sort_order": "DESC", - "track_changes": 1, - "track_seen": 0 -} \ No newline at end of file diff --git a/erpnext/hr/doctype/employee_lifecycle_process_template/employee_lifecycle_process_template.py b/erpnext/hr/doctype/employee_lifecycle_process_template/employee_lifecycle_process_template.py deleted file mode 100644 index b6f3a438a0..0000000000 --- a/erpnext/hr/doctype/employee_lifecycle_process_template/employee_lifecycle_process_template.py +++ /dev/null @@ -1,10 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors -# For license information, please see license.txt - -from __future__ import unicode_literals -import frappe -from frappe.model.document import Document - -class EmployeeLifecycleProcessTemplate(Document): - pass diff --git a/erpnext/hr/doctype/employee_lifecycle_process_template/test_employee_lifecycle_process_template.js b/erpnext/hr/doctype/employee_lifecycle_process_template/test_employee_lifecycle_process_template.js deleted file mode 100644 index 607ccd52fa..0000000000 --- a/erpnext/hr/doctype/employee_lifecycle_process_template/test_employee_lifecycle_process_template.js +++ /dev/null @@ -1,23 +0,0 @@ -/* eslint-disable */ -// rename this file from _test_[name] to test_[name] to activate -// and remove above this line - -QUnit.test("test: Employee Lifecycle Process Template", function (assert) { - let done = assert.async(); - - // number of asserts - assert.expect(1); - - frappe.run_serially([ - // insert a new Employee Lifecycle Process Template - () => frappe.tests.make('Employee Lifecycle Process Template', [ - // values to be set - {key: 'value'} - ]), - () => { - assert.equal(cur_frm.doc.key, 'value'); - }, - () => done() - ]); - -}); diff --git a/erpnext/hr/doctype/employee_lifecycle_process_template/test_employee_lifecycle_process_template.py b/erpnext/hr/doctype/employee_lifecycle_process_template/test_employee_lifecycle_process_template.py deleted file mode 100644 index 916cfe1fd1..0000000000 --- a/erpnext/hr/doctype/employee_lifecycle_process_template/test_employee_lifecycle_process_template.py +++ /dev/null @@ -1,10 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors -# See license.txt -from __future__ import unicode_literals - -import frappe -import unittest - -class TestEmployeeLifecycleProcessTemplate(unittest.TestCase): - pass diff --git a/erpnext/hr/doctype/employee_lifecycle_process_template_activity/__init__.py b/erpnext/hr/doctype/employee_lifecycle_process_template_activity/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/erpnext/hr/doctype/employee_lifecycle_process_template_activity/employee_lifecycle_process_template_activity.json b/erpnext/hr/doctype/employee_lifecycle_process_template_activity/employee_lifecycle_process_template_activity.json deleted file mode 100644 index 6d3c96cf4b..0000000000 --- a/erpnext/hr/doctype/employee_lifecycle_process_template_activity/employee_lifecycle_process_template_activity.json +++ /dev/null @@ -1,137 +0,0 @@ -{ - "allow_copy": 0, - "allow_guest_to_view": 0, - "allow_import": 0, - "allow_rename": 0, - "beta": 0, - "creation": "2018-04-14 11:34:30.508196", - "custom": 0, - "docstatus": 0, - "doctype": "DocType", - "document_type": "", - "editable_grid": 1, - "engine": "InnoDB", - "fields": [ - { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "employee_lifecycle_activity_type", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 1, - "in_standard_filter": 0, - "label": "Employee Lifecycle Activity Type ", - "length": 0, - "no_copy": 0, - "options": "Employee Lifecycle Activity Type", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 1, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, - "unique": 0 - }, - { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "role", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 1, - "in_standard_filter": 0, - "label": "Role", - "length": 0, - "no_copy": 0, - "options": "Role", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, - "unique": 0 - }, - { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "user", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 1, - "in_standard_filter": 0, - "label": "User", - "length": 0, - "no_copy": 0, - "options": "User", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "translatable": 0, - "unique": 0 - } - ], - "has_web_view": 0, - "hide_heading": 0, - "hide_toolbar": 0, - "idx": 0, - "image_view": 0, - "in_create": 0, - "is_submittable": 0, - "issingle": 0, - "istable": 1, - "max_attachments": 0, - "modified": "2018-04-14 11:34:30.508196", - "modified_by": "Administrator", - "module": "HR", - "name": "Employee Lifecycle Process Template Activity", - "name_case": "", - "owner": "Administrator", - "permissions": [], - "quick_entry": 1, - "read_only": 0, - "read_only_onload": 0, - "show_name_in_global_search": 0, - "sort_field": "modified", - "sort_order": "DESC", - "track_changes": 1, - "track_seen": 0 -} \ No newline at end of file diff --git a/erpnext/hr/doctype/employee_lifecycle_process_template_activity/employee_lifecycle_process_template_activity.py~Added links in HR module b/erpnext/hr/doctype/employee_lifecycle_process_template_activity/employee_lifecycle_process_template_activity.py~Added links in HR module deleted file mode 100644 index eeea2366b1..0000000000 --- a/erpnext/hr/doctype/employee_lifecycle_process_template_activity/employee_lifecycle_process_template_activity.py~Added links in HR module +++ /dev/null @@ -1,10 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors -# For license information, please see license.txt - -from __future__ import unicode_literals -import frappe -from frappe.model.document import Document - -class EmployeeLifecycleProcessTemplateActivity(Document): - pass diff --git a/erpnext/hr/doctype/employee_lifecycle_process_template_activity/employee_lifecycle_process_template_activity.py~HEAD b/erpnext/hr/doctype/employee_lifecycle_process_template_activity/employee_lifecycle_process_template_activity.py~HEAD deleted file mode 100644 index eeea2366b1..0000000000 --- a/erpnext/hr/doctype/employee_lifecycle_process_template_activity/employee_lifecycle_process_template_activity.py~HEAD +++ /dev/null @@ -1,10 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors -# For license information, please see license.txt - -from __future__ import unicode_literals -import frappe -from frappe.model.document import Document - -class EmployeeLifecycleProcessTemplateActivity(Document): - pass diff --git a/erpnext/hr/doctype/employee_property_history/employee_property_history.py~HEAD b/erpnext/hr/doctype/employee_property_history/employee_property_history.py similarity index 100% rename from erpnext/hr/doctype/employee_property_history/employee_property_history.py~HEAD rename to erpnext/hr/doctype/employee_property_history/employee_property_history.py diff --git a/erpnext/hr/doctype/employee_property_history/employee_property_history.py~[Enterprise] Patch and child table changes (#13656) b/erpnext/hr/doctype/employee_property_history/employee_property_history.py~[Enterprise] Patch and child table changes (#13656) deleted file mode 100644 index fb67852d16..0000000000 --- a/erpnext/hr/doctype/employee_property_history/employee_property_history.py~[Enterprise] Patch and child table changes (#13656) +++ /dev/null @@ -1,10 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors -# For license information, please see license.txt - -from __future__ import unicode_literals -import frappe -from frappe.model.document import Document - -class EmployeePropertyHistory(Document): - pass diff --git a/erpnext/hr/doctype/shift_assignment/shift_assignment.json b/erpnext/hr/doctype/shift_assignment/shift_assignment.json index 86c1708f5f..897cfed68a 100644 --- a/erpnext/hr/doctype/shift_assignment/shift_assignment.json +++ b/erpnext/hr/doctype/shift_assignment/shift_assignment.json @@ -307,11 +307,7 @@ "issingle": 0, "istable": 0, "max_attachments": 0, -<<<<<<< HEAD "modified": "2018-04-17 14:50:09.125737", -======= - "modified": "2018-04-14 15:42:12.617715", ->>>>>>> Removed employee table from Salary Structure and added employee name in all forms "modified_by": "Administrator", "module": "HR", "name": "Shift Assignment", diff --git a/erpnext/patches/v11_0/create_salary_structure_assignments.py b/erpnext/patches/v11_0/create_salary_structure_assignments.py index cf7646bcf5..289554ee1a 100644 --- a/erpnext/patches/v11_0/create_salary_structure_assignments.py +++ b/erpnext/patches/v11_0/create_salary_structure_assignments.py @@ -7,14 +7,8 @@ import frappe def execute(): frappe.reload_doc("hr", "doctype", "salary_structure_assignment") for d in frappe.db.sql(""" -<<<<<<< HEAD select sse.*, ss.company from `tabSalary Structure Employee` sse, `tabSalary Structure` ss where ss.name = sse.parent""", as_dict=1): -======= - select * from `tabSalary Structure Employee` sse, `tabSalary Structure` ss - where ss.name = sse.parent""", as_dict=1): - ->>>>>>> Removed employee table from Salary Structure and added employee name in all forms s = frappe.new_doc("Salary Structure Assignment") s.employee = d.employee s.employee_name = d.employee_name