Error (PermissionError: [Errno 13] Permission denied : 'apps/test_app/test_app/programming_module')

Hi everyone,

When I want to create new Module I got this error :

PermissionError: [Errno 13] Permission denied: 'apps/test_app/test_app/programming_module'

Details error from clipboard:

### App Versions
{
	"education": "15.1.0",
	"erpnext": "15.14.2",
	"frappe": "15.14.0",
	"healthcare": "16.0.0-dev",
	"hrms": "16.0.0-dev",
	"test_app": "0.0.1"
}

Route

Form/Module Def/new-module-def-nrdamtrjju

Traceback

Traceback (most recent call last):
  File "apps/frappe/frappe/app.py", line 110, in application
    response = frappe.api.handle(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/api/__init__.py", line 49, in handle
    data = endpoint(**arguments)
           ^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/api/v1.py", line 36, in handle_rpc_call
    return frappe.handler.handle()
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/handler.py", line 49, in handle
    data = execute_cmd(cmd)
           ^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/handler.py", line 85, in execute_cmd
    return frappe.call(method, **frappe.form_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/__init__.py", line 1682, in call
    return fn(*args, **newargs)
           ^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/utils/typing_validations.py", line 31, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/desk/form/save.py", line 39, in savedocs
    doc.save()
  File "apps/frappe/frappe/model/document.py", line 332, in save
    return self._save(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/model/document.py", line 354, in _save
    return self.insert()
           ^^^^^^^^^^^^^
  File "apps/frappe/frappe/model/document.py", line 310, in insert
    self.run_post_save_methods()
  File "apps/frappe/frappe/model/document.py", line 1106, in run_post_save_methods
    self.run_method("on_update")
  File "apps/frappe/frappe/model/document.py", line 940, in run_method
    out = Document.hook(fn)(self, *args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/model/document.py", line 1300, in composer
    return composed(self, method, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/model/document.py", line 1282, in runner
    add_to_return_value(self, fn(self, *args, **kwargs))
                              ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/model/document.py", line 937, in fn
    return method_object(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/core/doctype/module_def/module_def.py", line 34, in on_update
    self.create_modules_folder()
  File "apps/frappe/frappe/core/doctype/module_def/module_def.py", line 41, in create_modules_folder
    os.mkdir(module_path)
PermissionError: [Errno 13] Permission denied: 'apps/test_app/test_app/programming_module'

Request Data

{
	"type": "POST",
	"args": {
		"doc": "{\"docstatus\":0,\"doctype\":\"Module Def\",\"name\":\"new-module-def-nrdamtrjju\",\"__islocal\":1,\"__unsaved\":1,\"owner\":\"Administrator\",\"custom\":0,\"app_name\":\"test_app\",\"module_name\":\"Programming Module\"}",
		"action": "Save"
	},
	"btn": {
		"jQuery370052860305435610781": {
			"events": {
				"click": [
					{
						"type": "click",
						"origType": "click",
						"guid": 702,
						"namespace": ""
					}
				]
			}
		}
	},
	"freeze": true,
	"headers": {},
	"error_handlers": {},
	"url": "/api/method/frappe.desk.form.save.savedocs",
	"request_id": null
}

Response Data

{
	"exception": "PermissionError: [Errno 13] Permission denied: 'apps/test_app/test_app/programming_module'",
	"exc_type": "PermissionError"
}