diff --git a/lunch_order_pdf/README.rst b/lunch_order_pdf/README.rst new file mode 100755 index 000000000..60278eefa --- /dev/null +++ b/lunch_order_pdf/README.rst @@ -0,0 +1,49 @@ +.. 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 + +Lunch Orders - PDF +================== +This module allow to print PDF report for lunch orders. + +Configuration +============= +The user should be added to the security group: Administrator(Human Resources/ Lunch) inorder to get access to the new menus. + +Company +------- +* `Cybrosys Techno Solutions `__ + +License +------- +General Public License, Version 3 (AGPL v3). +(https://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Credits +------- +Developer: (V16) Ammu Raj, + (V17) Gayathri V + (V18) Nandakishore M +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/lunch_order_pdf/__init__.py b/lunch_order_pdf/__init__.py new file mode 100644 index 000000000..e66276d67 --- /dev/null +++ b/lunch_order_pdf/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Nandakishore M (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from . import report +from . import wizard diff --git a/lunch_order_pdf/__manifest__.py b/lunch_order_pdf/__manifest__.py new file mode 100644 index 000000000..dfcffd8bf --- /dev/null +++ b/lunch_order_pdf/__manifest__.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Nandakishore M (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +{ + 'name': 'Lunch Orders - PDF', + 'version': '18.0.1.0.0', + 'category': 'Human Resources', + 'summary': "Custom report for Lunch module", + 'description': "Create custom PDF Report for Lunch with required filters", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'depends': ['lunch'], + 'data': [ + 'security/ir.model.access.csv', + 'report/lunch_order_report_templates.xml', + 'report/lunch_order_reports.xml', + 'wizard/lunch_report_views.xml' + ], + 'images': ['static/description/banner.jpg'], + 'license': 'AGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/lunch_order_pdf/doc/RELEASE_NOTES.md b/lunch_order_pdf/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..854daf2a4 --- /dev/null +++ b/lunch_order_pdf/doc/RELEASE_NOTES.md @@ -0,0 +1,7 @@ +## Module + +#### 24.09.2024 +#### Version 17.0.1.0.0 +#### ADD + +- Initial commit for Lunch Orders - PDF diff --git a/lunch_order_pdf/report/__init__.py b/lunch_order_pdf/report/__init__.py new file mode 100644 index 000000000..cc45a2678 --- /dev/null +++ b/lunch_order_pdf/report/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Nandakishore M (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from . import lunch_order_report diff --git a/lunch_order_pdf/report/lunch_order_report.py b/lunch_order_pdf/report/lunch_order_report.py new file mode 100644 index 000000000..62990f750 --- /dev/null +++ b/lunch_order_pdf/report/lunch_order_report.py @@ -0,0 +1,89 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Nandakishore M (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from odoo import api, fields, models + + +class LunchOrderReport(models.TransientModel): + """Model for creating custom reports. Passing the values to the template""" + _name = 'report.lunch_order_pdf.report_lunch_order' + _description = 'Report for lunch orders' + + @api.model + def _get_report_values(self, docids, data=None): + """ + Override the method to create custom report with custom values + :param docids: the recordset/ record from which the report action is + invoked + :param data: report data + :return: data dictionary to pass values to the report template + """ + period = None + grouped_orders = [] + docs = self.env['lunch.report'].browse( + self.env.context.get('active_id')) + lang = self.env['res.lang'].search( + [('code', '=', self.env.context.get('lang'))]) + order_ids = data.get('order_ids') + orders = self.env['lunch.order'].sudo().browse(order_ids) + end_date = docs.end_date + if not end_date: + end_date = fields.Date.context_today(self) + if docs.start_date: + period = "From " + docs.start_date.strftime( + lang.date_format) + " To " + end_date.strftime(lang.date_format) + if docs.group_order: + if docs.group_order == 'user_id': + users = orders.mapped('user_id').sorted(key='name') + for user in users: + grouped_orders.append([user.name, orders.filtered( + lambda order: order.user_id == user)]) + elif docs.group_order == 'supplier_id': + vendors = orders.mapped('supplier_id').sorted(key='name') + for vendor in vendors: + grouped_orders.append([vendor.name, orders.filtered( + lambda order: order.supplier_id == vendor)]) + elif docs.group_order == 'product_id': + products = orders.mapped('product_id').sorted(key='name') + for product in products: + grouped_orders.append([product.name, orders.filtered( + lambda order: order.product_id == product)]) + elif docs.group_order == 'state': + order_states = ['new', 'ordered', 'confirmed', 'cancelled'] + states = orders.mapped('state') + for state in order_states: + if state in states: + grouped_orders.append([state, orders.filtered( + lambda order: order.state == state)]) + else: + companies = orders.mapped('company_id').sorted(key='name') + for company in companies: + grouped_orders.append([company.name, orders.filtered( + lambda order: order.company_id == company)]) + else: + grouped_orders.append([False, orders]) + return { + 'doc_ids': self.ids, + 'docs': docs, + 'group_order': docs.group_order, + 'grouped_orders': grouped_orders, + 'period': period + } diff --git a/lunch_order_pdf/report/lunch_order_report_templates.xml b/lunch_order_pdf/report/lunch_order_report_templates.xml new file mode 100644 index 000000000..e805e9dbe --- /dev/null +++ b/lunch_order_pdf/report/lunch_order_report_templates.xml @@ -0,0 +1,116 @@ + + + + + diff --git a/lunch_order_pdf/report/lunch_order_reports.xml b/lunch_order_pdf/report/lunch_order_reports.xml new file mode 100644 index 000000000..43ac35c65 --- /dev/null +++ b/lunch_order_pdf/report/lunch_order_reports.xml @@ -0,0 +1,11 @@ + + + + + Lunch Report + lunch.report + qweb-pdf + lunch_order_pdf.report_lunch_order + lunch_order_pdf.report_lunch_order + + diff --git a/lunch_order_pdf/security/ir.model.access.csv b/lunch_order_pdf/security/ir.model.access.csv new file mode 100644 index 000000000..a36541620 --- /dev/null +++ b/lunch_order_pdf/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_lunch_report,access.lunch.report,model_lunch_report,lunch.group_lunch_manager,1,1,1,1 diff --git a/lunch_order_pdf/static/description/assets/cybro-icon.png b/lunch_order_pdf/static/description/assets/cybro-icon.png new file mode 100644 index 000000000..06e73e11d Binary files /dev/null and b/lunch_order_pdf/static/description/assets/cybro-icon.png differ diff --git a/lunch_order_pdf/static/description/assets/cybro-odoo.png b/lunch_order_pdf/static/description/assets/cybro-odoo.png new file mode 100644 index 000000000..ed02e07a4 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/cybro-odoo.png differ diff --git a/lunch_order_pdf/static/description/assets/h2.png b/lunch_order_pdf/static/description/assets/h2.png new file mode 100644 index 000000000..0bfc4707d Binary files /dev/null and b/lunch_order_pdf/static/description/assets/h2.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/arrows-repeat.svg b/lunch_order_pdf/static/description/assets/icons/arrows-repeat.svg new file mode 100644 index 000000000..1d7efabc5 --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/arrows-repeat.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/lunch_order_pdf/static/description/assets/icons/banner-1.png b/lunch_order_pdf/static/description/assets/icons/banner-1.png new file mode 100644 index 000000000..c180db172 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/banner-1.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/banner-2.svg b/lunch_order_pdf/static/description/assets/icons/banner-2.svg new file mode 100644 index 000000000..e606d97d9 --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/banner-2.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lunch_order_pdf/static/description/assets/icons/banner-bg.png b/lunch_order_pdf/static/description/assets/icons/banner-bg.png new file mode 100644 index 000000000..a8238d3c0 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/banner-bg.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/banner-bg.svg b/lunch_order_pdf/static/description/assets/icons/banner-bg.svg new file mode 100644 index 000000000..b1378103e --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/banner-bg.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/lunch_order_pdf/static/description/assets/icons/banner-call.svg b/lunch_order_pdf/static/description/assets/icons/banner-call.svg new file mode 100644 index 000000000..96c687e81 --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/banner-call.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/lunch_order_pdf/static/description/assets/icons/banner-mail.svg b/lunch_order_pdf/static/description/assets/icons/banner-mail.svg new file mode 100644 index 000000000..cbf0d158d --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/banner-mail.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/lunch_order_pdf/static/description/assets/icons/banner-pattern.svg b/lunch_order_pdf/static/description/assets/icons/banner-pattern.svg new file mode 100644 index 000000000..9c1c7e101 --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/banner-pattern.svg @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lunch_order_pdf/static/description/assets/icons/banner-promo.svg b/lunch_order_pdf/static/description/assets/icons/banner-promo.svg new file mode 100644 index 000000000..d52791b11 --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/banner-promo.svg @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lunch_order_pdf/static/description/assets/icons/brand-pair.svg b/lunch_order_pdf/static/description/assets/icons/brand-pair.svg new file mode 100644 index 000000000..d8db7fc1e --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/brand-pair.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lunch_order_pdf/static/description/assets/icons/check.png b/lunch_order_pdf/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/check.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/chevron.png b/lunch_order_pdf/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/chevron.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/close-icon.svg b/lunch_order_pdf/static/description/assets/icons/close-icon.svg new file mode 100644 index 000000000..df8cce37a --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/close-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/lunch_order_pdf/static/description/assets/icons/cogs.png b/lunch_order_pdf/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/cogs.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/collabarate-icon.svg b/lunch_order_pdf/static/description/assets/icons/collabarate-icon.svg new file mode 100644 index 000000000..dd4e10518 --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/collabarate-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/lunch_order_pdf/static/description/assets/icons/consultation.png b/lunch_order_pdf/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/consultation.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/cybro-logo.png b/lunch_order_pdf/static/description/assets/icons/cybro-logo.png new file mode 100644 index 000000000..ff4b78220 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/cybro-logo.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/down.svg b/lunch_order_pdf/static/description/assets/icons/down.svg new file mode 100644 index 000000000..f21c36271 --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/lunch_order_pdf/static/description/assets/icons/ecom-black.png b/lunch_order_pdf/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/ecom-black.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/education-black.png b/lunch_order_pdf/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/education-black.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/faq.png b/lunch_order_pdf/static/description/assets/icons/faq.png new file mode 100644 index 000000000..4250b5b81 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/faq.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/feature-icon.svg b/lunch_order_pdf/static/description/assets/icons/feature-icon.svg new file mode 100644 index 000000000..fa0ea6850 --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/feature-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/lunch_order_pdf/static/description/assets/icons/feature.png b/lunch_order_pdf/static/description/assets/icons/feature.png new file mode 100644 index 000000000..ac7a785c0 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/feature.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/gear.svg b/lunch_order_pdf/static/description/assets/icons/gear.svg new file mode 100644 index 000000000..0cc66b6ea --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/gear.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/lunch_order_pdf/static/description/assets/icons/hero.gif b/lunch_order_pdf/static/description/assets/icons/hero.gif new file mode 100644 index 000000000..d96a756f3 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/hero.gif differ diff --git a/lunch_order_pdf/static/description/assets/icons/hire-odoo.svg b/lunch_order_pdf/static/description/assets/icons/hire-odoo.svg new file mode 100644 index 000000000..e1ac089b0 --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/hire-odoo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/lunch_order_pdf/static/description/assets/icons/hotel-black.png b/lunch_order_pdf/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/hotel-black.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/license.png b/lunch_order_pdf/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/license.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/life-ring-icon.svg b/lunch_order_pdf/static/description/assets/icons/life-ring-icon.svg new file mode 100644 index 000000000..3ae6e1d89 --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/life-ring-icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/lunch_order_pdf/static/description/assets/icons/lifebuoy.png b/lunch_order_pdf/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/lifebuoy.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/mail.svg b/lunch_order_pdf/static/description/assets/icons/mail.svg new file mode 100644 index 000000000..1eedde695 --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/mail.svg @@ -0,0 +1,3 @@ + + + diff --git a/lunch_order_pdf/static/description/assets/icons/manufacturing-black.png b/lunch_order_pdf/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/manufacturing-black.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/notes.png b/lunch_order_pdf/static/description/assets/icons/notes.png new file mode 100644 index 000000000..ee5e95404 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/notes.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/notification icon.svg b/lunch_order_pdf/static/description/assets/icons/notification icon.svg new file mode 100644 index 000000000..053189973 --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/notification icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/lunch_order_pdf/static/description/assets/icons/odoo-consultancy.svg b/lunch_order_pdf/static/description/assets/icons/odoo-consultancy.svg new file mode 100644 index 000000000..e05f65bde --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/odoo-consultancy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/lunch_order_pdf/static/description/assets/icons/odoo-licencing.svg b/lunch_order_pdf/static/description/assets/icons/odoo-licencing.svg new file mode 100644 index 000000000..2606c88b0 --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/odoo-licencing.svg @@ -0,0 +1,3 @@ + + + diff --git a/lunch_order_pdf/static/description/assets/icons/odoo-logo.png b/lunch_order_pdf/static/description/assets/icons/odoo-logo.png new file mode 100644 index 000000000..0e4d0eb5a Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/odoo-logo.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/patter.svg b/lunch_order_pdf/static/description/assets/icons/patter.svg new file mode 100644 index 000000000..25c9c0a8f --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/patter.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/lunch_order_pdf/static/description/assets/icons/pattern1.png b/lunch_order_pdf/static/description/assets/icons/pattern1.png new file mode 100644 index 000000000..09ab0fb2d Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/pattern1.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/pos-black.png b/lunch_order_pdf/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/pos-black.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/puzzle-piece-icon.svg b/lunch_order_pdf/static/description/assets/icons/puzzle-piece-icon.svg new file mode 100644 index 000000000..3e9ad9373 --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/puzzle-piece-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/lunch_order_pdf/static/description/assets/icons/puzzle.png b/lunch_order_pdf/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/puzzle.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/replace-icon.svg b/lunch_order_pdf/static/description/assets/icons/replace-icon.svg new file mode 100644 index 000000000..d0e3a7af1 --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/replace-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/lunch_order_pdf/static/description/assets/icons/restaurant-black.png b/lunch_order_pdf/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/restaurant-black.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/screenshot-main.png b/lunch_order_pdf/static/description/assets/icons/screenshot-main.png new file mode 100644 index 000000000..575f8e676 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/screenshot-main.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/screenshot.png b/lunch_order_pdf/static/description/assets/icons/screenshot.png new file mode 100644 index 000000000..cef272529 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/screenshot.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/service-black.png b/lunch_order_pdf/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/service-black.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/skype-fill.svg b/lunch_order_pdf/static/description/assets/icons/skype-fill.svg new file mode 100644 index 000000000..c17423639 --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/skype-fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/lunch_order_pdf/static/description/assets/icons/skype.png b/lunch_order_pdf/static/description/assets/icons/skype.png new file mode 100644 index 000000000..51b409fb3 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/skype.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/skype.svg b/lunch_order_pdf/static/description/assets/icons/skype.svg new file mode 100644 index 000000000..df3dad39b --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/skype.svg @@ -0,0 +1,3 @@ + + + diff --git a/lunch_order_pdf/static/description/assets/icons/star-1.svg b/lunch_order_pdf/static/description/assets/icons/star-1.svg new file mode 100644 index 000000000..7e55ab162 --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/star-1.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lunch_order_pdf/static/description/assets/icons/star-2.svg b/lunch_order_pdf/static/description/assets/icons/star-2.svg new file mode 100644 index 000000000..5ae9f507a --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/star-2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/lunch_order_pdf/static/description/assets/icons/support.png b/lunch_order_pdf/static/description/assets/icons/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/support.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/test-1 - Copy.png b/lunch_order_pdf/static/description/assets/icons/test-1 - Copy.png new file mode 100644 index 000000000..f6a902663 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/test-1 - Copy.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/test-1.png b/lunch_order_pdf/static/description/assets/icons/test-1.png new file mode 100644 index 000000000..0908add2b Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/test-1.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/test-2.png b/lunch_order_pdf/static/description/assets/icons/test-2.png new file mode 100644 index 000000000..4671fe91e Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/test-2.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/trading-black.png b/lunch_order_pdf/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/trading-black.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/training.png b/lunch_order_pdf/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/training.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/translate.svg b/lunch_order_pdf/static/description/assets/icons/translate.svg new file mode 100644 index 000000000..af9c8a1aa --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/translate.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/lunch_order_pdf/static/description/assets/icons/update.png b/lunch_order_pdf/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/update.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/user.png b/lunch_order_pdf/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/user.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/video.png b/lunch_order_pdf/static/description/assets/icons/video.png new file mode 100644 index 000000000..576705b17 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/video.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/whatsapp.png b/lunch_order_pdf/static/description/assets/icons/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/whatsapp.png differ diff --git a/lunch_order_pdf/static/description/assets/icons/wrench-icon.svg b/lunch_order_pdf/static/description/assets/icons/wrench-icon.svg new file mode 100644 index 000000000..174b5a465 --- /dev/null +++ b/lunch_order_pdf/static/description/assets/icons/wrench-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/lunch_order_pdf/static/description/assets/icons/wrench.png b/lunch_order_pdf/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/lunch_order_pdf/static/description/assets/icons/wrench.png differ diff --git a/lunch_order_pdf/static/description/assets/modules/1.gif b/lunch_order_pdf/static/description/assets/modules/1.gif new file mode 100644 index 000000000..ae3a880a2 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/modules/1.gif differ diff --git a/lunch_order_pdf/static/description/assets/modules/2.gif b/lunch_order_pdf/static/description/assets/modules/2.gif new file mode 100644 index 000000000..d19e2b352 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/modules/2.gif differ diff --git a/lunch_order_pdf/static/description/assets/modules/3.png b/lunch_order_pdf/static/description/assets/modules/3.png new file mode 100644 index 000000000..8513873ea Binary files /dev/null and b/lunch_order_pdf/static/description/assets/modules/3.png differ diff --git a/lunch_order_pdf/static/description/assets/modules/4.png b/lunch_order_pdf/static/description/assets/modules/4.png new file mode 100644 index 000000000..3bedf7981 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/modules/4.png differ diff --git a/lunch_order_pdf/static/description/assets/modules/5.png b/lunch_order_pdf/static/description/assets/modules/5.png new file mode 100644 index 000000000..0e311ca87 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/modules/5.png differ diff --git a/lunch_order_pdf/static/description/assets/modules/6.jpg b/lunch_order_pdf/static/description/assets/modules/6.jpg new file mode 100644 index 000000000..67c7f7062 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/modules/6.jpg differ diff --git a/lunch_order_pdf/static/description/assets/screenshots/1.png b/lunch_order_pdf/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..cd05690df Binary files /dev/null and b/lunch_order_pdf/static/description/assets/screenshots/1.png differ diff --git a/lunch_order_pdf/static/description/assets/screenshots/2.png b/lunch_order_pdf/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..b51d5b26b Binary files /dev/null and b/lunch_order_pdf/static/description/assets/screenshots/2.png differ diff --git a/lunch_order_pdf/static/description/assets/screenshots/3.png b/lunch_order_pdf/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..5bbed0e15 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/screenshots/3.png differ diff --git a/lunch_order_pdf/static/description/assets/screenshots/4.png b/lunch_order_pdf/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..1708a424c Binary files /dev/null and b/lunch_order_pdf/static/description/assets/screenshots/4.png differ diff --git a/lunch_order_pdf/static/description/assets/screenshots/5.png b/lunch_order_pdf/static/description/assets/screenshots/5.png new file mode 100644 index 000000000..46a71bf83 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/screenshots/5.png differ diff --git a/lunch_order_pdf/static/description/assets/screenshots/6.png b/lunch_order_pdf/static/description/assets/screenshots/6.png new file mode 100644 index 000000000..a1dc1be96 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/screenshots/6.png differ diff --git a/lunch_order_pdf/static/description/assets/screenshots/hero.gif b/lunch_order_pdf/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..d96a756f3 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/screenshots/hero.gif differ diff --git a/lunch_order_pdf/static/description/assets/y18.jpg b/lunch_order_pdf/static/description/assets/y18.jpg new file mode 100644 index 000000000..eea1714f2 Binary files /dev/null and b/lunch_order_pdf/static/description/assets/y18.jpg differ diff --git a/lunch_order_pdf/static/description/banner.jpg b/lunch_order_pdf/static/description/banner.jpg new file mode 100644 index 000000000..5d4d5d0f6 Binary files /dev/null and b/lunch_order_pdf/static/description/banner.jpg differ diff --git a/lunch_order_pdf/static/description/icon.png b/lunch_order_pdf/static/description/icon.png new file mode 100644 index 000000000..e2695faba Binary files /dev/null and b/lunch_order_pdf/static/description/icon.png differ diff --git a/lunch_order_pdf/static/description/index.html b/lunch_order_pdf/static/description/index.html new file mode 100644 index 000000000..bbb1bae0e --- /dev/null +++ b/lunch_order_pdf/static/description/index.html @@ -0,0 +1,1084 @@ + + + + + + Lunch Orders - PDF + + + + + + + + + + +
+
+ + + +
+
+ Community +
+
+ Enterprise +
+ + + + +
+
+ +
+
+
+
+

+ This Module Allows to Generate PDF Report for Lunch Orders +

+

Lunch Orders - PDF +

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

Key + Heighlights

+
+
+
+
+ +
+
+ The PDF Report +
+

+ The PDF report that contains the details of lunch orders.

+
+
+
+
+
+ +
+
+ Generate Custom Report +
+

+ Use the new wizard that can be used to generate custom report.

+
+
+
+
+ +
+
+
+ LUNCH ORDERS - PDF +

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

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

+ Access + + Configuration +

+
+
+

+ 1The user should be added to the security group: Administrator(Human Resources/ Lunch) inorder to get access to the new Report menus. +

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

+ New + + Menus +

+
+
+

+ 2Lunch -> Report -> Lunch Report. Use this menu to open the wizard. + +

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

+ Wizard To Create + + Custom Report +

+
+
+

+ This wizard allows the generation of a custom PDF report for Lunch Orders. You can specify a Start Date and End Date to filter orders within a selected period. The Start Date is mandatory, and if the End Date is left blank, the current date will be used. Additional filters, such as Users, Vendors, Lunch Locations, and Companies, can be applied to narrow down the orders. If these fields are not set, all available orders will be included in the report. + +

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

+ Plain + + Report +

+
+
+

+ A plain report can be created if we don't select any group. + +

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

+ Group + + Orders +

+
+
+

+ The Group Orders field can be used to set a grouping option for the orders. We can group the orders by User, Vendor, Product, Status, and Company. + +

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

+ Report with Grouped + + Lunch Orders +

+
+
+

+ With the grouping option, we can generate a report with the lunch orders grouped by the grouping field. + +

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

+ Generate Custom Report

+
+
+

+ Use the new wizard that can be used to generate custom report. +

+
+ +
+
+
+
+
+
+ +
+

+ The PDF Report

+
+
+

+ The PDF report that contains the details of lunch orders.

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

+ The Lunch Orders PDF Report Module allows you to generate custom PDF reports for lunch orders in Odoo. You can apply various filters to tailor the report to your specific needs, making it easier to track and manage lunch orders. +

+
+
+ +
+ +
+

+ The report can include details like: Order date , Employee names ,Lunch items ordered ,Quantities ,Total cost +

+
+
+ +
+ +
+

+ Currently, the module is designed for manual report generation. However, an automated schedule could be configured by your system administrator if needed, using additional Odoo features like scheduled actions. +

+
+
+ +
+ +
+

+ Select the backup + destination as local + storage and specify + a backup path to a + location on the + system to create + backups on your own + system. +

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

+ Latest Release 18.0.1.0.0 +

+ + 30th September, 2024 + +
+
+
+
+
+ Add +
+
+
+
    +
  • + Initial Commit +
  • + +
+
+
+
+
+
+
+
+
+
+ + + + + + +
+

+ Our Services

+ +
+ +
+
+ .... +
+
+ +
+ + +
+
+ + + + + + diff --git a/lunch_order_pdf/wizard/__init__.py b/lunch_order_pdf/wizard/__init__.py new file mode 100644 index 000000000..e3d6b1fcd --- /dev/null +++ b/lunch_order_pdf/wizard/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Nandakishore M (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from . import lunch_report diff --git a/lunch_order_pdf/wizard/lunch_report.py b/lunch_order_pdf/wizard/lunch_report.py new file mode 100644 index 000000000..bf8ab7e04 --- /dev/null +++ b/lunch_order_pdf/wizard/lunch_report.py @@ -0,0 +1,98 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Nandakishore M (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from odoo import api, fields, models, _ +from odoo.exceptions import UserError + + +class LunchReport(models.TransientModel): + """Creating the report for Lunch""" + _name = 'lunch.report' + _description = 'Wizard for lunch report' + + start_date = fields.Date( + string='Start Date', required=True, default=fields.Date.context_today, + help='Start date to filter the records') + end_date = fields.Date( + string='End Date', default=fields.Date.context_today, + help='End date to filter the records') + user_ids = fields.Many2many('res.users', string='Users', + domain='[("share", "=", False)]', + help="Add user for filter based on user") + lunch_supplier_ids = fields.Many2many('lunch.supplier', string='Vendors', + help='Vendors/ Lunch Suppliers.') + lunch_location_ids = fields.Many2many( + 'lunch.location', string='Lunch Locations', + help="The Locations allocated for lunch") + product_filter = fields.Selection( + [('product', 'Product'), ('category', 'Product Category')], + string='Product Filter', + help='Filter orders by Products or Product Categories.') + product_ids = fields.Many2many( + 'lunch.product', string='Products', + domain='[("active", "=", True)]', help='Products belongs to lunch') + category_ids = fields.Many2many( + 'lunch.product.category', string='Categories', + help='Lunch Product Categories.') + company_ids = fields.Many2many('res.company', string='Companies', + help='For selecting the Companies') + group_order = fields.Selection( + [('user_id', 'User'), ('supplier_id', 'Vendor'), + ('product_id', 'Product'), ('state', 'Status'), + ('company_id', 'Company')], string='Group Orders', + help='Group orders in the report') + + @api.onchange('start_date', 'end_date') + def _onchange_date(self): + """ + Set valid start_date and end_date on changing it + """ + if self.start_date and self.end_date: + if self.start_date > self.end_date: + raise UserError(_("'Start Date' Should be lesser than 'End Date'!")) + + def action_print_report(self): + """ + Print PDF report for lunch based on selected data + :return: report action + """ + domain = [('date', '>=', self.start_date)] + if self.end_date: + domain += [('date', '<=', self.end_date)] + if self.user_ids: + domain += [('user_id', 'in', self.user_ids.ids)] + if self.company_ids: + domain += [('company_id', 'in', self.company_ids.ids)] + if self.lunch_supplier_ids: + domain += [('supplier_id', 'in', self.lunch_supplier_ids.ids)] + if self.lunch_location_ids: + domain += [('lunch_location_id', 'in', self.lunch_location_ids.ids)] + if self.product_filter == 'product' and self.product_ids: + domain += [('product_id', 'in', self.product_ids.ids)] + if self.product_filter == 'category' and self.category_ids: + domain += [('product_id.category_id', 'in', self.category_ids.ids)] + orders = self.env['lunch.order'].sudo().search(domain) + if not orders: + raise UserError(_('There are no lunch orders in this period!')) + data = {'order_ids': orders.ids} + return self.env.ref( + 'lunch_order_pdf.report_lunch_report_action').report_action( + self, data=data) diff --git a/lunch_order_pdf/wizard/lunch_report_views.xml b/lunch_order_pdf/wizard/lunch_report_views.xml new file mode 100644 index 000000000..ab78bf00d --- /dev/null +++ b/lunch_order_pdf/wizard/lunch_report_views.xml @@ -0,0 +1,61 @@ + + + + + lunch.report.view.form + lunch.report + +
+ + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + Lunch Report + lunch.report + ir.actions.act_window + form + + new + + + + +