ahmadpak / erpnext_quota Goto Github PK
View Code? Open in Web Editor NEWApp to manage ERPNext Site, User, Company and Space limitations
Home Page: http://havenir.com
License: Other
App to manage ERPNext Site, User, Company and Space limitations
Home Page: http://havenir.com
License: Other
Hi @ahmadpak
Trust you're doing great. There seems to be an issue for version 13... Users can't reset password or even create new passwords after being added to the system
Kindly help fix this
Thanks for this wonderful and very useful app
Kind regards,
It will be nice to have this app on FC Marketplace. I would be happy to help you publish this app! Let me know.
hello Ahmad
First of all many thanks for the great work, I installed the app on erpnext v14 its worked fine in limiting users and dates, but when I try to upload an image or file to any module I face Error 500 internal server error.
Can you add expiry date.
And also a scheduled check if expired or warnings everyday when reaches 10/5 days to expire.
Hello @ahmadpak
Thanks for your custom application it works fine but when I use the translation methods it throws errors , I am using version 14 of ERPNext : https://frappeframework.com/docs/user/en/translations
Here's is the Error
Traceback (most recent call last):
File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/home/azureuser/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 109, in <module>
main()
File "/home/azureuser/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 18, in main
click.Group(commands=commands)(prog_name="bench")
File "/home/azureuser/frappe-bench/env/lib/python3.10/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/home/azureuser/frappe-bench/env/lib/python3.10/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/home/azureuser/frappe-bench/env/lib/python3.10/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/azureuser/frappe-bench/env/lib/python3.10/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/azureuser/frappe-bench/env/lib/python3.10/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/azureuser/frappe-bench/env/lib/python3.10/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/home/azureuser/frappe-bench/env/lib/python3.10/site-packages/click/decorators.py", line 21, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/azureuser/frappe-bench/apps/frappe/frappe/commands/__init__.py", line 29, in _func
ret = f(frappe._dict(ctx.obj), *args, **kwargs)
File "/home/azureuser/frappe-bench/apps/frappe/frappe/commands/translate.py", line 64, in get_untranslated
frappe.translate.get_untranslated(lang, untranslated_file, get_all=all, app=app)
File "/home/azureuser/frappe-bench/apps/frappe/frappe/translate.py", line 1049, in get_untranslated
messages.extend(get_messages_for_app(app_name))
File "/home/azureuser/frappe-bench/apps/frappe/frappe/translate.py", line 429, in get_messages_for_app
messages.extend(get_server_messages(app))
File "/home/azureuser/frappe-bench/apps/frappe/frappe/translate.py", line 659, in get_server_messages
messages.extend(get_messages_from_file(os.path.join(basepath, f)))
File "/home/azureuser/frappe-bench/apps/frappe/frappe/translate.py", line 725, in get_messages_from_file
messages += extract_messages_from_python_code(file_contents)
File "/home/azureuser/frappe-bench/apps/frappe/frappe/translate.py", line 765, in extract_messages_from_python_code
raise e # Re-raise the exception after printing the code
File "/home/azureuser/frappe-bench/apps/frappe/frappe/translate.py", line 746, in extract_messages_from_python_code
for message in extract_python(
File "/home/azureuser/frappe-bench/env/lib/python3.10/site-packages/babel/messages/extract.py", line 487, in extract_python
value = eval(code, {'__builtins__': {}}, {})
File "<string>", line 2, in <module>
NameError: name 'doc' is not defined
Thank you for the good work.
Can you please add a new limit for the number of Sales Invoices to be created.
E.g. Limiting the total number of Sales Invoices to be 100, after that it will ask the user to check with the Administrator to increase the limit.
Or we can make this new field dynamic so that the Administrator can select any Doc Type and set the limit for it.
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"main", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/client/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 97, in
main()
File "/home/client/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 18, in main
click.Group(commands=commands)(prog_name='bench')
File "/home/client/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 764, in call
return self.main(*args, **kwargs)
File "/home/client/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/home/client/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/client/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/client/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/client/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/home/client/frappe-bench/env/local/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/client/frappe-bench/apps/frappe/frappe/commands/init.py", line 25, in _func
ret = f(frappe._dict(ctx.obj), *args, **kwargs)
File "/home/client/frappe-bench/apps/frappe/frappe/commands/site.py", line 168, in install_app
_install_app(app, verbose=context.verbose)
File "/home/client/frappe-bench/apps/frappe/frappe/installer.py", line 145, in install_app
sync_for(name, force=True, sync_everything=True, verbose=verbose, reset_permissions=True)
File "/home/client/frappe-bench/apps/frappe/frappe/model/sync.py", line 56, in sync_for
reset_permissions=reset_permissions, for_sync=True)
File "/home/client/frappe-bench/apps/frappe/frappe/modules/import_file.py", line 65, in import_file_by_path
ignore_version=ignore_version, reset_permissions=reset_permissions)
File "/home/client/frappe-bench/apps/frappe/frappe/modules/import_file.py", line 100, in import_doc
doc = frappe.get_doc(docdict)
File "/home/client/frappe-bench/apps/frappe/frappe/init.py", line 721, in get_doc
doc = frappe.model.document.get_doc(*args, **kwargs)
File "/home/client/frappe-bench/apps/frappe/frappe/model/document.py", line 69, in get_doc
return controller(*args, **kwargs)
File "/home/client/frappe-bench/apps/frappe/frappe/model/document.py", line 113, in init
super(Document, self).init(kwargs)
File "/home/client/frappe-bench/apps/frappe/frappe/model/base_document.py", line 54, in init
self.update(d)
File "/home/client/frappe-bench/apps/frappe/frappe/model/base_document.py", line 77, in update
self.set(key, value)
File "/home/client/frappe-bench/apps/frappe/frappe/model/base_document.py", line 124, in set
self.extend(key, value)
File "/home/client/frappe-bench/apps/frappe/frappe/model/base_document.py", line 161, in extend
self.append(key, v)
File "/home/client/frappe-bench/apps/frappe/frappe/model/base_document.py", line 155, in append
self.name, str(type(value))[1:-1], value)
ValueError: Document for field "field_order" attached to child table of "Usage Info" must be a dict or BaseDocument, not type 'unicode' (users)
I have noticed that a system user cannot change his password in Erpnext version 14 which has the quota app installed. An error message "Insufficient Permission for Has Role" occurs whenever he tries to save the changed password. I think it is applicable to any modification a user wants to do on his or her user page.
When I uninstall the quota app, the issue stops.
Thanks
Internal Server Error giving this error on erpnext 14
Please update the code to use it.
Currently your user count filters in install.py is still counting Administrator.
filters = {
'enabled': 1,
'name': ['!=','Guest', 'Administrator']
}
It only takes the '!=', 'Guest'
and ignore the '!=', 'Administrator'
hence the user count also includes Administrator.
It should be
filters = [
{'enabled': 1},
{'name': ['!=','Administrator']},
{'name': ['!=','Guest']}
]
Hello, thanks for giving us this ERPNext app. Unfortunately, it doesn't work with ERPNext v14.
Kindly update to fix this issue.
Regards
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.