Merge pull request #17310 from nabinhait/ar-fix-develop

fix: Total row alignment in AR report
diff --git a/erpnext/projects/doctype/task/task.json b/erpnext/projects/doctype/task/task.json
index 707db08..4012346 100644
--- a/erpnext/projects/doctype/task/task.json
+++ b/erpnext/projects/doctype/task/task.json
@@ -20,6 +20,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "subject",
    "fieldtype": "Data",
    "hidden": 0,
@@ -52,6 +53,7 @@
    "bold": 1,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "project",
    "fieldtype": "Link",
    "hidden": 0,
@@ -86,6 +88,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "issue",
    "fieldtype": "Link",
    "hidden": 0,
@@ -116,10 +119,45 @@
    "allow_bulk_edit": 0,
    "allow_in_quick_entry": 0,
    "allow_on_submit": 0,
+   "bold": 0,
+   "collapsible": 0,
+   "columns": 0,
+   "fetch_if_empty": 0,
+   "fieldname": "type",
+   "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": "Type",
+   "length": 0,
+   "no_copy": 0,
+   "options": "Task 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": 0,
+   "search_index": 0,
+   "set_only_once": 0,
+   "translatable": 0,
+   "unique": 0
+  },
+  {
+   "allow_bulk_edit": 0,
+   "allow_in_quick_entry": 0,
+   "allow_on_submit": 0,
    "bold": 1,
    "collapsible": 0,
    "columns": 0,
    "default": "0",
+   "fetch_if_empty": 0,
    "fieldname": "is_group",
    "fieldtype": "Check",
    "hidden": 0,
@@ -152,6 +190,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "column_break0",
    "fieldtype": "Column Break",
    "hidden": 0,
@@ -185,6 +224,7 @@
    "bold": 1,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "status",
    "fieldtype": "Select",
    "hidden": 0,
@@ -219,6 +259,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "priority",
    "fieldtype": "Select",
    "hidden": 0,
@@ -253,6 +294,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "color",
    "fieldtype": "Color",
    "hidden": 0,
@@ -285,6 +327,7 @@
    "bold": 1,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "parent_task",
    "fieldtype": "Link",
    "hidden": 0,
@@ -320,6 +363,7 @@
    "collapsible_depends_on": "eval:doc.__islocal",
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "sb_timeline",
    "fieldtype": "Section Break",
    "hidden": 0,
@@ -353,6 +397,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "exp_start_date",
    "fieldtype": "Date",
    "hidden": 0,
@@ -389,6 +434,7 @@
    "default": "0",
    "depends_on": "",
    "description": "",
+   "fetch_if_empty": 0,
    "fieldname": "expected_time",
    "fieldtype": "Float",
    "hidden": 0,
@@ -423,6 +469,8 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_from": "type.weight",
+   "fetch_if_empty": 0,
    "fieldname": "task_weight",
    "fieldtype": "Float",
    "hidden": 0,
@@ -455,6 +503,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "column_break_11",
    "fieldtype": "Column Break",
    "hidden": 0,
@@ -487,6 +536,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "exp_end_date",
    "fieldtype": "Date",
    "hidden": 0,
@@ -521,6 +571,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "progress",
    "fieldtype": "Percent",
    "hidden": 0,
@@ -554,6 +605,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "is_milestone",
    "fieldtype": "Check",
    "hidden": 0,
@@ -588,6 +640,7 @@
    "collapsible_depends_on": "",
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "sb_details",
    "fieldtype": "Section Break",
    "hidden": 0,
@@ -622,6 +675,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "description",
    "fieldtype": "Text Editor",
    "hidden": 0,
@@ -659,6 +713,7 @@
    "collapsible_depends_on": "",
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "sb_depends_on",
    "fieldtype": "Section Break",
    "hidden": 0,
@@ -692,6 +747,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "depends_on",
    "fieldtype": "Table",
    "hidden": 0,
@@ -726,6 +782,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "depends_on_tasks",
    "fieldtype": "Data",
    "hidden": 1,
@@ -761,6 +818,7 @@
    "columns": 0,
    "depends_on": "",
    "description": "",
+   "fetch_if_empty": 0,
    "fieldname": "sb_actual",
    "fieldtype": "Section Break",
    "hidden": 0,
@@ -796,6 +854,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "act_start_date",
    "fieldtype": "Date",
    "hidden": 0,
@@ -832,6 +891,7 @@
    "default": "",
    "depends_on": "",
    "description": "",
+   "fetch_if_empty": 0,
    "fieldname": "actual_time",
    "fieldtype": "Float",
    "hidden": 0,
@@ -865,6 +925,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "column_break_15",
    "fieldtype": "Column Break",
    "hidden": 0,
@@ -897,6 +958,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "act_end_date",
    "fieldtype": "Date",
    "hidden": 0,
@@ -931,6 +993,7 @@
    "collapsible": 1,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "sb_costing",
    "fieldtype": "Section Break",
    "hidden": 0,
@@ -964,6 +1027,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "total_costing_amount",
    "fieldtype": "Currency",
    "hidden": 0,
@@ -999,6 +1063,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "total_expense_claim",
    "fieldtype": "Currency",
    "hidden": 0,
@@ -1032,6 +1097,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "column_break_20",
    "fieldtype": "Column Break",
    "hidden": 0,
@@ -1064,6 +1130,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "total_billing_amount",
    "fieldtype": "Currency",
    "hidden": 0,
@@ -1096,6 +1163,7 @@
    "bold": 0,
    "collapsible": 1,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "sb_more_info",
    "fieldtype": "Section Break",
    "hidden": 0,
@@ -1128,6 +1196,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "eval:doc.status == \"Closed\" || doc.status == \"Pending Review\"",
+   "fetch_if_empty": 0,
    "fieldname": "review_date",
    "fieldtype": "Date",
    "hidden": 0,
@@ -1162,6 +1231,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "eval:doc.status == \"Closed\"",
+   "fetch_if_empty": 0,
    "fieldname": "closing_date",
    "fieldtype": "Date",
    "hidden": 0,
@@ -1195,6 +1265,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "column_break_22",
    "fieldtype": "Column Break",
    "hidden": 0,
@@ -1225,6 +1296,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "department",
    "fieldtype": "Link",
    "hidden": 0,
@@ -1258,6 +1330,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "company",
    "fieldtype": "Link",
    "hidden": 0,
@@ -1290,6 +1363,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "lft",
    "fieldtype": "Int",
    "hidden": 1,
@@ -1322,6 +1396,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "rgt",
    "fieldtype": "Int",
    "hidden": 1,
@@ -1354,6 +1429,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "old_parent",
    "fieldtype": "Data",
    "hidden": 1,
@@ -1381,18 +1457,16 @@
   }
  ],
  "has_web_view": 0,
- "hide_heading": 0,
  "hide_toolbar": 0,
  "icon": "fa fa-check",
  "idx": 1,
- "image_view": 0,
  "in_create": 0,
  "is_submittable": 0,
  "issingle": 0,
  "istable": 0,
  "max_attachments": 5,
  "menu_index": 0,
- "modified": "2019-04-18 12:22:02.147606",
+ "modified": "2019-04-20 22:45:20.777600",
  "modified_by": "Administrator",
  "module": "Projects",
  "name": "Task",
@@ -1420,7 +1494,6 @@
  ],
  "quick_entry": 0,
  "read_only": 0,
- "read_only_onload": 0,
  "search_fields": "subject",
  "show_name_in_global_search": 1,
  "sort_order": "DESC",
@@ -1429,4 +1502,4 @@
  "track_changes": 0,
  "track_seen": 1,
  "track_views": 0
-}
+}
\ No newline at end of file
diff --git a/erpnext/projects/doctype/task_type/__init__.py b/erpnext/projects/doctype/task_type/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/projects/doctype/task_type/__init__.py
diff --git a/erpnext/projects/doctype/task_type/task_type.js b/erpnext/projects/doctype/task_type/task_type.js
new file mode 100644
index 0000000..c1be5da
--- /dev/null
+++ b/erpnext/projects/doctype/task_type/task_type.js
@@ -0,0 +1,8 @@
+// Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and contributors
+// For license information, please see license.txt
+
+frappe.ui.form.on('Task Type', {
+	// refresh: function(frm) {
+
+	// }
+});
diff --git a/erpnext/projects/doctype/task_type/task_type.json b/erpnext/projects/doctype/task_type/task_type.json
new file mode 100644
index 0000000..3254444
--- /dev/null
+++ b/erpnext/projects/doctype/task_type/task_type.json
@@ -0,0 +1,127 @@
+{
+ "allow_copy": 0,
+ "allow_events_in_timeline": 0,
+ "allow_guest_to_view": 0,
+ "allow_import": 0,
+ "allow_rename": 0,
+ "autoname": "Prompt",
+ "beta": 0,
+ "creation": "2019-04-19 15:04:05.317138",
+ "custom": 0,
+ "docstatus": 0,
+ "doctype": "DocType",
+ "document_type": "",
+ "editable_grid": 0,
+ "engine": "InnoDB",
+ "fields": [
+  {
+   "allow_bulk_edit": 0,
+   "allow_in_quick_entry": 0,
+   "allow_on_submit": 0,
+   "bold": 0,
+   "collapsible": 0,
+   "columns": 0,
+   "fetch_if_empty": 0,
+   "fieldname": "weight",
+   "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": "Weight",
+   "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_in_quick_entry": 0,
+   "allow_on_submit": 0,
+   "bold": 0,
+   "collapsible": 0,
+   "columns": 0,
+   "fetch_if_empty": 0,
+   "fieldname": "description",
+   "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": "Description",
+   "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_toolbar": 0,
+ "idx": 0,
+ "in_create": 0,
+ "is_submittable": 0,
+ "issingle": 0,
+ "istable": 0,
+ "max_attachments": 0,
+ "modified": "2019-04-19 15:31:48.080164",
+ "modified_by": "Administrator",
+ "module": "Projects",
+ "name": "Task Type",
+ "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
+  }
+ ],
+ "quick_entry": 1,
+ "read_only": 0,
+ "show_name_in_global_search": 0,
+ "sort_field": "modified",
+ "sort_order": "ASC",
+ "track_changes": 1,
+ "track_seen": 0,
+ "track_views": 0
+}
\ No newline at end of file
diff --git a/erpnext/projects/doctype/task_type/task_type.py b/erpnext/projects/doctype/task_type/task_type.py
new file mode 100644
index 0000000..9c0b532
--- /dev/null
+++ b/erpnext/projects/doctype/task_type/task_type.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2019, 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 TaskType(Document):
+	pass
diff --git a/erpnext/projects/doctype/task_type/test_task_type.py b/erpnext/projects/doctype/task_type/test_task_type.py
new file mode 100644
index 0000000..1db6e27
--- /dev/null
+++ b/erpnext/projects/doctype/task_type/test_task_type.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+from __future__ import unicode_literals
+
+import frappe
+import unittest
+
+class TestTaskType(unittest.TestCase):
+	pass