User permission for the doctype

Hi,

Please help me to set the permission for the doctype in my new app.

I have developed the app called planning. In that NNProject is one of the doctype. This doctype should be visible only to the administrator other user can see the list.

It means administrator have all the access read,write,delete and everything and employee should have only read access or no access to it.

Thankyou.

Set user permission on doctype form.

Steps-
1.Go to Doctype->eg.‘Planning’ doctype
2.In ‘Permission Rules’ datagrid , create two entries for Administrator and Employee
For Administrator -
Select role as ‘Administrator’ and give the required permission eg.Read , Write , Create

For Employee-
Select role as ‘Employee’ and give the required permission eg. Read

Geetanjali Shitole
New Indictrans Technologies Pvt. Ltd

Hi,

I tried the same but im getting an error.

Please check below.

Traceback (innermost last):
File “/home/frappe/frappe-bench/apps/frappe/frappe/desk/form/save.py”, line 18, in savedocs
doc.save()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 240, in save
self.run_post_save_methods()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 561, in run_post_save_methods
self.run_method(“on_update”)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 509, in run_method
return Document.hook(fn)(self, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 625, in composer
return composed(self, method, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 608, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 503, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 109, in on_update
self.export_doc()
File “/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 168, in export_doc
export_to_files(record_list=[[‘DocType’, self.name]])
File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/export_file.py”, line 22, in export_to_files
write_document_file(frappe.get_doc(record[0], record[1]), record_module, create_init=create_init)
File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/export_file.py”, line 43, in write_document_file
with open(os.path.join(folder, fname +“.json”),‘w+’) as txtfile:
IOError: [Errno 13] Permission denied: u’/home/frappe/frappe-bench/apps/planning/planning/planning/doctype/nnproject/nnproject.json’

Traceback (innermost last):
File “/home/frappe/frappe-bench/apps/frappe/frappe/app.py”, line 51, in application
response = frappe.handler.handle()
File “/home/frappe/frappe-bench/apps/frappe/frappe/handler.py”, line 69, in handle
execute_cmd(cmd)
File “/home/frappe/frappe-bench/apps/frappe/frappe/handler.py”, line 92, in execute_cmd
ret = frappe.call(method, **frappe.form_dict)
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 751, in call
return fn(*args, **newargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/desk/form/save.py”, line 18, in savedocs
doc.save()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 240, in save
self.run_post_save_methods()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 561, in run_post_save_methods
self.run_method(“on_update”)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 509, in run_method
return Document.hook(fn)(self, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 625, in composer
return composed(self, method, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 608, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 503, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 109, in on_update
self.export_doc()
File “/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 168, in export_doc
export_to_files(record_list=[[‘DocType’, self.name]])
File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/export_file.py”, line 22, in export_to_files
write_document_file(frappe.get_doc(record[0], record[1]), record_module, create_init=create_init)
File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/export_file.py”, line 43, in write_document_file
with open(os.path.join(folder, fname +“.json”),‘w+’) as txtfile:
IOError: [Errno 13] Permission denied: u’/home/frappe/frappe-bench/apps/planning/planning/planning/doctype/nnproject/nnproject.json’

Set “developer_mode”:1 in site_config.json

Its already in the developer mode

Please check directory access permissions for write operation.

2 Likes

Hi @saurabh6790, have run into the same error explained by Uyya_Vaijeyanthi_Bal.
My “developer_mode”:1 in site_config.json. However, I still get IOError: [Errno 13] Permission denied. Kindly advice on how I can go about setting permission for my custom doctype on my custom app.

Thank you.

@asneha1, First check permissions of doctype through Role Permission Manager

Thanks, Priya

Hi @priya_s,

Checked the permission of doctype through Role Permission Manager. Unable to add a role there or give permission to existing user. It pops up with the error - IOError: [Errno 13] Permission denied.
Following is the permission at Role Permission Manager :