Merge branch 'develop' into dialog-cleanup

This commit is contained in:
Marica 2020-11-05 18:37:56 +05:30 committed by GitHub
commit c070f2ed57
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 34 additions and 29 deletions

View File

@ -50,13 +50,11 @@
"reqd": 1
},
{
"depends_on": "eval:parent.doctype == 'Asset'",
"fieldname": "depreciation_start_date",
"fieldtype": "Date",
"in_list_view": 1,
"label": "Depreciation Posting Date",
"mandatory_depends_on": "eval:parent.doctype == 'Asset'",
"reqd": 1
"mandatory_depends_on": "eval:parent.doctype == 'Asset'"
},
{
"default": "0",
@ -87,7 +85,7 @@
"index_web_pages_for_search": 1,
"istable": 1,
"links": [],
"modified": "2020-10-30 15:22:29.119868",
"modified": "2020-11-05 16:30:09.213479",
"modified_by": "Administrator",
"module": "Assets",
"name": "Asset Finance Book",

View File

@ -632,7 +632,7 @@ execute:frappe.reload_doc('desk', 'doctype', 'dashboard_chart_source')
execute:frappe.reload_doc('desk', 'doctype', 'dashboard_chart')
execute:frappe.reload_doc('desk', 'doctype', 'dashboard_chart_field')
erpnext.patches.v12_0.remove_bank_remittance_custom_fields
erpnext.patches.v12_0.generate_leave_ledger_entries #27-08-2020
erpnext.patches.v12_0.generate_leave_ledger_entries #04-11-2020
execute:frappe.delete_doc_if_exists("Report", "Loan Repayment")
erpnext.patches.v12_0.move_credit_limit_to_customer_credit_limit
erpnext.patches.v12_0.add_variant_of_in_item_attribute_table

View File

@ -11,8 +11,6 @@ def execute():
frappe.reload_doc("HR", "doctype", "Leave Ledger Entry")
frappe.reload_doc("HR", "doctype", "Leave Encashment")
frappe.reload_doc("HR", "doctype", "Leave Type")
if frappe.db.a_row_exists("Leave Ledger Entry"):
return
if not frappe.get_meta("Leave Allocation").has_field("unused_leaves"):
frappe.reload_doc("HR", "doctype", "Leave Allocation")

View File

@ -539,7 +539,7 @@ erpnext.utils.update_child_items = function(opts) {
fieldtype: "Table",
label: "Items",
cannot_add_rows: cannot_add_row,
in_place_edit: true,
in_place_edit: false,
reqd: 1,
data: this.data,
get_data: () => {

View File

@ -572,12 +572,6 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend(
"fieldname": "against_default_supplier",
"default": 0
},
{
"fieldtype": "Section Break",
"label": "",
"fieldname": "sec_break_dialog",
"hide_border": 1
},
{
fieldname: 'items_for_po', fieldtype: 'Table', label: 'Select Items',
fields: [
@ -616,16 +610,13 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend(
read_only:1,
in_list_view:1
},
],
data: me.frm.doc.items.map((item) =>{
item.pending_qty = (flt(item.stock_qty) - flt(item.ordered_qty)) / flt(item.conversion_factor);
return item;
}).filter((item) => {return item.pending_qty > 0;})
]
}
],
primary_action_label: 'Create Purchase Order',
primary_action (args) {
if (!args) return;
let selected_items = dialog.fields_dict.items_for_po.grid.get_selected_children();
if(selected_items.length == 0) {
frappe.throw({message: 'Please select Items from the Table', title: __('Items Required'), indicator:'blue'})
@ -635,8 +626,9 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend(
var method = args.against_default_supplier ? "make_purchase_order_for_default_supplier" : "make_purchase_order"
return frappe.call({
type: "GET",
method: "erpnext.selling.doctype.sales_order.sales_order." + method,
freeze: true,
freeze_message: __("Creating Purchase Order ..."),
args: {
"source_name": me.frm.doc.name,
"selected_items": selected_items
@ -660,8 +652,9 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend(
}
});
dialog.fields_dict["against_default_supplier"].df.onchange = () => {
console.log("yo");
dialog.fields_dict["against_default_supplier"].df.onchange = () => set_po_items_data(dialog);
function set_po_items_data (dialog) {
var against_default_supplier = dialog.get_value("against_default_supplier");
var items_for_po = dialog.get_value("items_for_po");
@ -671,16 +664,28 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend(
dialog.fields_dict["items_for_po"].df.data = items_with_supplier;
dialog.get_field("items_for_po").refresh();
} else {
let pending_items = me.frm.doc.items.map((item) =>{
item.pending_qty = (flt(item.stock_qty) - flt(item.ordered_qty)) / flt(item.conversion_factor);
return item;
}).filter((item) => {return item.pending_qty > 0;});
let po_items = [];
me.frm.doc.items.forEach(d => {
let pending_qty = (flt(d.stock_qty) - flt(d.ordered_qty)) / flt(d.conversion_factor);
if (pending_qty > 0) {
po_items.push({
"doctype": "Sales Order Item",
"name": d.name,
"item_name": d.item_name,
"item_code": d.item_code,
"pending_qty": pending_qty,
"uom": d.uom,
"supplier": d.supplier
});
}
});
dialog.fields_dict["items_for_po"].df.data = pending_items;
dialog.fields_dict["items_for_po"].df.data = po_items;
dialog.get_field("items_for_po").refresh();
}
}
set_po_items_data(dialog);
dialog.get_field("items_for_po").grid.only_sortable();
dialog.get_field("items_for_po").refresh();
dialog.wrapper.find('.grid-heading-row .grid-row-check').click();

View File

@ -779,7 +779,9 @@ def get_events(start, end, filters=None):
return data
@frappe.whitelist()
def make_purchase_order_for_default_supplier(source_name, selected_items=[], target_doc=None):
def make_purchase_order_for_default_supplier(source_name, selected_items=None, target_doc=None):
if not selected_items: return
if isinstance(selected_items, string_types):
selected_items = json.loads(selected_items)
@ -878,7 +880,9 @@ def make_purchase_order_for_default_supplier(source_name, selected_items=[], tar
frappe.msgprint(_("Purchase Order already created for all Sales Order items"))
@frappe.whitelist()
def make_purchase_order(source_name, selected_items=[], target_doc=None):
def make_purchase_order(source_name, selected_items=None, target_doc=None):
if not selected_items: return
if isinstance(selected_items, string_types):
selected_items = json.loads(selected_items)