Skip to content

Commit

Permalink
fix: server method to return evaluated dict of perms for a document
Browse files Browse the repository at this point in the history
(cherry picked from commit 299831d)
  • Loading branch information
marination authored and mergify[bot] committed Mar 16, 2023
1 parent 06395dd commit d1446b8
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 4 deletions.
9 changes: 9 additions & 0 deletions frappe/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -306,6 +306,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):
Expand Down
10 changes: 6 additions & 4 deletions frappe/public/js/frappe/views/kanban/kanban_board.bundle.js
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand All @@ -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,
Expand Down Expand Up @@ -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;
Expand All @@ -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");
}

Expand Down Expand Up @@ -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,
Expand Down
1 change: 1 addition & 0 deletions frappe/public/js/frappe/views/kanban/kanban_view.js
Original file line number Diff line number Diff line change
Expand Up @@ -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(
...[
{
Expand Down

0 comments on commit d1446b8

Please sign in to comment.