Map details from Delivery Trip back to Delivery Note (#15261)
* Map details from Delivery Trip back to Delivery Note
* Add pop-up to indicate changed Delivery Notes
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.json b/erpnext/stock/doctype/delivery_note/delivery_note.json
index e39c8ab..52a0987 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.json
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.json
@@ -2790,12 +2790,12 @@
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
- "allow_on_submit": 0,
+ "allow_on_submit": 1,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "transporter",
- "fieldtype": "Data",
+ "fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
@@ -2806,11 +2806,12 @@
"label": "Transporter ID",
"length": 0,
"no_copy": 0,
+ "options": "Driver",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
- "read_only": 0,
+ "read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
@@ -2822,7 +2823,7 @@
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
- "allow_on_submit": 0,
+ "allow_on_submit": 1,
"bold": 0,
"collapsible": 0,
"columns": 0,
@@ -2844,7 +2845,7 @@
"print_hide": 1,
"print_hide_if_no_value": 0,
"print_width": "150px",
- "read_only": 0,
+ "read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
@@ -2857,7 +2858,7 @@
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
- "allow_on_submit": 0,
+ "allow_on_submit": 1,
"bold": 0,
"collapsible": 0,
"columns": 0,
@@ -2878,7 +2879,7 @@
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
- "read_only": 0,
+ "read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
@@ -2890,7 +2891,7 @@
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
- "allow_on_submit": 0,
+ "allow_on_submit": 1,
"bold": 0,
"collapsible": 0,
"columns": 0,
@@ -2910,7 +2911,7 @@
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
- "read_only": 0,
+ "read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
@@ -2954,12 +2955,12 @@
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
- "allow_on_submit": 0,
+ "allow_on_submit": 1,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "vehicle_no",
- "fieldtype": "Data",
+ "fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
@@ -2970,11 +2971,12 @@
"label": "Vehicle No",
"length": 0,
"no_copy": 0,
+ "options": "Vehicle",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
- "read_only": 0,
+ "read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
@@ -2986,7 +2988,7 @@
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
- "allow_on_submit": 0,
+ "allow_on_submit": 1,
"bold": 0,
"collapsible": 0,
"columns": 0,
@@ -3007,7 +3009,7 @@
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
- "read_only": 0,
+ "read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
@@ -3019,13 +3021,13 @@
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
- "allow_on_submit": 0,
+ "allow_on_submit": 1,
"bold": 0,
"collapsible": 0,
"columns": 0,
"description": "",
"fieldname": "lr_no",
- "fieldtype": "Data",
+ "fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
@@ -3038,11 +3040,12 @@
"no_copy": 0,
"oldfieldname": "lr_no",
"oldfieldtype": "Data",
+ "options": "Delivery Trip",
"permlevel": 0,
"print_hide": 1,
"print_hide_if_no_value": 0,
"print_width": "100px",
- "read_only": 0,
+ "read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
@@ -3055,7 +3058,7 @@
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
- "allow_on_submit": 0,
+ "allow_on_submit": 1,
"bold": 0,
"collapsible": 0,
"columns": 0,
@@ -3079,7 +3082,7 @@
"print_hide": 1,
"print_hide_if_no_value": 0,
"print_width": "100px",
- "read_only": 0,
+ "read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
@@ -4165,7 +4168,7 @@
"istable": 0,
"max_attachments": 0,
"menu_index": 0,
- "modified": "2018-08-21 14:44:46.764951",
+ "modified": "2018-08-29 04:03:32.749794",
"modified_by": "Administrator",
"module": "Stock",
"name": "Delivery Note",
diff --git a/erpnext/stock/doctype/delivery_trip/delivery_trip.json b/erpnext/stock/doctype/delivery_trip/delivery_trip.json
index 36f71a7..364bc6b 100644
--- a/erpnext/stock/doctype/delivery_trip/delivery_trip.json
+++ b/erpnext/stock/doctype/delivery_trip/delivery_trip.json
@@ -428,7 +428,7 @@
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
- "reqd": 0,
+ "reqd": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
@@ -608,7 +608,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 0,
- "modified": "2018-08-29 14:44:36.993178",
+ "modified": "2018-08-30 02:31:49.400138",
"modified_by": "Administrator",
"module": "Stock",
"name": "Delivery Trip",
@@ -661,6 +661,5 @@
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 0,
- "track_seen": 0,
- "track_views": 0
+ "track_seen": 0
}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/delivery_trip/delivery_trip.py b/erpnext/stock/doctype/delivery_trip/delivery_trip.py
index 9e55f8c..5f291c3 100644
--- a/erpnext/stock/doctype/delivery_trip/delivery_trip.py
+++ b/erpnext/stock/doctype/delivery_trip/delivery_trip.py
@@ -3,16 +3,49 @@
# For license information, please see license.txt
from __future__ import unicode_literals
+
import datetime
+
import frappe
from frappe import _
-from frappe.model.document import Document
-from frappe.utils.user import get_user_fullname
-from frappe.utils import getdate, cstr, get_datetime
from frappe.contacts.doctype.address.address import get_address_display
+from frappe.model.document import Document
+from frappe.utils import cstr, get_datetime, getdate, get_link_to_form
+from frappe.utils.user import get_user_fullname
+
class DeliveryTrip(Document):
- pass
+ def on_submit(self):
+ self.update_delivery_notes()
+
+ def on_cancel(self):
+ self.update_delivery_notes(delete=True)
+
+ def update_delivery_notes(self, delete=False):
+ delivery_notes = list(set([stop.delivery_note for stop in self.delivery_stops if stop.delivery_note]))
+
+ update_fields = {
+ "transporter": self.driver,
+ "transporter_name": self.driver_name,
+ "transport_mode": "Road",
+ "vehicle_no": self.vehicle,
+ "vehicle_type": "Regular",
+ "lr_no": self.name,
+ "lr_date": self.date
+ }
+
+ for delivery_note in delivery_notes:
+ note_doc = frappe.get_doc("Delivery Note", delivery_note)
+
+ for field, value in update_fields.items():
+ value = None if delete else value
+ setattr(note_doc, field, value)
+
+ note_doc.save()
+
+ delivery_notes = [get_link_to_form("Delivery Note", note) for note in delivery_notes]
+ frappe.msgprint(_("Delivery Notes {0} updated".format(", ".join(delivery_notes))))
+
def get_default_contact(out, name):
@@ -191,4 +224,4 @@
def format_address(address):
"""Customer Address format """
address = frappe.get_doc('Address', address)
- return '{}, {}, {}, {}'.format(address.address_line1, address.city, address.pincode, address.country)
\ No newline at end of file
+ return '{}, {}, {}, {}'.format(address.address_line1, address.city, address.pincode, address.country)