コード例 #1
0
ファイル: cli.py プロジェクト: gangadharkadam/letzfrappe
def reset_perms():
	from frappe.permissions import reset_perms
	frappe.connect()
	for d in frappe.db.sql_list("""select name from `tabDocType`
		where ifnull(istable, 0)=0 and ifnull(custom, 0)=0"""):
			frappe.clear_cache(doctype=d)
			reset_perms(d)
	frappe.destroy()
コード例 #2
0
ファイル: utils.py プロジェクト: yered1/frappe
def reset_perms(context):
	"Reset permissions for all doctypes"
	from frappe.permissions import reset_perms
	for site in context.sites:
		try:
			frappe.init(site=site)
			frappe.connect()
			for d in frappe.db.sql_list("""select name from `tabDocType`
				where istable=0 and custom=0"""):
					frappe.clear_cache(doctype=d)
					reset_perms(d)
		finally:
			frappe.destroy()
コード例 #3
0
def reset_perms(context):
	"Reset permissions for all doctypes"
	from frappe.permissions import reset_perms
	for site in context.sites:
		try:
			frappe.init(site=site)
			frappe.connect()
			for d in frappe.db.sql_list("""select name from `tabDocType`
				where ifnull(istable, 0)=0 and ifnull(custom, 0)=0"""):
					frappe.clear_cache(doctype=d)
					reset_perms(d)
		finally:
			frappe.destroy()
コード例 #4
0
def execute():
	for doctype in ("About Us Settings", "Accounts Settings", "Activity Type",
		"Blog Category", "Blog Settings", "Blogger", "Branch", "Brand", "Buying Settings",
		"Communication", "Company", "Contact Us Settings",
		"Country", "Currency", "Currency Exchange", "Deduction Type", "Department",
		"Designation", "Earning Type", "Event", "Feed", "File", "Fiscal Year",
		"HR Settings", "Industry Type", "Leave Type", "Letter Head",
		"Mode of Payment", "Module Def", "Naming Series", "POS Setting", "Print Heading",
		"Report", "Role", "Selling Settings", "Stock Settings", "Supplier Type", "UOM"):
		try:
			reset_perms(doctype)
		except:
			print("Error resetting perms for", doctype)
			raise
コード例 #5
0
def execute():
	for doctype in ("About Us Settings", "Accounts Settings", "Activity Type",
		"Blog Category", "Blog Settings", "Blogger", "Branch", "Brand", "Buying Settings",
		"Communication", "Company", "Contact Us Settings",
		"Country", "Currency", "Currency Exchange", "Deduction Type", "Department",
		"Designation", "Earning Type", "Event", "Feed", "File", "Fiscal Year",
		"HR Settings", "Industry Type", "Leave Type", "Letter Head",
		"Mode of Payment", "Module Def", "Naming Series", "POS Setting", "Print Heading",
		"Report", "Role", "Selling Settings", "Stock Settings", "Supplier Type", "UOM"):
		try:
			reset_perms(doctype)
		except:
			print "Error resetting perms for", doctype
			raise
コード例 #6
0
def execute():
	frappe.reload_doctype("DocType")
	frappe.reload_doctype("Communication")
	reset_perms("Communication")

	migrate_comments()
	frappe.delete_doc("DocType", "Comment")
	# frappe.db.sql_ddl("drop table `tabComment`")

	migrate_feed()
	frappe.delete_doc("DocType", "Feed")
	# frappe.db.sql_ddl("drop table `tabFeed`")

	update_timeline_doc_for("Blogger")
コード例 #7
0
def execute():
    frappe.reload_doctype("DocType")
    frappe.reload_doctype("Communication")
    reset_perms("Communication")

    migrate_comments()
    frappe.delete_doc("DocType", "Comment")
    # frappe.db.sql_ddl("drop table `tabComment`")

    migrate_feed()
    frappe.delete_doc("DocType", "Feed")
    # frappe.db.sql_ddl("drop table `tabFeed`")

    update_timeline_doc_for("Blogger")
コード例 #8
0
def execute():
	frappe.reload_doctype("Communication")

	# set status = "Linked"
	frappe.db.sql("""update `tabCommunication` set status='Linked'
		where ifnull(reference_doctype, '')!='' and ifnull(reference_name, '')!=''""")

	frappe.db.sql("""update `tabCommunication` set status='Closed'
		where status='Archived'""")

	# reset permissions if owner of all DocPerms is Administrator
	if not frappe.db.sql("""select name from `tabDocPerm`
		where parent='Communication' and ifnull(owner, '')!='Administrator'"""):

		reset_perms("Communication")
コード例 #9
0
def execute():
    frappe.reload_doctype("Communication")

    # set status = "Linked"
    frappe.db.sql("""update `tabCommunication` set status='Linked'
		where ifnull(reference_doctype, '')!='' and ifnull(reference_name, '')!=''"""
                  )

    frappe.db.sql("""update `tabCommunication` set status='Closed'
		where status='Archived'""")

    # reset permissions if owner of all DocPerms is Administrator
    if not frappe.db.sql("""select name from `tabDocPerm`
		where parent='Communication' and ifnull(owner, '')!='Administrator'"""):

        reset_perms("Communication")
コード例 #10
0
ファイル: test_todo.py プロジェクト: Alchez/frappe
    def test_doc_read_access(self):
        #owner and assigned_by is testperm
        todo1 = create_new_todo('Test1', '*****@*****.**')
        test_user = frappe.get_doc('User', '*****@*****.**')

        #owner is testperm, but assigned_by is test4
        todo2 = create_new_todo('Test2', '*****@*****.**')

        frappe.set_user('*****@*****.**')
        #owner and assigned_by is test4
        todo3 = create_new_todo('Test3', '*****@*****.**')

        # user without any role to read or write todo document
        self.assertFalse(todo1.has_permission("read"))
        self.assertFalse(todo1.has_permission("write"))

        # user without any role but he/she is assigned_by of that todo document
        self.assertTrue(todo2.has_permission("read"))
        self.assertTrue(todo2.has_permission("write"))

        # user is the owner and assigned_by of the todo document
        self.assertTrue(todo3.has_permission("read"))
        self.assertTrue(todo3.has_permission("write"))

        frappe.set_user('Administrator')

        test_user.add_roles('Blogger')
        add_permission('ToDo', 'Blogger')

        frappe.set_user('*****@*****.**')

        # user with only read access to todo document, not an owner or assigned_by
        self.assertTrue(todo1.has_permission("read"))
        self.assertFalse(todo1.has_permission("write"))

        frappe.set_user('Administrator')
        test_user.remove_roles('Blogger')
        reset_perms('ToDo')
        clear_permissions_cache('ToDo')
        frappe.db.rollback()
コード例 #11
0
def reset(doctype):
	frappe.only_for("System Manager")
	reset_perms(doctype)
	clear_permissions_cache(doctype)
コード例 #12
0
ファイル: permission_manager.py プロジェクト: mhbu50/frappe
def reset(doctype):
	frappe.only_for("System Manager")
	reset_perms(doctype)
	clear_doctype_cache(doctype)
コード例 #13
0
ファイル: permission.py プロジェクト: finbyz/hemtech
def reset(doctype):
    frappe.only_for(("System Manager", "Local Admin"))
    reset_perms(doctype)
    clear_permissions_cache(doctype)