mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-09 00:01:18 +00:00
Multiselect dialog for getting items (#8583)
* Concatenate docnames and send to mapper * Multiselect with checkboxes * set setters as separate filters * Map filter fields to target_doc * Get items from quotation (in SO) working * [major] Set dialog setters for all forms * Add date field * Specify non-default date_fields * [minor] add test_mapper.py * [minor] remove cur_frm * [minor][fix] test * [minor] fix test with make_test_records
This commit is contained in:
committed by
Rushabh Mehta
parent
62e3e75555
commit
edeb4dc7e0
@@ -33,10 +33,13 @@ erpnext.maintenance.MaintenanceSchedule = frappe.ui.form.Controller.extend({
|
||||
erpnext.utils.map_current_doc({
|
||||
method: "erpnext.selling.doctype.sales_order.sales_order.make_maintenance_schedule",
|
||||
source_doctype: "Sales Order",
|
||||
target: me.frm,
|
||||
setters: {
|
||||
customer: me.frm.doc.customer || undefined,
|
||||
order_type: me.frm.doc.order_type,
|
||||
},
|
||||
get_query_filters: {
|
||||
docstatus: 1,
|
||||
order_type: me.frm.doc.order_type,
|
||||
customer: me.frm.doc.customer || undefined,
|
||||
company: me.frm.doc.company
|
||||
}
|
||||
});
|
||||
|
||||
@@ -27,41 +27,53 @@ erpnext.maintenance.MaintenanceVisit = frappe.ui.form.Controller.extend({
|
||||
refresh: function() {
|
||||
frappe.dynamic_link = {doc: this.frm.doc, fieldname: 'customer', doctype: 'Customer'}
|
||||
|
||||
var me = this;
|
||||
|
||||
if (this.frm.doc.docstatus===0) {
|
||||
cur_frm.add_custom_button(__('Maintenance Schedule'),
|
||||
this.frm.add_custom_button(__('Maintenance Schedule'),
|
||||
function() {
|
||||
erpnext.utils.map_current_doc({
|
||||
method: "erpnext.maintenance.doctype.maintenance_schedule.maintenance_schedule.make_maintenance_visit",
|
||||
source_doctype: "Maintenance Schedule",
|
||||
target: me.frm,
|
||||
setters: {
|
||||
customer: me.frm.doc.customer || undefined,
|
||||
},
|
||||
get_query_filters: {
|
||||
docstatus: 1,
|
||||
customer: cur_frm.doc.customer || undefined,
|
||||
company: cur_frm.doc.company
|
||||
company: me.frm.doc.company
|
||||
}
|
||||
})
|
||||
}, __("Get items from"));
|
||||
cur_frm.add_custom_button(__('Warranty Claim'),
|
||||
this.frm.add_custom_button(__('Warranty Claim'),
|
||||
function() {
|
||||
erpnext.utils.map_current_doc({
|
||||
method: "erpnext.support.doctype.warranty_claim.warranty_claim.make_maintenance_visit",
|
||||
source_doctype: "Warranty Claim",
|
||||
target: me.frm,
|
||||
date_field: "complaint_date",
|
||||
setters: {
|
||||
customer: me.frm.doc.customer || undefined,
|
||||
},
|
||||
get_query_filters: {
|
||||
status: ["in", "Open, Work in Progress"],
|
||||
customer: cur_frm.doc.customer || undefined,
|
||||
company: cur_frm.doc.company
|
||||
company: me.frm.doc.company
|
||||
}
|
||||
})
|
||||
}, __("Get items from"));
|
||||
cur_frm.add_custom_button(__('Sales Order'),
|
||||
this.frm.add_custom_button(__('Sales Order'),
|
||||
function() {
|
||||
erpnext.utils.map_current_doc({
|
||||
method: "erpnext.selling.doctype.sales_order.sales_order.make_maintenance_visit",
|
||||
source_doctype: "Sales Order",
|
||||
target: me.frm,
|
||||
setters: {
|
||||
customer: me.frm.doc.customer || undefined,
|
||||
},
|
||||
get_query_filters: {
|
||||
docstatus: 1,
|
||||
order_type: cur_frm.doc.order_type,
|
||||
customer: cur_frm.doc.customer || undefined,
|
||||
company: cur_frm.doc.company
|
||||
company: me.frm.doc.company,
|
||||
order_type: me.frm.doc.order_type,
|
||||
}
|
||||
})
|
||||
}, __("Get items from"));
|
||||
|
||||
Reference in New Issue
Block a user