saguas / jasper_erpnext_report Goto Github PK
View Code? Open in Web Editor NEWJasper for frappe
License: MIT License
Jasper for frappe
License: MIT License
~/frappe-bench$ bench install-app jasper_erpnext_report
Installing jasper_erpnext_report...
Updating jasper_erpnext_report : [======== ]Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 162, 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/erp/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 79, in
main()
File "/home/erp/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 16, in main
click.Group(commands=commands)(prog_name='bench')
File "/home/erp/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 716, in call
return self.main(_args, *_kwargs)
File "/home/erp/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 696, in main
rv = self.invoke(ctx)
File "/home/erp/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/erp/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/erp/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 889, in invoke
return ctx.invoke(self.callback, *_ctx.params)
File "/home/erp/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 534, in invoke
return callback(_args, *_kwargs)
File "/home/erp/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/erp/frappe-bench/apps/frappe/frappe/commands.py", line 29, in _func
ret = f(frappe._dict(ctx.obj), _args, *_kwargs)
File "/home/erp/frappe-bench/apps/frappe/frappe/commands.py", line 163, in install_app
_install_app(app, verbose=context.verbose)
File "/home/erp/frappe-bench/apps/frappe/frappe/installer.py", line 125, in install_app
sync_for(name, force=True, sync_everything=True, verbose=verbose)
File "/home/erp/frappe-bench/apps/frappe/frappe/model/sync.py", line 43, in sync_for
import_file_by_path(doc_path, force=force)
File "/home/erp/frappe-bench/apps/frappe/frappe/modules/import_file.py", line 54, in import_file_by_path
import_doc(doc, force=force, data_import=data_import, pre_process=pre_process)
File "/home/erp/frappe-bench/apps/frappe/frappe/modules/import_file.py", line 122, in import_doc
doc.insert()
File "/home/erp/frappe-bench/apps/frappe/frappe/model/document.py", line 211, in insert
self.run_post_save_methods()
File "/home/erp/frappe-bench/apps/frappe/frappe/model/document.py", line 635, in run_post_save_methods
self.run_method("on_update")
File "/home/erp/frappe-bench/apps/frappe/frappe/model/document.py", line 579, in run_method
return Document.hook(fn)(self, _args, *_kwargs)
File "/home/erp/frappe-bench/apps/frappe/frappe/model/document.py", line 735, in composer
return composed(self, method, _args, *_kwargs)
File "/home/erp/frappe-bench/apps/frappe/frappe/model/document.py", line 718, in runner
add_to_return_value(self, fn(self, _args, *_kwargs))
File "/home/erp/frappe-bench/apps/frappe/frappe/model/document.py", line 573, in
fn = lambda self, _args, *_kwargs: getattr(self, method)(_args, *_kwargs)
File "/home/erp/frappe-bench/apps/frappe/frappe/core/doctype/doctype/doctype.py", line 135, in on_update
self.run_module_method("on_doctype_update")
File "/home/erp/frappe-bench/apps/frappe/frappe/core/doctype/doctype/doctype.py", line 144, in run_module_method
module = load_doctype_module(self.name, self.module)
File "/home/erp/frappe-bench/apps/frappe/frappe/modules/init.py", line 64, in load_doctype_module
doctype_python_modules[key] = frappe.get_module(get_module_name(doctype, module, prefix))
File "/home/erp/frappe-bench/apps/frappe/frappe/init.py", line 599, in get_module
return importlib.import_module(modulename)
File "/usr/lib/python2.7/importlib/init.py", line 37, in import_module
import(name)
File "/home/erp/frappe-bench/apps/jasper_erpnext_report/jasper_erpnext_report/jasper_erpnext_report/doctype/jasperserverconfig/jasperserverconfig.py", line 7, in
import jasper_erpnext_report.core.JasperRoot as Jr
File "/home/erp/frappe-bench/apps/jasper_erpnext_report/jasper_erpnext_report/core/JasperRoot.py", line 11, in
import JasperServer as Js, JasperLocal as Jl, JasperBase as Jb
File "/home/erp/frappe-bench/apps/jasper_erpnext_report/jasper_erpnext_report/core/JasperServer.py", line 30, in
import JasperBase as Jb
File "/home/erp/frappe-bench/apps/jasper_erpnext_report/jasper_erpnext_report/core/JasperBase.py", line 14, in
_logger = frappe.logger("jasper_erpnext_report")
TypeError: 'NoneType' object is not callable
Hi there,
I have tried to install the jasper report app, and I am having some issues with the pidgins.
I did bench requirements, but it seems like the pidgins is not installed properly.
franky1@erpnextTesting:~$ bench update --requirements
Requirement already satisfied (use --upgrade to upgrade): Pillow in ./env/lib/python2.7/site-packages
Requirement already up-to-date: pip in ./env/lib/python2.7/site-packages
________________________________________________________________________________
Bench: Open source installer + admin for Frappe and ERPNext (https://erpnext.com)
franky1@erpnextTesting:~$ bench run-tests
CLASSPATH /home/franky1/frappe-bench/apps/jasper_erpnext_report/jasper_erpnext_report/java/lib/*:.:
pyjnius is not installed: 'JAVA_HOME'
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 162, 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/franky1/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 79, in <module>
main()
File "/home/franky1/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 16, in main
click.Group(commands=commands)(prog_name='bench')
File "/home/franky1/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 716, in __call__
return self.main(*args, **kwargs)
File "/home/franky1/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 696, in main
rv = self.invoke(ctx)
File "/home/franky1/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/franky1/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/franky1/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 889, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/franky1/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 534, in invoke
return callback(*args, **kwargs)
File "/home/franky1/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/franky1/frappe-bench/apps/frappe/frappe/commands.py", line 29, in _func
ret = f(frappe._dict(ctx.obj), *args, **kwargs)
File "/home/franky1/frappe-bench/apps/frappe/frappe/commands.py", line 779, in run_tests
ret = frappe.test_runner.main(app, module, doctype, context.verbose, tests=tests, force=context.force)
File "/home/franky1/frappe-bench/apps/frappe/frappe/test_runner.py", line 38, in main
ret = run_all_tests(app, verbose)
File "/home/franky1/frappe-bench/apps/frappe/frappe/test_runner.py", line 73, in run_all_tests
_add_test(path, filename, verbose, test_suite=test_suite)
File "/home/franky1/frappe-bench/apps/frappe/frappe/test_runner.py", line 128, in _add_test
make_test_records(doctype, verbose)
File "/home/franky1/frappe-bench/apps/frappe/frappe/test_runner.py", line 145, in make_test_records
make_test_records_for_doctype(options, verbose, force)
File "/home/franky1/frappe-bench/apps/frappe/frappe/test_runner.py", line 190, in make_test_records_for_doctype
frappe.local.test_objects[doctype] += make_test_objects(doctype, test_module.test_records, verbose)
File "/home/franky1/frappe-bench/apps/frappe/frappe/test_runner.py", line 237, in make_test_objects
d.insert()
File "/home/franky1/frappe-bench/apps/frappe/frappe/model/document.py", line 188, in insert
self.set_new_name()
File "/home/franky1/frappe-bench/apps/frappe/frappe/model/document.py", line 281, in set_new_name
set_new_name(self)
File "/home/franky1/frappe-bench/apps/frappe/frappe/model/naming.py", line 40, in set_new_name
frappe.throw(_("{0} is required").format(doc.meta.get_label(fieldname)))
File "/home/franky1/frappe-bench/apps/frappe/frappe/__init__.py", line 265, in throw
msgprint(msg, raise_exception=exc)
File "/home/franky1/frappe-bench/apps/frappe/frappe/__init__.py", line 258, in msgprint
_raise_exception()
File "/home/franky1/frappe-bench/apps/frappe/frappe/__init__.py", line 243, in _raise_exception
raise raise_exception, encode(msg)
frappe.exceptions.ValidationError: Jasper Report Name is required
franky1@erpnextTesting:~$
How can I check if I have JAVA_HOME exported and added it to PATH?
Thanks in advance.
Traceback (innermost last):
File "/home/franky1/frappe-bench/apps/frappe/frappe/desk/form/save.py", line 18, in savedocs
doc.save()
File "/home/franky1/frappe-bench/apps/frappe/frappe/model/document.py", line 231, in save
self.insert()
File "/home/franky1/frappe-bench/apps/frappe/frappe/model/document.py", line 193, in insert
self.run_before_save_methods()
File "/home/franky1/frappe-bench/apps/frappe/frappe/model/document.py", line 596, in run_before_save_methods
self.run_method("before_save")
File "/home/franky1/frappe-bench/apps/frappe/frappe/model/document.py", line 557, in run_method
return Document.hook(fn)(self, *args, **kwargs)
File "/home/franky1/frappe-bench/apps/frappe/frappe/model/document.py", line 712, in composer
return composed(self, method, *args, **kwargs)
File "/home/franky1/frappe-bench/apps/frappe/frappe/model/document.py", line 695, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File "/home/franky1/frappe-bench/apps/frappe/frappe/model/document.py", line 551, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File "/home/franky1/frappe-bench/apps/jasper_erpnext_report/jasper_erpnext_report/jasper_erpnext_report/doctype/jasper_reports/jasper_reports.py", line 60, in before_save
self.jasper_param_message = frappe.db.get_values_from_single(["jasper_param_message"], None, "JasperServerConfig")[0][0].format(report=self.jasper_report_name, user=frappe.local.session['user'])
IndexError: list index out of range
Traceback (innermost last):
File "/home/franky1/frappe-bench/apps/frappe/frappe/app.py", line 69, in application
response = frappe.handler.handle()
File "/home/franky1/frappe-bench/apps/frappe/frappe/handler.py", line 20, in handle
execute_cmd(cmd)
File "/home/franky1/frappe-bench/apps/frappe/frappe/handler.py", line 37, in execute_cmd
ret = frappe.call(method, **frappe.form_dict)
File "/home/franky1/frappe-bench/apps/frappe/frappe/__init__.py", line 798, in call
return fn(*args, **newargs)
File "/home/franky1/frappe-bench/apps/frappe/frappe/desk/form/save.py", line 18, in savedocs
doc.save()
File "/home/franky1/frappe-bench/apps/frappe/frappe/model/document.py", line 231, in save
self.insert()
File "/home/franky1/frappe-bench/apps/frappe/frappe/model/document.py", line 193, in insert
self.run_before_save_methods()
File "/home/franky1/frappe-bench/apps/frappe/frappe/model/document.py", line 596, in run_before_save_methods
self.run_method("before_save")
File "/home/franky1/frappe-bench/apps/frappe/frappe/model/document.py", line 557, in run_method
return Document.hook(fn)(self, *args, **kwargs)
File "/home/franky1/frappe-bench/apps/frappe/frappe/model/document.py", line 712, in composer
return composed(self, method, *args, **kwargs)
File "/home/franky1/frappe-bench/apps/frappe/frappe/model/document.py", line 695, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File "/home/franky1/frappe-bench/apps/frappe/frappe/model/document.py", line 551, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File "/home/franky1/frappe-bench/apps/jasper_erpnext_report/jasper_erpnext_report/jasper_erpnext_report/doctype/jasper_reports/jasper_reports.py", line 60, in before_save
self.jasper_param_message = frappe.db.get_values_from_single(["jasper_param_message"], None, "JasperServerConfig")[0][0].format(report=self.jasper_report_name, user=frappe.local.session['user'])
IndexError: list index out of range
Hi @saguas,
When trying to use bench uninstall app, I get this issue:
franky1@erpnextTesting:~$ bench uninstall-app jasper_erpnext_report
All doctypes (including custom), modules related to this app will be deleted. Are you sure you want to continue (y/n) ? y
Backing up...
removing Jasper PermRole...
removing JasperServerConfig...
removing Jasper Reports...
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 162, 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/franky1/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 79, in <module>
main()
File "/home/franky1/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 16, in main
click.Group(commands=commands)(prog_name='bench')
File "/home/franky1/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 716, in __call__
return self.main(*args, **kwargs)
File "/home/franky1/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 696, in main
rv = self.invoke(ctx)
File "/home/franky1/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/franky1/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/franky1/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 889, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/franky1/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 534, in invoke
return callback(*args, **kwargs)
File "/home/franky1/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/franky1/frappe-bench/apps/frappe/frappe/commands.py", line 29, in _func
ret = f(frappe._dict(ctx.obj), *args, **kwargs)
File "/home/franky1/frappe-bench/apps/frappe/frappe/commands.py", line 919, in uninstall
remove_app(app, dry_run)
File "/home/franky1/frappe-bench/apps/frappe/frappe/installer.py", line 177, in remove_app
frappe.db.sql("drop table `tab{0}`".format(doctype.name))
File "/home/franky1/frappe-bench/apps/frappe/frappe/database.py", line 108, in sql
self.check_transaction_status(query)
File "/home/franky1/frappe-bench/apps/frappe/frappe/database.py", line 206, in check_transaction_status
raise Exception, 'This statement can cause implicit commit'
Exception: This statement can cause implicit commit
Any idea how I can uninstall the app?
Thanks.
Hello guys,
i have encounter this following error when try to save as local jrxml in setting.
"You don't have local server. Install python module pyjnius first."
i have run bench update --requirements to install and make sure the java path is point to right directory.
Any suggestion is really appreciated.Thanks
I did a bench update, then erpnext do not let me log in ( I always get this error)
Traceback (innermost last):
File "/home/franky1/frappe-bench/apps/frappe/frappe/website/render.py", line 25, in render
data = render_page_by_language(path)
File "/home/franky1/frappe-bench/apps/frappe/frappe/website/render.py", line 91, in render_page_by_language
return render_page(path)
File "/home/franky1/frappe-bench/apps/frappe/frappe/website/render.py", line 107, in render_page
return build(path)
File "/home/franky1/frappe-bench/apps/frappe/frappe/website/render.py", line 114, in build
return build_page(path)
File "/home/franky1/frappe-bench/apps/frappe/frappe/website/render.py", line 127, in build_page
context = get_context(path)
File "/home/franky1/frappe-bench/apps/frappe/frappe/website/context.py", line 16, in get_context
context = build_context(context)
File "/home/franky1/frappe-bench/apps/frappe/frappe/website/context.py", line 58, in build_context
ret = module.get_context(context)
File "/home/franky1/frappe-bench/apps/frappe/frappe/templates/pages/desk.py", line 21, in get_context
boot = frappe.sessions.get()
File "/home/franky1/frappe-bench/apps/frappe/frappe/sessions.py", line 106, in get
bootinfo = get_bootinfo()
File "/home/franky1/frappe-bench/apps/frappe/frappe/boot.py", line 58, in get_bootinfo
frappe.get_attr(method)(bootinfo)
File "/home/franky1/frappe-bench/apps/frappe/frappe/init.py", line 789, in get_attr
return getattr(get_module(modulename), method name
File "/home/franky1/frappe-bench/apps/frappe/frappe/init.py", line 599, in get_module
return importlib.import_module(module name
File "/usr/lib/python2.7/importlib/init.py", line 37, in import_module
import(name)
File "/home/franky1/frappe-bench/apps/jasper_erpnext_report/jasper_erpnext_report/core/JasperWhitelist.py", line 13, in
import JasperRoot as Jr
File "/home/franky1/frappe-bench/apps/jasper_erpnext_report/jasper_erpnext_report/core/JasperRoot.py", line 11, in
import JasperServer as Js, JasperLocal as Jl, JasperBase as Jb
File "/home/franky1/frappe-bench/apps/jasper_erpnext_report/jasper_erpnext_report/core/JasperServer.py", line 30, in
import JasperBase as Jb
File "/home/franky1/frappe-bench/apps/jasper_erpnext_report/jasper_erpnext_report/core/JasperBase.py", line 14, in
_logger = frappe.logger("jasper_erpnext_report")
TypeError: 'NoneType' object is not callable))
Hi @saguas,
This is certainly a FrappeCloud marketplace worthy, where you can attract more users for your app. Here is the video tutorial on how can you make an application for publishing an app FC marketplace.
https://youtu.be/qwv1grkU5fQ?t=206
Will be great to see you guys getting traction from FC marketplace. Do give a thought. When ready, @NagariaHussain can assist with reviews from our end.
Hello @saguas, thank you very much for your work!
I am having some localisation issues with Jasper installed in local mode and using Spanish characters like "opción" where it is represented "opciÓn" in the final PDF.
Do you think there is any way to fix this from your side or should I test with the server mode?
Thank you very much!
frappe@ac:~/frappe-bench$ bench get-app jasper_erpnext_report https://github.com/saguas/jasper_erpnext_report.git
INFO:bench.app:getting app jasper_erpnext_report
INFO:bench.utils:git clone https://github.com/saguas/jasper_erpnext_report.git --depth 1 --origin upstream
Cloning into 'jasper_erpnext_report'...
remote: Counting objects: 251, done.
remote: Compressing objects: 100% (203/203), done.
remote: Total 251 (delta 52), reused 152 (delta 34), pack-reused 0
Receiving objects: 100% (251/251), 23.71 MiB | 8.60 MiB/s, done.
Resolving deltas: 100% (52/52), done.
Checking connectivity... done.
('installing', u'jasper_erpnext_report')
INFO:bench.app:installing jasper_erpnext_report
INFO:bench.utils:./env/bin/pip install -q -e ./apps/jasper_erpnext_report --no-cache-dir
Traceback (most recent call last):
File "/usr/lib/python3.5/runpy.py", line 184, in _run_module_as_main
"main", mod_spec)
File "/usr/lib/python3.5/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 97, in
main()
File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 13, in main
commands = get_app_groups()
File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 25, in get_app_groups
app_commands = get_app_commands(app)
File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 63, in get_app_commands
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.