diff --git a/erpnext/public/js/projects/pm/PMTaskAssignmentQuickEntryForm.js b/erpnext/public/js/projects/pm/PMTaskAssignmentQuickEntryForm.js index 586b215c0254b715a869e2ec4f5855fd9c36248d..8eaf7334666fab99f86da34b364098859621625a 100644 --- a/erpnext/public/js/projects/pm/PMTaskAssignmentQuickEntryForm.js +++ b/erpnext/public/js/projects/pm/PMTaskAssignmentQuickEntryForm.js @@ -72,15 +72,17 @@ frappe.ui.form.TaskAssignmentQuickEntryForm = class TaskAssignmentQuickEntryForm } _get_field(fieldname) { - return this.meta.fields.find(df => df.fieldname === fieldname) + return frappe.meta.get_docfield(this.doctype, fieldname, this.doc.name); } _get_all_fields() { - const field = (fieldname, overrides = {}) => ({ - ...this._get_field(fieldname), - ...overrides, - }) + const field = (fieldname, overrides = {}) => { + const df = this._get_field(fieldname); + Object.assign(df, overrides); + return df; + } const defaultMode = this.doc?.end_time ? "Time" : "Duration"; + const NO_DEPENDS_ON = { depends_on: "", read_only_depends_on: "", mandatory_depends_on: "" }; return [ { fieldtype: "Select", @@ -98,11 +100,16 @@ frappe.ui.form.TaskAssignmentQuickEntryForm = class TaskAssignmentQuickEntryForm field("start_date"), field("end_date"), { fieldtype: "Section Break" }, - field("project", { depends_on: "", read_only_depends_on: "", mandatory_depends_on: "" }), + field("project", { + ...NO_DEPENDS_ON, + get_query: () => ({ + filters: { + status: "Open", + }, + }), + }), field("task", { - depends_on: "", - read_only_depends_on: "", - mandatory_depends_on: "", + ...NO_DEPENDS_ON, get_query: () => ({ filters: { project: this.dialog.get_value("project"), diff --git a/erpnext/public/js/projects/pm/PMTimeLogDialog.js b/erpnext/public/js/projects/pm/PMTimeLogDialog.js index fab05f8acb37ec7b71ac336e9393a91d53edf635..45cae8796d4cb393921221d831207c5c9e463d34 100644 --- a/erpnext/public/js/projects/pm/PMTimeLogDialog.js +++ b/erpnext/public/js/projects/pm/PMTimeLogDialog.js @@ -142,7 +142,14 @@ export class PMTimeLogDialog { reqd: 1, }, { fieldtype: "Section Break", label: "Details", hide_border: 1, collapsible: 1 }, - field("project", NO_DEPENDS_ON), + field("project", { + ...NO_DEPENDS_ON, + get_query: () => ({ + filters: { + status: "Open", + }, + }), + }), field("activity_type", NO_DEPENDS_ON), // { // fieldtype: "Link",