diff --git a/pdf_report_action/README.rst b/pdf_report_action/README.rst new file mode 100755 index 000000000..800b9c31b --- /dev/null +++ b/pdf_report_action/README.rst @@ -0,0 +1,48 @@ +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg + :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +Dynamic Report Operations +========================= +User can get the different types of operations of report in this module + +Configuration +============= +* No additional configurations needed + +Company +------- +* `Cybrosys Techno Solutions `__ + +License +======= +General Public License, version 3 (AGPL v3). +(https://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Credits +------- +* Developer : (V17) Bhagyadev KP, + (V18) Ammu Raj, +* Contact: odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit `Our Website `__ + +Further information +=================== +HTML Description: ``__ diff --git a/pdf_report_action/__init__.py b/pdf_report_action/__init__.py new file mode 100755 index 000000000..18bbbe64a --- /dev/null +++ b/pdf_report_action/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Ayana K P() +# +# This program is free software: you can modify +# it under the terms of the GNU Affero General Public License (AGPL) as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################ +from . import wizard diff --git a/pdf_report_action/__manifest__.py b/pdf_report_action/__manifest__.py new file mode 100755 index 000000000..eb2774dd3 --- /dev/null +++ b/pdf_report_action/__manifest__.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Ayana K P() +# +# This program is free software: you can modify +# it under the terms of the GNU Affero General Public License (AGPL) as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################ +{ + 'name': 'Dynamic Report Operations', + 'version': '18.0.1.0.0', + 'category': 'Productivity', + 'summary': """ Perform multiple report operations in Sales/Purchase + /Inventory/ Accounting """, + 'description': "Users can perform various actions such as printing, " + "downloading, and sharing reports of various records in " + "Sales, Purchase, Inventory, Accounting", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'depends': ['sale_management', 'purchase', 'stock', 'account',], + 'data': [ + 'security/ir.model.access.csv', + 'wizard/dynamic_action_views.xml', + ], + 'assets': { + 'web.assets_backend': [ + 'pdf_report_action/static/src/css/report_action.css', + 'pdf_report_action/static/src/js/report_action.js', + 'pdf_report_action/static/src/js/report_action_systray.js', + 'pdf_report_action/static/src/xml/report_action_systray.xml', + ], + }, + 'images': ['static/description/banner.png'], + 'license': 'AGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/pdf_report_action/doc/RELEASE_NOTES.md b/pdf_report_action/doc/RELEASE_NOTES.md new file mode 100755 index 000000000..08fa26917 --- /dev/null +++ b/pdf_report_action/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 19.10.2024 +#### Version 18.0.1.0.0 +##### ADD +- Initial Commit for Dynamic Report Operations diff --git a/pdf_report_action/security/ir.model.access.csv b/pdf_report_action/security/ir.model.access.csv new file mode 100755 index 000000000..719f76263 --- /dev/null +++ b/pdf_report_action/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_dynamic_action_user,access.dynamic.action.user,model_dynamic_action,base.group_user,1,1,1,1 diff --git a/pdf_report_action/static/description/assets/cybro-icon.png b/pdf_report_action/static/description/assets/cybro-icon.png new file mode 100644 index 000000000..06e73e11d Binary files /dev/null and b/pdf_report_action/static/description/assets/cybro-icon.png differ diff --git a/pdf_report_action/static/description/assets/cybro-odoo.png b/pdf_report_action/static/description/assets/cybro-odoo.png new file mode 100644 index 000000000..ed02e07a4 Binary files /dev/null and b/pdf_report_action/static/description/assets/cybro-odoo.png differ diff --git a/pdf_report_action/static/description/assets/h2.png b/pdf_report_action/static/description/assets/h2.png new file mode 100644 index 000000000..0bfc4707d Binary files /dev/null and b/pdf_report_action/static/description/assets/h2.png differ diff --git a/pdf_report_action/static/description/assets/icons/arrows-repeat.svg b/pdf_report_action/static/description/assets/icons/arrows-repeat.svg new file mode 100644 index 000000000..1d7efabc5 --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/arrows-repeat.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pdf_report_action/static/description/assets/icons/banner-1.png b/pdf_report_action/static/description/assets/icons/banner-1.png new file mode 100644 index 000000000..c180db172 Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/banner-1.png differ diff --git a/pdf_report_action/static/description/assets/icons/banner-2.svg b/pdf_report_action/static/description/assets/icons/banner-2.svg new file mode 100644 index 000000000..e606d97d9 --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/banner-2.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pdf_report_action/static/description/assets/icons/banner-bg.png b/pdf_report_action/static/description/assets/icons/banner-bg.png new file mode 100644 index 000000000..a8238d3c0 Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/banner-bg.png differ diff --git a/pdf_report_action/static/description/assets/icons/banner-bg.svg b/pdf_report_action/static/description/assets/icons/banner-bg.svg new file mode 100644 index 000000000..b1378103e --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/banner-bg.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/pdf_report_action/static/description/assets/icons/banner-call.svg b/pdf_report_action/static/description/assets/icons/banner-call.svg new file mode 100644 index 000000000..96c687e81 --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/banner-call.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/pdf_report_action/static/description/assets/icons/banner-mail.svg b/pdf_report_action/static/description/assets/icons/banner-mail.svg new file mode 100644 index 000000000..cbf0d158d --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/banner-mail.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/pdf_report_action/static/description/assets/icons/banner-pattern.svg b/pdf_report_action/static/description/assets/icons/banner-pattern.svg new file mode 100644 index 000000000..9c1c7e101 --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/banner-pattern.svg @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pdf_report_action/static/description/assets/icons/banner-promo.svg b/pdf_report_action/static/description/assets/icons/banner-promo.svg new file mode 100644 index 000000000..d52791b11 --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/banner-promo.svg @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pdf_report_action/static/description/assets/icons/brand-pair.svg b/pdf_report_action/static/description/assets/icons/brand-pair.svg new file mode 100644 index 000000000..d8db7fc1e --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/brand-pair.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pdf_report_action/static/description/assets/icons/check.png b/pdf_report_action/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/check.png differ diff --git a/pdf_report_action/static/description/assets/icons/chevron.png b/pdf_report_action/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/chevron.png differ diff --git a/pdf_report_action/static/description/assets/icons/close-icon.svg b/pdf_report_action/static/description/assets/icons/close-icon.svg new file mode 100644 index 000000000..df8cce37a --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/close-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/pdf_report_action/static/description/assets/icons/cogs.png b/pdf_report_action/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/cogs.png differ diff --git a/pdf_report_action/static/description/assets/icons/collabarate-icon.svg b/pdf_report_action/static/description/assets/icons/collabarate-icon.svg new file mode 100644 index 000000000..dd4e10518 --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/collabarate-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/pdf_report_action/static/description/assets/icons/consultation.png b/pdf_report_action/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/consultation.png differ diff --git a/pdf_report_action/static/description/assets/icons/cybro-logo.png b/pdf_report_action/static/description/assets/icons/cybro-logo.png new file mode 100644 index 000000000..ff4b78220 Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/cybro-logo.png differ diff --git a/pdf_report_action/static/description/assets/icons/down.svg b/pdf_report_action/static/description/assets/icons/down.svg new file mode 100644 index 000000000..f21c36271 --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/pdf_report_action/static/description/assets/icons/ecom-black.png b/pdf_report_action/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/ecom-black.png differ diff --git a/pdf_report_action/static/description/assets/icons/education-black.png b/pdf_report_action/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/education-black.png differ diff --git a/pdf_report_action/static/description/assets/icons/faq.png b/pdf_report_action/static/description/assets/icons/faq.png new file mode 100644 index 000000000..4250b5b81 Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/faq.png differ diff --git a/pdf_report_action/static/description/assets/icons/feature-icon.svg b/pdf_report_action/static/description/assets/icons/feature-icon.svg new file mode 100644 index 000000000..fa0ea6850 --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/feature-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pdf_report_action/static/description/assets/icons/feature.png b/pdf_report_action/static/description/assets/icons/feature.png new file mode 100644 index 000000000..ac7a785c0 Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/feature.png differ diff --git a/pdf_report_action/static/description/assets/icons/gear.svg b/pdf_report_action/static/description/assets/icons/gear.svg new file mode 100644 index 000000000..0cc66b6ea --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/gear.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pdf_report_action/static/description/assets/icons/hero.gif b/pdf_report_action/static/description/assets/icons/hero.gif new file mode 100644 index 000000000..380654dfe Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/hero.gif differ diff --git a/pdf_report_action/static/description/assets/icons/hire-odoo.svg b/pdf_report_action/static/description/assets/icons/hire-odoo.svg new file mode 100644 index 000000000..e1ac089b0 --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/hire-odoo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/pdf_report_action/static/description/assets/icons/hotel-black.png b/pdf_report_action/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/hotel-black.png differ diff --git a/pdf_report_action/static/description/assets/icons/license.png b/pdf_report_action/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/license.png differ diff --git a/pdf_report_action/static/description/assets/icons/life-ring-icon.svg b/pdf_report_action/static/description/assets/icons/life-ring-icon.svg new file mode 100644 index 000000000..3ae6e1d89 --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/life-ring-icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/pdf_report_action/static/description/assets/icons/lifebuoy.png b/pdf_report_action/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/lifebuoy.png differ diff --git a/pdf_report_action/static/description/assets/icons/mail.svg b/pdf_report_action/static/description/assets/icons/mail.svg new file mode 100644 index 000000000..1eedde695 --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/mail.svg @@ -0,0 +1,3 @@ + + + diff --git a/pdf_report_action/static/description/assets/icons/manufacturing-black.png b/pdf_report_action/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/manufacturing-black.png differ diff --git a/pdf_report_action/static/description/assets/icons/notes.png b/pdf_report_action/static/description/assets/icons/notes.png new file mode 100644 index 000000000..ee5e95404 Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/notes.png differ diff --git a/pdf_report_action/static/description/assets/icons/notification icon.svg b/pdf_report_action/static/description/assets/icons/notification icon.svg new file mode 100644 index 000000000..053189973 --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/notification icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pdf_report_action/static/description/assets/icons/odoo-consultancy.svg b/pdf_report_action/static/description/assets/icons/odoo-consultancy.svg new file mode 100644 index 000000000..e05f65bde --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/odoo-consultancy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/pdf_report_action/static/description/assets/icons/odoo-licencing.svg b/pdf_report_action/static/description/assets/icons/odoo-licencing.svg new file mode 100644 index 000000000..2606c88b0 --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/odoo-licencing.svg @@ -0,0 +1,3 @@ + + + diff --git a/pdf_report_action/static/description/assets/icons/odoo-logo.png b/pdf_report_action/static/description/assets/icons/odoo-logo.png new file mode 100644 index 000000000..0e4d0eb5a Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/odoo-logo.png differ diff --git a/pdf_report_action/static/description/assets/icons/patter.svg b/pdf_report_action/static/description/assets/icons/patter.svg new file mode 100644 index 000000000..25c9c0a8f --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/patter.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/pdf_report_action/static/description/assets/icons/pattern1.png b/pdf_report_action/static/description/assets/icons/pattern1.png new file mode 100644 index 000000000..09ab0fb2d Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/pattern1.png differ diff --git a/pdf_report_action/static/description/assets/icons/pos-black.png b/pdf_report_action/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/pos-black.png differ diff --git a/pdf_report_action/static/description/assets/icons/puzzle-piece-icon.svg b/pdf_report_action/static/description/assets/icons/puzzle-piece-icon.svg new file mode 100644 index 000000000..3e9ad9373 --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/puzzle-piece-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pdf_report_action/static/description/assets/icons/puzzle.png b/pdf_report_action/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/puzzle.png differ diff --git a/pdf_report_action/static/description/assets/icons/replace-icon.svg b/pdf_report_action/static/description/assets/icons/replace-icon.svg new file mode 100644 index 000000000..d0e3a7af1 --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/replace-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pdf_report_action/static/description/assets/icons/restaurant-black.png b/pdf_report_action/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/restaurant-black.png differ diff --git a/pdf_report_action/static/description/assets/icons/screenshot-main.png b/pdf_report_action/static/description/assets/icons/screenshot-main.png new file mode 100644 index 000000000..575f8e676 Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/screenshot-main.png differ diff --git a/pdf_report_action/static/description/assets/icons/screenshot.png b/pdf_report_action/static/description/assets/icons/screenshot.png new file mode 100644 index 000000000..cef272529 Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/screenshot.png differ diff --git a/pdf_report_action/static/description/assets/icons/service-black.png b/pdf_report_action/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/service-black.png differ diff --git a/pdf_report_action/static/description/assets/icons/skype-fill.svg b/pdf_report_action/static/description/assets/icons/skype-fill.svg new file mode 100644 index 000000000..c17423639 --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/skype-fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pdf_report_action/static/description/assets/icons/skype.png b/pdf_report_action/static/description/assets/icons/skype.png new file mode 100644 index 000000000..51b409fb3 Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/skype.png differ diff --git a/pdf_report_action/static/description/assets/icons/skype.svg b/pdf_report_action/static/description/assets/icons/skype.svg new file mode 100644 index 000000000..df3dad39b --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/skype.svg @@ -0,0 +1,3 @@ + + + diff --git a/pdf_report_action/static/description/assets/icons/star-1.svg b/pdf_report_action/static/description/assets/icons/star-1.svg new file mode 100644 index 000000000..7e55ab162 --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/star-1.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pdf_report_action/static/description/assets/icons/star-2.svg b/pdf_report_action/static/description/assets/icons/star-2.svg new file mode 100644 index 000000000..5ae9f507a --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/star-2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/pdf_report_action/static/description/assets/icons/support.png b/pdf_report_action/static/description/assets/icons/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/support.png differ diff --git a/pdf_report_action/static/description/assets/icons/test-1 - Copy.png b/pdf_report_action/static/description/assets/icons/test-1 - Copy.png new file mode 100644 index 000000000..f6a902663 Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/test-1 - Copy.png differ diff --git a/pdf_report_action/static/description/assets/icons/test-1.png b/pdf_report_action/static/description/assets/icons/test-1.png new file mode 100644 index 000000000..0908add2b Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/test-1.png differ diff --git a/pdf_report_action/static/description/assets/icons/test-2.png b/pdf_report_action/static/description/assets/icons/test-2.png new file mode 100644 index 000000000..4671fe91e Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/test-2.png differ diff --git a/pdf_report_action/static/description/assets/icons/trading-black.png b/pdf_report_action/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/trading-black.png differ diff --git a/pdf_report_action/static/description/assets/icons/training.png b/pdf_report_action/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/training.png differ diff --git a/pdf_report_action/static/description/assets/icons/translate.svg b/pdf_report_action/static/description/assets/icons/translate.svg new file mode 100644 index 000000000..af9c8a1aa --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/translate.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pdf_report_action/static/description/assets/icons/update.png b/pdf_report_action/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/update.png differ diff --git a/pdf_report_action/static/description/assets/icons/user.png b/pdf_report_action/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/user.png differ diff --git a/pdf_report_action/static/description/assets/icons/video.png b/pdf_report_action/static/description/assets/icons/video.png new file mode 100644 index 000000000..576705b17 Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/video.png differ diff --git a/pdf_report_action/static/description/assets/icons/whatsapp.png b/pdf_report_action/static/description/assets/icons/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/whatsapp.png differ diff --git a/pdf_report_action/static/description/assets/icons/wrench-icon.svg b/pdf_report_action/static/description/assets/icons/wrench-icon.svg new file mode 100644 index 000000000..174b5a465 --- /dev/null +++ b/pdf_report_action/static/description/assets/icons/wrench-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pdf_report_action/static/description/assets/icons/wrench.png b/pdf_report_action/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/pdf_report_action/static/description/assets/icons/wrench.png differ diff --git a/pdf_report_action/static/description/assets/modules/1.gif b/pdf_report_action/static/description/assets/modules/1.gif new file mode 100644 index 000000000..ae3a880a2 Binary files /dev/null and b/pdf_report_action/static/description/assets/modules/1.gif differ diff --git a/pdf_report_action/static/description/assets/modules/2.gif b/pdf_report_action/static/description/assets/modules/2.gif new file mode 100644 index 000000000..d19e2b352 Binary files /dev/null and b/pdf_report_action/static/description/assets/modules/2.gif differ diff --git a/pdf_report_action/static/description/assets/modules/3.png b/pdf_report_action/static/description/assets/modules/3.png new file mode 100644 index 000000000..8513873ea Binary files /dev/null and b/pdf_report_action/static/description/assets/modules/3.png differ diff --git a/pdf_report_action/static/description/assets/modules/4.png b/pdf_report_action/static/description/assets/modules/4.png new file mode 100644 index 000000000..3bedf7981 Binary files /dev/null and b/pdf_report_action/static/description/assets/modules/4.png differ diff --git a/pdf_report_action/static/description/assets/modules/5.png b/pdf_report_action/static/description/assets/modules/5.png new file mode 100644 index 000000000..0e311ca87 Binary files /dev/null and b/pdf_report_action/static/description/assets/modules/5.png differ diff --git a/pdf_report_action/static/description/assets/modules/6.jpg b/pdf_report_action/static/description/assets/modules/6.jpg new file mode 100644 index 000000000..67c7f7062 Binary files /dev/null and b/pdf_report_action/static/description/assets/modules/6.jpg differ diff --git a/pdf_report_action/static/description/assets/screenshots/1.png b/pdf_report_action/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..7a571ae20 Binary files /dev/null and b/pdf_report_action/static/description/assets/screenshots/1.png differ diff --git a/pdf_report_action/static/description/assets/screenshots/2.png b/pdf_report_action/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..5d8d33064 Binary files /dev/null and b/pdf_report_action/static/description/assets/screenshots/2.png differ diff --git a/pdf_report_action/static/description/assets/screenshots/3.png b/pdf_report_action/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..797199962 Binary files /dev/null and b/pdf_report_action/static/description/assets/screenshots/3.png differ diff --git a/pdf_report_action/static/description/assets/screenshots/4.png b/pdf_report_action/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..c1980b3b0 Binary files /dev/null and b/pdf_report_action/static/description/assets/screenshots/4.png differ diff --git a/pdf_report_action/static/description/assets/screenshots/5.png b/pdf_report_action/static/description/assets/screenshots/5.png new file mode 100644 index 000000000..cd98bc707 Binary files /dev/null and b/pdf_report_action/static/description/assets/screenshots/5.png differ diff --git a/pdf_report_action/static/description/assets/screenshots/6.png b/pdf_report_action/static/description/assets/screenshots/6.png new file mode 100644 index 000000000..47d803e35 Binary files /dev/null and b/pdf_report_action/static/description/assets/screenshots/6.png differ diff --git a/pdf_report_action/static/description/assets/screenshots/7.png b/pdf_report_action/static/description/assets/screenshots/7.png new file mode 100644 index 000000000..2432a560a Binary files /dev/null and b/pdf_report_action/static/description/assets/screenshots/7.png differ diff --git a/pdf_report_action/static/description/assets/screenshots/8.png b/pdf_report_action/static/description/assets/screenshots/8.png new file mode 100644 index 000000000..d692f934a Binary files /dev/null and b/pdf_report_action/static/description/assets/screenshots/8.png differ diff --git a/pdf_report_action/static/description/assets/screenshots/gif.gif b/pdf_report_action/static/description/assets/screenshots/gif.gif new file mode 100644 index 000000000..977d54c68 Binary files /dev/null and b/pdf_report_action/static/description/assets/screenshots/gif.gif differ diff --git a/pdf_report_action/static/description/assets/y18.jpg b/pdf_report_action/static/description/assets/y18.jpg new file mode 100644 index 000000000..eea1714f2 Binary files /dev/null and b/pdf_report_action/static/description/assets/y18.jpg differ diff --git a/pdf_report_action/static/description/banner.png b/pdf_report_action/static/description/banner.png new file mode 100644 index 000000000..25b5037e3 Binary files /dev/null and b/pdf_report_action/static/description/banner.png differ diff --git a/pdf_report_action/static/description/icon.png b/pdf_report_action/static/description/icon.png new file mode 100644 index 000000000..cb2e87f29 Binary files /dev/null and b/pdf_report_action/static/description/icon.png differ diff --git a/pdf_report_action/static/description/index.html b/pdf_report_action/static/description/index.html new file mode 100644 index 000000000..3971a1ceb --- /dev/null +++ b/pdf_report_action/static/description/index.html @@ -0,0 +1,1072 @@ + + + + + + Dynamic Report Operations + + + + + + + + + + +
+
+ + + +
+
+ Community +
+
+ Enterprise +
+ + + + +
+
+ +
+
+
+
+

+ Different Action Types For PDF Report. +

+

Dynamic Report Operations +

+
+
+ +
+ +
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+

Key + Heighlights

+
+
+
+
+ +
+
+ Define different actions for pdf report. +
+ +
+
+
+
+
+ +
+
+ Print, Download, Open and Share by Email + options. +
+ +
+
+
+
+
+ +
+
+ Available for Sales, Purchase, Inventory and + Invoice modules. +
+ +
+
+ +
+
+ +
+
+
+ Dynamic Report Operations +

+ Are you ready to make your business more + organized? +
Improve now! +

+ +
+
+ +
+
+
+ + + + +
+
+ +
+
+
+
+ acc_bg +
+ +
+
+
+
+

+ Report Actions + + Menu +

+
+
+

+ We can see a Systray icon 'Report Actions'. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ + Select Actions +

+
+
+

+ There are four actions Print, Download, Open and Share by Email. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Select the Model and Records + +

+
+
+

+ We can select the model and records to perform the report actions. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Sale Report + +

+
+
+

+ Sale order report view. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Purchase Report + +

+
+
+

+ Purchase order report view. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Invoice report + +

+
+
+

+ Invoice report view. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Stock Picking Report + +

+
+
+

+ Stock picking report view. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Share Via Mail + +

+
+
+

+ Share report via email. +

+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+

+ Define different actions for pdf report. +

+
+ +
+
+
+
+
+
+ +
+

+ Print, Download, Open and Share by Email options.

+
+
+
+
+
+
+
+ +
+

+ Available for Sales, Purchase, Inventory and Invoice modules.

+
+
+
+
+
+
+
+
+
+
+ +
+ +
+ +
+

+ Users can perform several actions, including printing the report, downloading it in various formats, opening it directly within the application, and sharing it via email. +

+
+
+ +
+ +
+

+ Yes, the module allows you to download reports in multiple formats, such as PDF, Excel, and CSV, enabling you to choose the format that best suits your needs. +

+
+
+ +
+ +
+

+ You can easily share reports by selecting the "Share by Email" option, which allows you to enter recipient addresses and send the report directly from the module without needing to leave the platform. +

+
+
+
+ +
+
+
+
+
+
+ +
+
+

+ Latest Release 18.0.1.0.0 +

+ + 3rd October, 2024 + +
+
+
+
+
+ Add +
+
+
+
    +
  • + Initial Commit +
  • + +
+
+
+
+
+
+
+
+
+
+ + + +
+

+ Related Products +

+ +
+ + +
+

+ Our Services

+ +
+ +
+
+ .... +
+
+ +
+ + +
+
+ + + + + + diff --git a/pdf_report_action/static/src/css/report_action.css b/pdf_report_action/static/src/css/report_action.css new file mode 100755 index 000000000..e6d24b641 --- /dev/null +++ b/pdf_report_action/static/src/css/report_action.css @@ -0,0 +1,6 @@ +.wizard_btn { + margin: 12px; + border-radius: 7px; + height: 40px; + width: 150px; +} diff --git a/pdf_report_action/static/src/js/report_action.js b/pdf_report_action/static/src/js/report_action.js new file mode 100755 index 000000000..fe953a6d1 --- /dev/null +++ b/pdf_report_action/static/src/js/report_action.js @@ -0,0 +1,8 @@ +/** @odoo-module*/ +import { registry } from "@web/core/registry"; + /** + *Action for open the print screen + */ +registry.category("ir.actions.report handlers").add("xlsx", async (action) => { + var printWindow = window.open(action.data).print(); +}) diff --git a/pdf_report_action/static/src/js/report_action_systray.js b/pdf_report_action/static/src/js/report_action_systray.js new file mode 100644 index 000000000..7ab2130f7 --- /dev/null +++ b/pdf_report_action/static/src/js/report_action_systray.js @@ -0,0 +1,27 @@ +/** @odoo-module **/ +import {Component} from '@odoo/owl'; +import {registry} from '@web/core/registry'; +import {useService} from "@web/core/utils/hooks"; + +// creating systray menu for report +export class ReportMenu extends Component { + setup() { + this.action = useService("action"); + } + // Defining a function to open the wizard while clicking the systray menu + openWizard() { + this.action.doAction({ + type: 'ir.actions.act_window', + name: 'Open Report Wizard', + res_model: 'dynamic.action', + views: [[false, 'form']], + target: 'new', + }); + } +} + +ReportMenu.template = 'pdf_report_action.IconSystrayDropdown'; +export const ReportMenuItem = { + Component: ReportMenu, +}; +registry.category("systray").add("ReportAction", ReportMenuItem); diff --git a/pdf_report_action/static/src/xml/report_action_systray.xml b/pdf_report_action/static/src/xml/report_action_systray.xml new file mode 100644 index 000000000..e086e62cb --- /dev/null +++ b/pdf_report_action/static/src/xml/report_action_systray.xml @@ -0,0 +1,17 @@ + + + + + + + + diff --git a/pdf_report_action/wizard/__init__.py b/pdf_report_action/wizard/__init__.py new file mode 100755 index 000000000..2886671f9 --- /dev/null +++ b/pdf_report_action/wizard/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Ayana K P() +# +# This program is free software: you can modify +# it under the terms of the GNU Affero General Public License (AGPL) as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################ +from . import dynamic_action diff --git a/pdf_report_action/wizard/dynamic_action.py b/pdf_report_action/wizard/dynamic_action.py new file mode 100755 index 000000000..83e5bab28 --- /dev/null +++ b/pdf_report_action/wizard/dynamic_action.py @@ -0,0 +1,216 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Ayana K P() +# +# This program is free software: you can modify +# it under the terms of the GNU Affero General Public License (AGPL) as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################ +import base64 +from odoo import api, fields, models, _ +from odoo.exceptions import ValidationError + + +class DynamicAction(models.TransientModel): + """ + The class DynamicAction provides print, share, open and download reports + in various models . + Methods: + print_report(self): + In this method print the screen of the form.Return a dict. + download_report(self): + In this method download the report of the form.Return a dict. + open_report(self): + In this methode open the print screen of the form.Return a dict. + share_by_email(self): + In this method share email report of the corresponding form. + Return a dict.3.Some misspelled words are there in the doc + string of the function. check it and correct it + """ + _name = "dynamic.action" + _description = "Dynamic Action" + + res_model = fields.Char('Related Document Model', + help='Model of the related document') + res_id = fields.Integer('Related Document ID', + model_field='res_model', + help='ID of the related document') + resource_ref = fields.Reference(string='Record', + selection='_selection_target_model', + inverse='_set_resource_ref', + help='Reference to the record') + + @api.model + def _selection_target_model(self): + """ Reference field function""" + domain = [('model', 'in', ['account.move', 'sale.order', + 'purchase.order', 'stock.picking'])] + models_with_printing = self.env['ir.model'].sudo().search(domain) + return [(model.model, model.name) for model in models_with_printing] + + def _set_resource_ref(self): + """ Reference field function""" + for participant in self: + if participant.resource_ref: + participant.res_id = participant.resource_ref.id + participant.res_model = participant.resource_ref._name + + def action_print_report(self): + """ print button function""" + form_id = self.res_id + model = self.res_model + server_address = self.env['ir.config_parameter'].sudo().get_param( + 'web.base.url') + if model == 'sale.order': + data = f"{server_address}/report/pdf/sale.report_saleorder/{form_id}" + elif model == 'purchase.order': + data = f"{server_address}/report/pdf/purchase.report_purchaseorder/{form_id}" + elif model == 'stock.picking': + data = f"{server_address}/report/pdf/stock.report_picking/{form_id}" + elif model == 'account.move': + data = f"{server_address}/report/pdf/account.report_invoice/{form_id}" + else: + raise ValidationError(_("No record to print!!!")) + return { + 'type': 'ir.actions.report', + 'data': data, + 'report_type': 'xlsx', + } + + def action_download_report(self): + """ + Summary: + In this method download the report of the form.Return a dict. + Returns: + type:dict , it contains the data for the download report. + """ + form_id = self.res_id + model = self.res_model + if model == 'sale.order': + record = self.env['ir.actions.report']._render_qweb_pdf( + 'sale.report_saleorder', form_id) + elif model == 'purchase.order': + record = self.env['ir.actions.report']._render_qweb_pdf( + 'purchase.report_purchaseorder', form_id) + elif model == 'stock.picking': + record = self.env['ir.actions.report']._render_qweb_pdf( + 'stock.report_picking', form_id) + elif model == 'account.move': + record = self.env['ir.actions.report']._render_qweb_pdf( + 'account.report_invoice', form_id) + else: + raise ValidationError(_("Select a record to download!!!")) + file_name = self.env[model].browse(form_id).name + '.pdf' + attachment = self.env['ir.attachment'].create({ + 'name': file_name, + 'type': 'binary', + 'datas': base64.b64encode(record[0]), + 'res_model': model, + 'res_id': form_id, + 'mimetype': 'application/x-pdf' + }) + return { + 'type': 'ir.actions.act_url', + 'target': 'new', + 'url': f"/web/content/{attachment.id}?download=true" + } + + def action_open_report(self): + """ + Summary: + In this method open the print screen of the form.Return a dict. + Returns: + type:dict , it contains the data for the open print report. + """ + form_id = self.res_id + model = self.res_model + server_address = self.get_base_url() + if model == 'sale.order': + url = f"{server_address}/report/pdf/sale.report_saleorder/{form_id}" + elif model == 'purchase.order': + url = f"{server_address}/report/pdf/purchase.report_purchaseorder/{form_id}" + elif model == 'stock.picking': + url = f"{server_address}/report/pdf/stock.report_picking/{form_id}" + elif model == 'account.move': + url = f"{server_address}/report/pdf/account.report_invoice/{form_id}" + else: + raise ValidationError(_("select any record!!!")) + return { + 'type': 'ir.actions.act_url', + 'target': 'new', + 'url': url + } + + def action_share_email(self): + """ + Summary: + In this method share email report of the corresponding form. + Return a dict. + Returns: + type:dict , it contains the data for the email template. + """ + form_id = self.res_id + model = self.res_model + model_name = self.resource_ref + self.ensure_one() + if model == 'sale.order': + if model_name.state not in ('sale', 'done'): + mail_template = self.env.ref('sale.email_template_edi_sale') + else: + mail_template = self.env.ref( + 'sale.mail_template_sale_confirmation') + elif model == 'purchase.order': + if model_name.state not in ('purchase', 'done'): + mail_template = self.env.ref( + 'purchase.email_template_edi_purchase') + else: + mail_template = self.env.ref( + 'purchase.email_template_edi_purchase_done') + elif model == 'account.move': + if model_name.move_type == 'out_refund': + mail_template = self.env.ref( + 'account.email_template_edi_credit_note') + else: + mail_template = self.env.ref( + 'account.email_template_edi_invoice') + else: + raise ValidationError(_("select a record or selected record does " + "not have a share option!!!!!!")) + ctx = { + 'default_model': model, + 'default_res_ids': [form_id], + 'default_use_template': bool(mail_template), + 'default_template_id': mail_template.id if mail_template else None, + 'default_composition_mode': 'comment', + 'mark_so_as_sent': True, + 'default_email_layout_xmlid': 'mail.mail_notification_layout_with_' + 'responsible_signature', + 'proforma': self.env.context.get('proforma', False), + 'force_email': True, + } + if mail_template: + # If module has email template + return { + 'type': 'ir.actions.act_window', + 'view_mode': 'form', + 'res_model': 'mail.compose.message', + 'views': [(False, 'form')], + 'view_id': False, + 'target': 'new', + 'context': ctx, + } + raise ValidationError(_("select a record or selected record does not" + " have a share option!!!!!!!!!!!!")) diff --git a/pdf_report_action/wizard/dynamic_action_views.xml b/pdf_report_action/wizard/dynamic_action_views.xml new file mode 100755 index 000000000..dab67847a --- /dev/null +++ b/pdf_report_action/wizard/dynamic_action_views.xml @@ -0,0 +1,41 @@ + + + + + dynamic.action.view.form + dynamic.action + +
+
+ Select model and Record : +


+ + + + + +
+
+
+ +
+
+