fix: server method to return evaluated dict of perms for a document

This commit is contained in:
marination 2022-11-16 19:24:12 +05:30
parent 2faa8ef292
commit 299831d209
3 changed files with 16 additions and 4 deletions

View file

@ -302,6 +302,15 @@ def has_permission(doctype, docname, perm_type="read"):
# perm_type can be one of read, write, create, submit, cancel, report
return {"has_permission": frappe.has_permission(doctype, perm_type.lower(), docname)}
@frappe.whitelist()
def get_doc_permissions(doctype, docname):
"""Returns an evaluated document permissions dict like `{"read":1, "write":1}`
:param doctype: DocType of the document to be evaluated
:param docname: `name` of the document to be evaluated
"""
doc = frappe.get_doc(doctype, docname)
return {"permissions": frappe.permissions.get_doc_permissions(doc)}
@frappe.whitelist()
def get_password(doctype, name, fieldname):

View file

@ -333,12 +333,13 @@ frappe.provide("frappe.views");
if (self.$kanban_board.length === 0) {
self.$kanban_board = $(frappe.render_template("kanban_board"));
// add column
self.$kanban_board.appendTo(self.wrapper);
}
self.$filter_area = self.cur_list.$page.find(".active-tag-filters");
bind_events();
setup_sortable();
setup_sortable(); // column
}
function make_columns() {
@ -355,7 +356,7 @@ frappe.provide("frappe.views");
bind_clickdrag();
}
function setup_sortable() {
function setup_sortable() { // drag column
var sortable = new Sortable(self.$kanban_board.get(0), {
group: "columns",
animation: 150,
@ -518,7 +519,7 @@ frappe.provide("frappe.views");
function init() {
make_dom();
setup_sortable();
// setup_sortable(); // drag card
make_cards();
store.watch((state, getters) => {
return state.cards;
@ -535,6 +536,7 @@ frappe.provide("frappe.views");
indicator: frappe.scrub(column.indicator, "-"),
})
).appendTo(wrapper);
// add task, archive
self.$kanban_cards = self.$kanban_column.find(".kanban-cards");
}
@ -564,7 +566,7 @@ frappe.provide("frappe.views");
}
}
function setup_sortable() {
function setup_sortable() { // drag card
Sortable.create(self.$kanban_cards.get(0), {
group: "cards",
animation: 150,

View file

@ -56,6 +56,7 @@ frappe.views.KanbanView = class KanbanView extends frappe.views.ListView {
this.card_meta = this.get_card_meta();
this.page_length = 0;
// frappe run serially get/set perms > push menu items > get_board
this.menu_items.push(
...[
{