fix: Make pick list submittable and add few fields

- Add material request & item fields
- Add pick_list field to Stock Entry
- Add purpose field to pick list
diff --git a/erpnext/stock/doctype/pick_list/pick_list.json b/erpnext/stock/doctype/pick_list/pick_list.json
index 0fd7dfb..504a3fa 100644
--- a/erpnext/stock/doctype/pick_list/pick_list.json
+++ b/erpnext/stock/doctype/pick_list/pick_list.json
@@ -5,6 +5,7 @@
  "editable_grid": 1,
  "engine": "InnoDB",
  "field_order": [
+  "purpose",
   "items_based_on",
   "customer",
   "work_order",
@@ -15,7 +16,8 @@
   "section_break_4",
   "items",
   "section_break_6",
-  "locations"
+  "locations",
+  "amended_from"
  ],
  "fields": [
   {
@@ -87,16 +89,36 @@
    "description": "Qty of raw materials will be decided based on the qty of the Finished Goods Item",
    "fieldname": "for_qty",
    "fieldtype": "Float",
-   "label": "Qty of Finished Goods Item"
+   "label": "Qty of Finished Goods Item",
+   "read_only": 1
+  },
+  {
+   "fieldname": "amended_from",
+   "fieldtype": "Link",
+   "label": "Amended From",
+   "no_copy": 1,
+   "options": "Pick List",
+   "print_hide": 1,
+   "read_only": 1
+  },
+  {
+   "default": "Material Transfer for manufacturing",
+   "fieldname": "purpose",
+   "fieldtype": "Select",
+   "label": "Purpose",
+   "options": "Material Transfer for manufacturing\nMaterial Issue\nMaterial Transfer\nDelivery against Sales Order"
   }
  ],
- "modified": "2019-08-22 09:50:01.099449",
+ "is_submittable": 1,
+ "modified": "2019-08-22 13:36:18.912659",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Pick List",
  "owner": "Administrator",
  "permissions": [
   {
+   "amend": 1,
+   "cancel": 1,
    "create": 1,
    "delete": 1,
    "email": 1,
@@ -104,8 +126,54 @@
    "print": 1,
    "read": 1,
    "report": 1,
-   "role": "System Manager",
+   "role": "Stock Manager",
    "share": 1,
+   "submit": 1,
+   "write": 1
+  },
+  {
+   "amend": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "export": 1,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Stock User",
+   "share": 1,
+   "submit": 1,
+   "write": 1
+  },
+  {
+   "amend": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "export": 1,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Manufacturing Manager",
+   "share": 1,
+   "submit": 1,
+   "write": 1
+  },
+  {
+   "amend": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "export": 1,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Manufacturing User",
+   "share": 1,
+   "submit": 1,
    "write": 1
   }
  ],
diff --git a/erpnext/stock/doctype/pick_list/pick_list.py b/erpnext/stock/doctype/pick_list/pick_list.py
index f69fbd5..550c70f 100644
--- a/erpnext/stock/doctype/pick_list/pick_list.py
+++ b/erpnext/stock/doctype/pick_list/pick_list.py
@@ -237,6 +237,7 @@
 	work_order = frappe.get_doc("Work Order", pick_list.get('work_order'))
 
 	stock_entry = frappe.new_doc('Stock Entry')
+	stock_entry.pick_list = pick_list.get('name')
 	stock_entry.purpose = 'Material Transfer For Manufacture'
 	stock_entry.set_stock_entry_type()
 	stock_entry.work_order = work_order.name
@@ -264,12 +265,17 @@
 		item.s_warehouse = location.warehouse
 		item.t_warehouse = wip_warehouse
 		item.qty = location.qty
+		item.transfer_qty = location.stock_qty
 		item.uom = location.uom
 		item.conversion_factor = location.conversion_factor
 		item.stock_uom = location.stock_uom
 
 		stock_entry.append('items', item)
 
+	stock_entry.set_incoming_rate()
+	stock_entry.set_actual_qty()
+	stock_entry.calculate_rate_and_amount(update_finished_item_rate=False)
+
 	return stock_entry.as_dict()
 
 @frappe.whitelist()
@@ -281,7 +287,7 @@
 			`tabWork Order`
 		WHERE
 			`status` not in ('Completed', 'Stopped')
-			AND `qty` > `produced_qty`
+			AND `qty` > `material_transferred_for_manufacturing`
 			AND `docstatus` = 1
 			AND `company` = %(company)s
 			AND `name` like %(txt)s
@@ -296,3 +302,6 @@
 			'page_length': frappe.utils.cint(page_length),
 			'company': filters.get('company')
 		}, as_dict=as_dict)
+
+def get_item_details(item_code):
+	pass
\ No newline at end of file
diff --git a/erpnext/stock/doctype/pick_list_reference_item/pick_list_reference_item.json b/erpnext/stock/doctype/pick_list_reference_item/pick_list_reference_item.json
index 0aa94fe..e6984ef 100644
--- a/erpnext/stock/doctype/pick_list_reference_item/pick_list_reference_item.json
+++ b/erpnext/stock/doctype/pick_list_reference_item/pick_list_reference_item.json
@@ -14,7 +14,9 @@
   "conversion_factor",
   "reference_section",
   "sales_order",
-  "sales_order_item"
+  "sales_order_item",
+  "material_request",
+  "material_request_item"
  ],
  "fields": [
   {
@@ -65,21 +67,34 @@
    "fieldname": "sales_order",
    "fieldtype": "Link",
    "label": "Sales Order",
-   "options": "Sales Order"
+   "options": "Sales Order",
+   "read_only": 1
   },
   {
    "fieldname": "sales_order_item",
    "fieldtype": "Data",
-   "label": "Sales Order Item"
+   "label": "Sales Order Item",
+   "read_only": 1
   },
   {
    "fieldname": "conversion_factor",
    "fieldtype": "Float",
    "label": "UOM Conversion Factor"
+  },
+  {
+   "fieldname": "material_request",
+   "fieldtype": "Link",
+   "label": "Material Request",
+   "options": "Material Request"
+  },
+  {
+   "fieldname": "material_request_item",
+   "fieldtype": "Data",
+   "label": "Material Request Item"
   }
  ],
  "istable": 1,
- "modified": "2019-08-14 18:38:28.867113",
+ "modified": "2019-08-22 14:19:19.725540",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Pick List Reference Item",
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.json b/erpnext/stock/doctype/stock_entry/stock_entry.json
index ee563cb..22b84a1 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.json
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.json
@@ -17,6 +17,7 @@
   "purchase_order",
   "delivery_note_no",
   "sales_invoice_no",
+  "pick_list",
   "purchase_receipt_no",
   "col2",
   "posting_date",
@@ -613,12 +614,20 @@
   {
    "fieldname": "dimension_col_break",
    "fieldtype": "Column Break"
+  },
+  {
+   "fieldname": "pick_list",
+   "fieldtype": "Link",
+   "hidden": 1,
+   "label": "Pick List",
+   "options": "Pick List",
+   "read_only": 1
   }
  ],
  "icon": "fa fa-file-text",
  "idx": 1,
  "is_submittable": 1,
- "modified": "2019-07-14 17:41:39.257508",
+ "modified": "2019-08-22 13:09:55.344036",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Stock Entry",