mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-13 18:21:22 +00:00
fix(Delivery Note): only show permitted actions
(cherry picked from commit 418bdc1dcc)
# Conflicts:
# erpnext/stock/doctype/delivery_note/delivery_note.js
This commit is contained in:
@@ -265,7 +265,7 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe
|
|||||||
}
|
}
|
||||||
|
|
||||||
const me = this;
|
const me = this;
|
||||||
if (!this.frm.is_new() && this.frm.doc.docstatus === 0) {
|
if (!this.frm.is_new() && this.frm.doc.docstatus === 0 && frappe.model.can_create("Quality Inspection")) {
|
||||||
this.frm.add_custom_button(__("Quality Inspection(s)"), () => {
|
this.frm.add_custom_button(__("Quality Inspection(s)"), () => {
|
||||||
me.make_quality_inspection();
|
me.make_quality_inspection();
|
||||||
}, __("Create"));
|
}, __("Create"));
|
||||||
|
|||||||
@@ -85,6 +85,7 @@ frappe.ui.form.on("Delivery Note", {
|
|||||||
erpnext.stock.delivery_note.set_print_hide(frm.doc);
|
erpnext.stock.delivery_note.set_print_hide(frm.doc);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
refresh: function(frm) {
|
refresh: function(frm) {
|
||||||
if (frm.doc.docstatus === 1 && frm.doc.is_return === 1 && frm.doc.per_billed !== 100) {
|
if (frm.doc.docstatus === 1 && frm.doc.is_return === 1 && frm.doc.per_billed !== 100) {
|
||||||
frm.add_custom_button(__('Credit Note'), function() {
|
frm.add_custom_button(__('Credit Note'), function() {
|
||||||
@@ -94,9 +95,33 @@ frappe.ui.form.on("Delivery Note", {
|
|||||||
})
|
})
|
||||||
}, __('Create'));
|
}, __('Create'));
|
||||||
frm.page.set_inner_btn_group_as_primary(__('Create'));
|
frm.page.set_inner_btn_group_as_primary(__('Create'));
|
||||||
|
=======
|
||||||
|
refresh: function (frm) {
|
||||||
|
if (
|
||||||
|
frm.doc.docstatus === 1 &&
|
||||||
|
frm.doc.is_return === 1 &&
|
||||||
|
frm.doc.per_billed !== 100 &&
|
||||||
|
frappe.model.can_create("Sales Invoice")
|
||||||
|
) {
|
||||||
|
frm.add_custom_button(
|
||||||
|
__("Credit Note"),
|
||||||
|
function () {
|
||||||
|
frappe.model.open_mapped_doc({
|
||||||
|
method: "erpnext.stock.doctype.delivery_note.delivery_note.make_sales_invoice",
|
||||||
|
frm: cur_frm,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
__("Create")
|
||||||
|
);
|
||||||
|
frm.page.set_inner_btn_group_as_primary(__("Create"));
|
||||||
|
>>>>>>> 418bdc1dcc (fix(Delivery Note): only show permitted actions)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (frm.doc.docstatus == 1 && !frm.doc.inter_company_reference) {
|
if (
|
||||||
|
frm.doc.docstatus == 1 &&
|
||||||
|
!frm.doc.inter_company_reference &&
|
||||||
|
frappe.model.can_create("Purchase Receipt")
|
||||||
|
) {
|
||||||
let internal = frm.doc.is_internal_customer;
|
let internal = frm.doc.is_internal_customer;
|
||||||
if (internal) {
|
if (internal) {
|
||||||
let button_label = (frm.doc.company === frm.doc.represents_company) ? "Internal Purchase Receipt" :
|
let button_label = (frm.doc.company === frm.doc.represents_company) ? "Internal Purchase Receipt" :
|
||||||
@@ -135,6 +160,7 @@ erpnext.stock.DeliveryNoteController = class DeliveryNoteController extends erpn
|
|||||||
refresh(doc, dt, dn) {
|
refresh(doc, dt, dn) {
|
||||||
var me = this;
|
var me = this;
|
||||||
super.refresh();
|
super.refresh();
|
||||||
|
<<<<<<< HEAD
|
||||||
if ((!doc.is_return) && (doc.status!="Closed" || this.frm.is_new())) {
|
if ((!doc.is_return) && (doc.status!="Closed" || this.frm.is_new())) {
|
||||||
if (this.frm.doc.docstatus===0) {
|
if (this.frm.doc.docstatus===0) {
|
||||||
this.frm.add_custom_button(__('Sales Order'),
|
this.frm.add_custom_button(__('Sales Order'),
|
||||||
@@ -193,6 +219,109 @@ erpnext.stock.DeliveryNoteController = class DeliveryNoteController extends erpn
|
|||||||
}) }, __('Create')
|
}) }, __('Create')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
=======
|
||||||
|
if (
|
||||||
|
!doc.is_return &&
|
||||||
|
(doc.status != "Closed" || this.frm.is_new()) &&
|
||||||
|
this.frm.has_perm("write") &&
|
||||||
|
frappe.model.can_read("Sales Order") &&
|
||||||
|
this.frm.doc.docstatus === 0
|
||||||
|
) {
|
||||||
|
this.frm.add_custom_button(
|
||||||
|
__("Sales Order"),
|
||||||
|
function () {
|
||||||
|
if (!me.frm.doc.customer) {
|
||||||
|
frappe.throw({
|
||||||
|
title: __("Mandatory"),
|
||||||
|
message: __("Please Select a Customer"),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
erpnext.utils.map_current_doc({
|
||||||
|
method: "erpnext.selling.doctype.sales_order.sales_order.make_delivery_note",
|
||||||
|
args: {
|
||||||
|
for_reserved_stock: 1,
|
||||||
|
},
|
||||||
|
source_doctype: "Sales Order",
|
||||||
|
target: me.frm,
|
||||||
|
setters: {
|
||||||
|
customer: me.frm.doc.customer,
|
||||||
|
},
|
||||||
|
get_query_filters: {
|
||||||
|
docstatus: 1,
|
||||||
|
status: ["not in", ["Closed", "On Hold"]],
|
||||||
|
per_delivered: ["<", 99.99],
|
||||||
|
company: me.frm.doc.company,
|
||||||
|
project: me.frm.doc.project || undefined,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
},
|
||||||
|
__("Get Items From")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!doc.is_return && doc.status != "Closed" && frappe.model.can_create("Shipment")) {
|
||||||
|
if (doc.docstatus == 1) {
|
||||||
|
this.frm.add_custom_button(
|
||||||
|
__("Shipment"),
|
||||||
|
function () {
|
||||||
|
me.make_shipment();
|
||||||
|
},
|
||||||
|
__("Create")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
flt(doc.per_installed, 2) < 100 &&
|
||||||
|
doc.docstatus == 1 &&
|
||||||
|
frappe.model.can_create("Installation Note")
|
||||||
|
) {
|
||||||
|
this.frm.add_custom_button(
|
||||||
|
__("Installation Note"),
|
||||||
|
function () {
|
||||||
|
me.make_installation_note();
|
||||||
|
},
|
||||||
|
__("Create")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (doc.docstatus == 1 && this.frm.has_perm("create")) {
|
||||||
|
this.frm.add_custom_button(
|
||||||
|
__("Sales Return"),
|
||||||
|
function () {
|
||||||
|
me.make_sales_return();
|
||||||
|
},
|
||||||
|
__("Create")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (doc.docstatus == 1 && frappe.model.can_create("Delivery Trip")) {
|
||||||
|
this.frm.add_custom_button(
|
||||||
|
__("Delivery Trip"),
|
||||||
|
function () {
|
||||||
|
me.make_delivery_trip();
|
||||||
|
},
|
||||||
|
__("Create")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
doc.docstatus == 0 &&
|
||||||
|
!doc.__islocal &&
|
||||||
|
doc.__onload &&
|
||||||
|
doc.__onload.has_unpacked_items &&
|
||||||
|
frappe.model.can_create("Packing Slip")
|
||||||
|
) {
|
||||||
|
this.frm.add_custom_button(
|
||||||
|
__("Packing Slip"),
|
||||||
|
function () {
|
||||||
|
frappe.model.open_mapped_doc({
|
||||||
|
method: "erpnext.stock.doctype.delivery_note.delivery_note.make_packing_slip",
|
||||||
|
frm: me.frm,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
__("Create")
|
||||||
|
);
|
||||||
|
>>>>>>> 418bdc1dcc (fix(Delivery Note): only show permitted actions)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!doc.__islocal && doc.docstatus==1) {
|
if (!doc.__islocal && doc.docstatus==1) {
|
||||||
@@ -211,7 +340,17 @@ erpnext.stock.DeliveryNoteController = class DeliveryNoteController extends erpn
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
if(doc.docstatus==1 && !doc.is_return && doc.status!="Closed" && flt(doc.per_billed) < 100) {
|
if(doc.docstatus==1 && !doc.is_return && doc.status!="Closed" && flt(doc.per_billed) < 100) {
|
||||||
|
=======
|
||||||
|
if (
|
||||||
|
doc.docstatus == 1 &&
|
||||||
|
!doc.is_return &&
|
||||||
|
doc.status != "Closed" &&
|
||||||
|
flt(doc.per_billed) < 100 &&
|
||||||
|
frappe.model.can_create("Sales Invoice")
|
||||||
|
) {
|
||||||
|
>>>>>>> 418bdc1dcc (fix(Delivery Note): only show permitted actions)
|
||||||
// show Make Invoice button only if Delivery Note is not created from Sales Invoice
|
// show Make Invoice button only if Delivery Note is not created from Sales Invoice
|
||||||
var from_sales_invoice = false;
|
var from_sales_invoice = false;
|
||||||
from_sales_invoice = me.frm.doc.items.some(function(item) {
|
from_sales_invoice = me.frm.doc.items.some(function(item) {
|
||||||
|
|||||||
Reference in New Issue
Block a user