to select ↑↓ to navigate
Framework draft

Framework draft

frappe.call

frappe.call(method, args)

Makes an AJAX request to the server, where the method which is the dotted path
to a whitelisted Python method, is executed and it's return value is sent as the
response.

// call with no parameters
frappe.call("ping").then((r) => {
	console.log(r);
	// {message: "pong"}
});

// call with a single parameter
frappe
	.call("frappe.core.doctype.user.user.get_role_profile", {
		role_profile: "Test",
	})
	.then((r) => {
		console.log(r.message);
	});

// call with all options
frappe.call({
	method: "frappe.core.doctype.user.user.get_role_profile",
	args: {
		role_profile: "Test",
	},
	// disable the button until the request is completed
	btn: $(".primary-action"),
	// freeze the screen until the request is completed
	freeze: true,
	callback: (r) => {
		// on success
	},
	error: (r) => {
		// on error
	},
});

frappe.db.getdoc

frappe.db.get_doc(doctype, name, filters)

Returns the Document object of doctype and name. If name is not provided,
gets the first document matched by filters.

// get doc by name
frappe.db.get_doc("Task", "TASK00002").then((doc) => {
	console.log(doc);
});

// get doc by filters
frappe.db.get_doc("Task", null, { status: "Open" }).then((doc) => {
	console.log(doc);
});

frappe.db.getlist

frappe.db.get_list(doctype, { fields, filters })

Returns a list of records of doctype with fields and filters.

frappe.db
	.get_list("Task", {
		fields: ["subject", "description"],
		filters: {
			status: "Open",
		},
	})
	.then((records) => {
		console.log(records);
	});

frappe.db.getvalue

frappe.db.get_value(doctype, name, fieldname)

Returns a document's field value or a list of values.

// single value
frappe.db.get_value("Task", "TASK00004", "status").then((r) => {
	console.log(r.message.status); // Open
});

// multiple values
frappe.db.get_value("Task", "TASK00004", ["status", "subject"]).then((r) => {
	let values = r.message;
	console.log(values.status, values.subject);
});

// using filters
frappe.db.get_value("Task", { status: "Open" }, "subject").then((r) => {
	let values = r.message;
	console.log(values.subject);
});

frappe.db.get_single_value

frappe.db.get_single_value(doctype, field)

Returns a field value from a Single DocType.

frappe.db.get_single_value("System Settings", "time_zone").then((time_zone) => {
	console.log(time_zone);
});

frappe.db.setvalue

frappe.db.set_value(doctype, docname, fieldname, value, callback)

Sets a document's property using frappe.get_doc and doc.save on server.

// update a field's value
frappe.db.set_value("Task", "TASK00004", "status", "Open").then((r) => {
	let doc = r.message;
	console.log(doc);
});

// update multiple fields
frappe.db
	.set_value("Task", "TASK00004", {
		status: "Working",
		priority: "Medium",
	})
	.then((r) => {
		let doc = r.message;
		console.log(doc);
	});

frappe.db.insert

frappe.db.insert(doc)

Insert a new document.

frappe.db
	.insert({
		doctype: "Task",
		subject: "New Task",
	})
	.then((doc) => {
		console.log(doc);
	});

frappe.db.count

frappe.db.count(doctype, filters)

Returns number of records for a given doctype and filters.

// total number of Task records
frappe.db.count("Task").then((count) => {
	console.log(count);
});

// total number of Open Tasks
frappe.db.count("Task", { status: "Open" }).then((count) => {
	console.log(count);
});

frappe.db.deletedoc

frappe.db.delete_doc(doctype, name)

Delete a document identified by doctype and name.

frappe.db.delete_doc('Task', 'TASK00004')

frappe.db.exists

frappe.db.exists(doctype, name)

Returns true if a document record exists.

frappe.db.exists("Task", "TASK00004").then((exists) => {
	console.log(exists); // true
});
Last updated 3 weeks ago