diff --git a/purchase_format_editor/README.rst b/purchase_format_editor/README.rst new file mode 100644 index 000000000..9d00ec7fc --- /dev/null +++ b/purchase_format_editor/README.rst @@ -0,0 +1,42 @@ +.. image:: https://img.shields.io/badge/license-LGPL--3-green.svg + :target: https://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 + +Purchase Report Format Editor +============================= +This module allows to edit the style of the purchase pdf reports. + +Company +------- +* `Cybrosys Techno Solutions `__ + +License +------- +Lesser General Public License, Version 3 (LGPL v3). +(https://www.gnu.org/licenses/lgpl-3.0-standalone.html) + +Credits +------- +Developer : (V16) Abhin K, 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/purchase_format_editor/__init__.py b/purchase_format_editor/__init__.py new file mode 100644 index 000000000..ca532a914 --- /dev/null +++ b/purchase_format_editor/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Abhin K(odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import controllers +from . import models diff --git a/purchase_format_editor/__manifest__.py b/purchase_format_editor/__manifest__.py new file mode 100644 index 000000000..0e1f685cc --- /dev/null +++ b/purchase_format_editor/__manifest__.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Abhin K(odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +{ + 'name': 'Purchase Report Format Editor', + 'version': '16.0.1.0.0', + 'category': 'Purchases', + 'summary': 'Configure Purchase Report Templates With Different Styles', + 'description': "To configure purchase report templates with different " + "styles, you need to design a layout that includes " + "components such as headers, tables, summaries, and " + "footers, and customize the template with suitable fonts " + "and visual elements to match your desired styles.", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'depends': ['purchase'], + 'data': [ + 'security/ir.model.access.csv', + 'data/doc_layout_purchase_data.xml', + 'views/doc_layout_purchase_views.xml', + 'views/base_document_layout_views.xml', + 'report/purchase_order_custom_templates.xml', + 'report/purchase_order_fantacy_templates.xml', + 'report/purchase_order_old_standard_templates.xml', + 'report/purchase_order_templates.xml', + 'report/purchase_order_custom_quotation_templates.xml', + 'report/purchase_order_quotation_fantacy_templates.xml', + 'report/purchase_order_quotation_old_standard_templates.xml', + 'report/purchase_quotation_templates.xml', + 'views/purchase_order_default_templates.xml', + 'views/purchase_order_normal_templates.xml', + 'views/purchase_order_modern_templates.xml', + 'views/purchase_order_old_templates.xml', + ], + 'images': ['static/description/banner.png'], + 'license': 'LGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/purchase_format_editor/controllers/__init__.py b/purchase_format_editor/controllers/__init__.py new file mode 100644 index 000000000..5e7d20b04 --- /dev/null +++ b/purchase_format_editor/controllers/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Abhin K(odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import purchase_format_editor diff --git a/purchase_format_editor/controllers/purchase_format_editor.py b/purchase_format_editor/controllers/purchase_format_editor.py new file mode 100644 index 000000000..d28ea3698 --- /dev/null +++ b/purchase_format_editor/controllers/purchase_format_editor.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Abhin K(odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from ast import literal_eval +from odoo.http import Controller, request, route + + +class PurchaseFormatEditor(Controller): + """The PurchaseFormatEditor class provides the functionality to + download the preview of PDF""" + + @route('/purchase/pdf/preview', type="http", auth="public", + website=True) + def purchase_pdf_preview(self): + """Then demo pdfs are downloaded using this controller. + The html file from the preview compute field is then converted into + binary pdf and then returns a response to download it""" + value = literal_eval(request.params['params']) + base_doc_layout = request.env['base.document.layout'].sudo().browse( + value) + pdf_data = request.env['ir.actions.report'].sudo()._run_wkhtmltopdf( + [base_doc_layout.preview]) + filename = (f'{base_doc_layout.base_layout_purchase} ' + f'{base_doc_layout.document_layout_purchase_id.name}.pdf') + headers = [('Content-Type', 'application/pdf'), + ('Content-Disposition', + f'attachment; filename="{filename}"')] + # Send the PDF content as a response with the headers + return request.make_response(pdf_data, headers=headers) diff --git a/purchase_format_editor/data/doc_layout_purchase_data.xml b/purchase_format_editor/data/doc_layout_purchase_data.xml new file mode 100644 index 000000000..52aeee3c5 --- /dev/null +++ b/purchase_format_editor/data/doc_layout_purchase_data.xml @@ -0,0 +1,30 @@ + + + + + + Modern + #732673 + #ffffff + #000000 + #000000 + right + right + left + left + #808080 + + + Standard + #ff7733 + #ffffff + #000000 + #000000 + left + left + right + right + #808080 + + + diff --git a/purchase_format_editor/doc/RELEASE_NOTES.md b/purchase_format_editor/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..514ee23f2 --- /dev/null +++ b/purchase_format_editor/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 08.01.2024 +#### Version 16.0.1.0.0 +#### ADD +- Initial commit for Purchase Report Format Editor diff --git a/purchase_format_editor/models/__init__.py b/purchase_format_editor/models/__init__.py new file mode 100644 index 000000000..8513b8aaa --- /dev/null +++ b/purchase_format_editor/models/__init__.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Abhin K(odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import base_document_layout +from . import doc_layout_purchase +from . import purchase_order +from . import res_company diff --git a/purchase_format_editor/models/base_document_layout.py b/purchase_format_editor/models/base_document_layout.py new file mode 100644 index 000000000..785a75a58 --- /dev/null +++ b/purchase_format_editor/models/base_document_layout.py @@ -0,0 +1,82 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Abhin K(odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import api, fields, models + + +class BaseDocumentLayout(models.TransientModel): + """Model is inherited to add required field + and to add function to display the preview""" + _inherit = 'base.document.layout' + + base_layout_purchase = fields.Selection( + related='company_id.base_layout_purchase', + readonly=False, string='Base Layout Purchase', + required=True, + help='Select the base layout for the Purchase module.') + document_layout_purchase_id = fields.Many2one( + related='company_id.document_layout_purchase_id', readonly=False, + string='Document Layout Purchase ID', + help='Choose the document layout for the Purchase module.') + + @api.depends('report_layout_id', 'logo', 'font', 'primary_color', + 'secondary_color', 'report_header', 'report_footer', + 'base_layout_purchase', 'document_layout_purchase_id') + def _compute_preview(self): + """Compute a qweb based preview to display on the wizard """ + styles = self._get_asset_style() + for wizard in self: + ir_ui_view = wizard.env['ir.ui.view'] + preview_css = self._get_css_for_preview(styles, wizard.id) + if wizard.report_layout_id: + style = wizard.document_layout_purchase_id + if wizard.base_layout_purchase == 'default': + wizard.preview = ir_ui_view._render_template( + 'purchase_format_editor.' + 'report_preview_default_purchase', + {'company': wizard, 'preview_css': preview_css,"style": style}) + elif wizard.base_layout_purchase == 'normal': + wizard.preview = ir_ui_view._render_template( + 'purchase_format_editor.' + 'report_preview_normal_purchase', + {'company': wizard, 'preview_css': preview_css, } + ) + elif wizard.base_layout_purchase == 'modern': + wizard.preview = ir_ui_view._render_template( + 'purchase_format_editor.' + 'report_preview_modern_purchase', + {'company': wizard, 'preview_css': preview_css, } + ) + elif wizard.base_layout_purchase == 'old': + wizard.preview = ir_ui_view._render_template( + 'purchase_format_editor.' + 'report_preview_old_purchase', + {'company': wizard, 'preview_css': preview_css, }) + + def print_pdf(self): + """This function replaces the existing function to print + the preview of pdf.Returns: self.id to the controller and + the controller makes the response to download the pdf""" + return { + 'type': 'ir.actions.act_url', + 'target': 'self', + 'url': f'/purchase/pdf/preview?params={self.id}', + } diff --git a/purchase_format_editor/models/doc_layout_purchase.py b/purchase_format_editor/models/doc_layout_purchase.py new file mode 100644 index 000000000..029a669b1 --- /dev/null +++ b/purchase_format_editor/models/doc_layout_purchase.py @@ -0,0 +1,85 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Abhin K(odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models + + +class DocLayoutPurchase(models.Model): + """Model is created to add customizations to the pdf report""" + + _name = "doc.layout.purchase" + _description = "Doc Layout Purchase" + + name = fields.Char(string="Name", help="Name of the record") + base_color = fields.Char(string="Base Color", + help="Background color for the invoice") + heading_text_color = fields.Char(string="Heading text Color", + help="Heading Text color") + text_color = fields.Char(string="Text Color", help="Text color of items") + customer_text_color = fields.Char(string="Customer Text Color", + help="Customer address text color") + company_text_color = fields.Char(string="Company Text Color", + help="Company address Text color") + logo_position = fields.Selection(selection=[("left", "Left"), + ("right", "Right")], + string="Logo Position", + help="Company logo position") + customer_position = fields.Selection(selection=[("left", "Left"), + ("right", "Right")], + string="Customer position", + help="Customer address position") + shipping_address = fields.Boolean(string="Shipping Address", + default=True, + help="Enable shipping address if " + "required to print on report.") + shipping_address_position = fields.Selection( + selection=[("left", "Left"), ("right", "Right")], + string="Shipping Address position", + help="Select the Customer address position") + company_position = fields.Selection( + selection=[("left", "Left"), ("right", "Right")], + string="Company Address Position", + help="The position of the company address") + purchase_rep = fields.Boolean(string="Purchase Representative", + default=False, + help="Indicates whether the contact is a " + "Purchase Representative.") + description = fields.Boolean(string="Description", default=False, + help=" Indicates whether a description " + "is included.") + code = fields.Boolean(string="Internal Reference", default=False, + help="Indicates whether an internal reference " + "(HSN code) is included.") + tax_value = fields.Boolean(string="Tax", default=False, + help="Indicates whether the tax value is " + "included.") + reference = fields.Boolean(string="Order Reference", default=False, + help="Indicates whether the customer reference " + "(order reference) is included.") + source = fields.Boolean(string="Source", default=False, + help="Indicates whether the source document is " + "included.") + address = fields.Boolean(string="Address", default=False, + help="Indicates whether the address is included.") + city = fields.Boolean(string="City", default=False, + help="Indicates whether the city is included.") + country = fields.Boolean(string="Country", default=False, + help="Indicates whether the Country is included.") diff --git a/purchase_format_editor/models/purchase_order.py b/purchase_format_editor/models/purchase_order.py new file mode 100644 index 000000000..e3d2ad1b4 --- /dev/null +++ b/purchase_format_editor/models/purchase_order.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Abhin K(odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models + + +class PurchaseOrder(models.Model): + """Model is inherited to add + theme_id_purchase and base_layout_purchase fields""" + _inherit = 'purchase.order' + + base_layout_purchase = fields.Selection( + selection=[('normal', 'Normal'), ('modern', 'Modern'), + ('old', 'Old Standard'), ('default', 'Default')], + string='Base Layout Purchase', help='Select Base Layout of Purchase') + theme_id_purchase = fields.Many2one( + comodel_name='doc.layout.purchase', string="Theme Id Purchase", + related='company_id.document_layout_purchase_id', + help='The theme ID for the purchase document layout. It is related ' + 'to the document layout ID of the company. This field helps in ' + 'selecting the specific theme for the purchase documents.') diff --git a/purchase_format_editor/models/res_company.py b/purchase_format_editor/models/res_company.py new file mode 100644 index 000000000..771560ca6 --- /dev/null +++ b/purchase_format_editor/models/res_company.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Abhin K(odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models + + +class ResCompany(models.Model): + """Model is inherited to add the + base_layout_purchase selection field""" + _inherit = 'res.company' + + base_layout_purchase = fields.Selection( + selection=[('normal', 'Normal'), ('modern', 'Modern'), + ('old', 'Old Standard'), ('default', 'Default')], + string="Purchase Order Document Layout", default="default", + help='Select the Layout of the Purchase Order Document') + document_layout_purchase_id = fields.Many2one( + "doc.layout.purchase", + string="Purchase Order Layout Configuration", + help='Configuration of Purchase Order Layout') diff --git a/purchase_format_editor/report/purchase_order_custom_quotation_templates.xml b/purchase_format_editor/report/purchase_order_custom_quotation_templates.xml new file mode 100644 index 000000000..b216af41f --- /dev/null +++ b/purchase_format_editor/report/purchase_order_custom_quotation_templates.xml @@ -0,0 +1,271 @@ + + + + + + + diff --git a/purchase_format_editor/report/purchase_order_custom_templates.xml b/purchase_format_editor/report/purchase_order_custom_templates.xml new file mode 100644 index 000000000..0e179f4dd --- /dev/null +++ b/purchase_format_editor/report/purchase_order_custom_templates.xml @@ -0,0 +1,364 @@ + + + + + + + diff --git a/purchase_format_editor/report/purchase_order_fantacy_templates.xml b/purchase_format_editor/report/purchase_order_fantacy_templates.xml new file mode 100644 index 000000000..5da896f60 --- /dev/null +++ b/purchase_format_editor/report/purchase_order_fantacy_templates.xml @@ -0,0 +1,298 @@ + + + + + diff --git a/purchase_format_editor/report/purchase_order_old_standard_templates.xml b/purchase_format_editor/report/purchase_order_old_standard_templates.xml new file mode 100644 index 000000000..c22ccfd39 --- /dev/null +++ b/purchase_format_editor/report/purchase_order_old_standard_templates.xml @@ -0,0 +1,293 @@ + + + + + diff --git a/purchase_format_editor/report/purchase_order_quotation_fantacy_templates.xml b/purchase_format_editor/report/purchase_order_quotation_fantacy_templates.xml new file mode 100644 index 000000000..7260d327a --- /dev/null +++ b/purchase_format_editor/report/purchase_order_quotation_fantacy_templates.xml @@ -0,0 +1,216 @@ + + + + + diff --git a/purchase_format_editor/report/purchase_order_quotation_old_standard_templates.xml b/purchase_format_editor/report/purchase_order_quotation_old_standard_templates.xml new file mode 100644 index 000000000..7d373b97d --- /dev/null +++ b/purchase_format_editor/report/purchase_order_quotation_old_standard_templates.xml @@ -0,0 +1,203 @@ + + + + + diff --git a/purchase_format_editor/report/purchase_order_templates.xml b/purchase_format_editor/report/purchase_order_templates.xml new file mode 100644 index 000000000..5995eafd4 --- /dev/null +++ b/purchase_format_editor/report/purchase_order_templates.xml @@ -0,0 +1,188 @@ + + + + + diff --git a/purchase_format_editor/report/purchase_quotation_templates.xml b/purchase_format_editor/report/purchase_quotation_templates.xml new file mode 100644 index 000000000..bbe38ea03 --- /dev/null +++ b/purchase_format_editor/report/purchase_quotation_templates.xml @@ -0,0 +1,78 @@ + + + + + diff --git a/purchase_format_editor/security/ir.model.access.csv b/purchase_format_editor/security/ir.model.access.csv new file mode 100644 index 000000000..d9d692a58 --- /dev/null +++ b/purchase_format_editor/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_doc_layout_purchase,access.doc.layout.purchase,model_doc_layout_purchase,base.group_user,1,1,1,1 diff --git a/purchase_format_editor/static/description/assets/icons/check.png b/purchase_format_editor/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/purchase_format_editor/static/description/assets/icons/check.png differ diff --git a/purchase_format_editor/static/description/assets/icons/chevron.png b/purchase_format_editor/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/purchase_format_editor/static/description/assets/icons/chevron.png differ diff --git a/purchase_format_editor/static/description/assets/icons/cogs.png b/purchase_format_editor/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/purchase_format_editor/static/description/assets/icons/cogs.png differ diff --git a/purchase_format_editor/static/description/assets/icons/consultation.png b/purchase_format_editor/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/purchase_format_editor/static/description/assets/icons/consultation.png differ diff --git a/purchase_format_editor/static/description/assets/icons/ecom-black.png b/purchase_format_editor/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/purchase_format_editor/static/description/assets/icons/ecom-black.png differ diff --git a/purchase_format_editor/static/description/assets/icons/education-black.png b/purchase_format_editor/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/purchase_format_editor/static/description/assets/icons/education-black.png differ diff --git a/purchase_format_editor/static/description/assets/icons/hotel-black.png b/purchase_format_editor/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/purchase_format_editor/static/description/assets/icons/hotel-black.png differ diff --git a/purchase_format_editor/static/description/assets/icons/license.png b/purchase_format_editor/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/purchase_format_editor/static/description/assets/icons/license.png differ diff --git a/purchase_format_editor/static/description/assets/icons/lifebuoy.png b/purchase_format_editor/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/purchase_format_editor/static/description/assets/icons/lifebuoy.png differ diff --git a/purchase_format_editor/static/description/assets/icons/logo.png b/purchase_format_editor/static/description/assets/icons/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/purchase_format_editor/static/description/assets/icons/logo.png differ diff --git a/purchase_format_editor/static/description/assets/icons/manufacturing-black.png b/purchase_format_editor/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/purchase_format_editor/static/description/assets/icons/manufacturing-black.png differ diff --git a/purchase_format_editor/static/description/assets/icons/pos-black.png b/purchase_format_editor/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/purchase_format_editor/static/description/assets/icons/pos-black.png differ diff --git a/purchase_format_editor/static/description/assets/icons/puzzle.png b/purchase_format_editor/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/purchase_format_editor/static/description/assets/icons/puzzle.png differ diff --git a/purchase_format_editor/static/description/assets/icons/restaurant-black.png b/purchase_format_editor/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/purchase_format_editor/static/description/assets/icons/restaurant-black.png differ diff --git a/purchase_format_editor/static/description/assets/icons/service-black.png b/purchase_format_editor/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/purchase_format_editor/static/description/assets/icons/service-black.png differ diff --git a/purchase_format_editor/static/description/assets/icons/trading-black.png b/purchase_format_editor/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/purchase_format_editor/static/description/assets/icons/trading-black.png differ diff --git a/purchase_format_editor/static/description/assets/icons/training.png b/purchase_format_editor/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/purchase_format_editor/static/description/assets/icons/training.png differ diff --git a/purchase_format_editor/static/description/assets/icons/update.png b/purchase_format_editor/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/purchase_format_editor/static/description/assets/icons/update.png differ diff --git a/purchase_format_editor/static/description/assets/icons/user.png b/purchase_format_editor/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/purchase_format_editor/static/description/assets/icons/user.png differ diff --git a/purchase_format_editor/static/description/assets/icons/wrench.png b/purchase_format_editor/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/purchase_format_editor/static/description/assets/icons/wrench.png differ diff --git a/purchase_format_editor/static/description/assets/misc/categories.png b/purchase_format_editor/static/description/assets/misc/categories.png new file mode 100755 index 000000000..bedf1e0b1 Binary files /dev/null and b/purchase_format_editor/static/description/assets/misc/categories.png differ diff --git a/purchase_format_editor/static/description/assets/misc/check-box.png b/purchase_format_editor/static/description/assets/misc/check-box.png new file mode 100755 index 000000000..42caf24b9 Binary files /dev/null and b/purchase_format_editor/static/description/assets/misc/check-box.png differ diff --git a/purchase_format_editor/static/description/assets/misc/compass.png b/purchase_format_editor/static/description/assets/misc/compass.png new file mode 100755 index 000000000..d5fed8faa Binary files /dev/null and b/purchase_format_editor/static/description/assets/misc/compass.png differ diff --git a/purchase_format_editor/static/description/assets/misc/config.png b/purchase_format_editor/static/description/assets/misc/config.png new file mode 100755 index 000000000..71915e76c Binary files /dev/null and b/purchase_format_editor/static/description/assets/misc/config.png differ diff --git a/purchase_format_editor/static/description/assets/misc/corporate.png b/purchase_format_editor/static/description/assets/misc/corporate.png new file mode 100755 index 000000000..2eb13edbf Binary files /dev/null and b/purchase_format_editor/static/description/assets/misc/corporate.png differ diff --git a/purchase_format_editor/static/description/assets/misc/customer-support.png b/purchase_format_editor/static/description/assets/misc/customer-support.png new file mode 100755 index 000000000..79efc72ed Binary files /dev/null and b/purchase_format_editor/static/description/assets/misc/customer-support.png differ diff --git a/purchase_format_editor/static/description/assets/misc/cybrosys-logo.png b/purchase_format_editor/static/description/assets/misc/cybrosys-logo.png new file mode 100644 index 000000000..cc3cc0ccf Binary files /dev/null and b/purchase_format_editor/static/description/assets/misc/cybrosys-logo.png differ diff --git a/purchase_format_editor/static/description/assets/misc/features.png b/purchase_format_editor/static/description/assets/misc/features.png new file mode 100755 index 000000000..b41769f77 Binary files /dev/null and b/purchase_format_editor/static/description/assets/misc/features.png differ diff --git a/purchase_format_editor/static/description/assets/misc/logo.png b/purchase_format_editor/static/description/assets/misc/logo.png new file mode 100755 index 000000000..478462d3e Binary files /dev/null and b/purchase_format_editor/static/description/assets/misc/logo.png differ diff --git a/purchase_format_editor/static/description/assets/misc/pictures.png b/purchase_format_editor/static/description/assets/misc/pictures.png new file mode 100755 index 000000000..56d255fe9 Binary files /dev/null and b/purchase_format_editor/static/description/assets/misc/pictures.png differ diff --git a/purchase_format_editor/static/description/assets/misc/pie-chart.png b/purchase_format_editor/static/description/assets/misc/pie-chart.png new file mode 100755 index 000000000..426e05244 Binary files /dev/null and b/purchase_format_editor/static/description/assets/misc/pie-chart.png differ diff --git a/purchase_format_editor/static/description/assets/misc/right-arrow.png b/purchase_format_editor/static/description/assets/misc/right-arrow.png new file mode 100755 index 000000000..730984a06 Binary files /dev/null and b/purchase_format_editor/static/description/assets/misc/right-arrow.png differ diff --git a/purchase_format_editor/static/description/assets/misc/star.png b/purchase_format_editor/static/description/assets/misc/star.png new file mode 100755 index 000000000..2eb9ab29f Binary files /dev/null and b/purchase_format_editor/static/description/assets/misc/star.png differ diff --git a/purchase_format_editor/static/description/assets/misc/support.png b/purchase_format_editor/static/description/assets/misc/support.png new file mode 100755 index 000000000..4f18b8b82 Binary files /dev/null and b/purchase_format_editor/static/description/assets/misc/support.png differ diff --git a/purchase_format_editor/static/description/assets/misc/whatsapp.png b/purchase_format_editor/static/description/assets/misc/whatsapp.png new file mode 100755 index 000000000..d513a5356 Binary files /dev/null and b/purchase_format_editor/static/description/assets/misc/whatsapp.png differ diff --git a/purchase_format_editor/static/description/assets/modules/employee_purchase_requisition.png b/purchase_format_editor/static/description/assets/modules/employee_purchase_requisition.png new file mode 100644 index 000000000..5195621d2 Binary files /dev/null and b/purchase_format_editor/static/description/assets/modules/employee_purchase_requisition.png differ diff --git a/purchase_format_editor/static/description/assets/modules/merge_rfq.png b/purchase_format_editor/static/description/assets/modules/merge_rfq.png new file mode 100644 index 000000000..3368ffa65 Binary files /dev/null and b/purchase_format_editor/static/description/assets/modules/merge_rfq.png differ diff --git a/purchase_format_editor/static/description/assets/modules/product_brand_purchase.png b/purchase_format_editor/static/description/assets/modules/product_brand_purchase.png new file mode 100644 index 000000000..2ffc11df3 Binary files /dev/null and b/purchase_format_editor/static/description/assets/modules/product_brand_purchase.png differ diff --git a/purchase_format_editor/static/description/assets/modules/product_multi_vendor_update.png b/purchase_format_editor/static/description/assets/modules/product_multi_vendor_update.png new file mode 100644 index 000000000..3168e7944 Binary files /dev/null and b/purchase_format_editor/static/description/assets/modules/product_multi_vendor_update.png differ diff --git a/purchase_format_editor/static/description/assets/modules/purchase_product_history.png b/purchase_format_editor/static/description/assets/modules/purchase_product_history.png new file mode 100644 index 000000000..36503eedf Binary files /dev/null and b/purchase_format_editor/static/description/assets/modules/purchase_product_history.png differ diff --git a/purchase_format_editor/static/description/assets/modules/vendor_portal_odoo.png b/purchase_format_editor/static/description/assets/modules/vendor_portal_odoo.png new file mode 100644 index 000000000..d7c278dc6 Binary files /dev/null and b/purchase_format_editor/static/description/assets/modules/vendor_portal_odoo.png differ diff --git a/purchase_format_editor/static/description/assets/screenshots/1.png b/purchase_format_editor/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..53268730b Binary files /dev/null and b/purchase_format_editor/static/description/assets/screenshots/1.png differ diff --git a/purchase_format_editor/static/description/assets/screenshots/2.png b/purchase_format_editor/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..f444fca4e Binary files /dev/null and b/purchase_format_editor/static/description/assets/screenshots/2.png differ diff --git a/purchase_format_editor/static/description/assets/screenshots/3.png b/purchase_format_editor/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..d777cbcab Binary files /dev/null and b/purchase_format_editor/static/description/assets/screenshots/3.png differ diff --git a/purchase_format_editor/static/description/assets/screenshots/4.png b/purchase_format_editor/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..6ceb5adeb Binary files /dev/null and b/purchase_format_editor/static/description/assets/screenshots/4.png differ diff --git a/purchase_format_editor/static/description/assets/screenshots/5.png b/purchase_format_editor/static/description/assets/screenshots/5.png new file mode 100644 index 000000000..f4279311a Binary files /dev/null and b/purchase_format_editor/static/description/assets/screenshots/5.png differ diff --git a/purchase_format_editor/static/description/assets/screenshots/6.png b/purchase_format_editor/static/description/assets/screenshots/6.png new file mode 100644 index 000000000..744e58a2e Binary files /dev/null and b/purchase_format_editor/static/description/assets/screenshots/6.png differ diff --git a/purchase_format_editor/static/description/assets/screenshots/conf.png b/purchase_format_editor/static/description/assets/screenshots/conf.png new file mode 100644 index 000000000..f66919bb8 Binary files /dev/null and b/purchase_format_editor/static/description/assets/screenshots/conf.png differ diff --git a/purchase_format_editor/static/description/assets/screenshots/default.png b/purchase_format_editor/static/description/assets/screenshots/default.png new file mode 100644 index 000000000..3c6e12d0b Binary files /dev/null and b/purchase_format_editor/static/description/assets/screenshots/default.png differ diff --git a/purchase_format_editor/static/description/assets/screenshots/hero.gif b/purchase_format_editor/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..9112ec07b Binary files /dev/null and b/purchase_format_editor/static/description/assets/screenshots/hero.gif differ diff --git a/purchase_format_editor/static/description/assets/screenshots/modern_modern.png b/purchase_format_editor/static/description/assets/screenshots/modern_modern.png new file mode 100644 index 000000000..423bb277b Binary files /dev/null and b/purchase_format_editor/static/description/assets/screenshots/modern_modern.png differ diff --git a/purchase_format_editor/static/description/assets/screenshots/normal_modern.png b/purchase_format_editor/static/description/assets/screenshots/normal_modern.png new file mode 100644 index 000000000..8fed86f03 Binary files /dev/null and b/purchase_format_editor/static/description/assets/screenshots/normal_modern.png differ diff --git a/purchase_format_editor/static/description/assets/screenshots/old_standard.png b/purchase_format_editor/static/description/assets/screenshots/old_standard.png new file mode 100644 index 000000000..c7262e70c Binary files /dev/null and b/purchase_format_editor/static/description/assets/screenshots/old_standard.png differ diff --git a/purchase_format_editor/static/description/assets/screenshots/screenshot_1.png b/purchase_format_editor/static/description/assets/screenshots/screenshot_1.png new file mode 100644 index 000000000..9035327e6 Binary files /dev/null and b/purchase_format_editor/static/description/assets/screenshots/screenshot_1.png differ diff --git a/purchase_format_editor/static/description/assets/screenshots/screenshot_2.png b/purchase_format_editor/static/description/assets/screenshots/screenshot_2.png new file mode 100644 index 000000000..6216215e0 Binary files /dev/null and b/purchase_format_editor/static/description/assets/screenshots/screenshot_2.png differ diff --git a/purchase_format_editor/static/description/banner.png b/purchase_format_editor/static/description/banner.png new file mode 100644 index 000000000..be4136b4a Binary files /dev/null and b/purchase_format_editor/static/description/banner.png differ diff --git a/purchase_format_editor/static/description/icon.png b/purchase_format_editor/static/description/icon.png new file mode 100644 index 000000000..d45d61cce Binary files /dev/null and b/purchase_format_editor/static/description/icon.png differ diff --git a/purchase_format_editor/static/description/index.html b/purchase_format_editor/static/description/index.html new file mode 100644 index 000000000..6d8943119 --- /dev/null +++ b/purchase_format_editor/static/description/index.html @@ -0,0 +1,672 @@ +
+ +
+ +
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+ +
+
+
+ +

+ Purchase Report Format Editor

+

+ Configure The Purchase Order Report Templates.

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

+ Overview +

+
+ +
+

+ In the Purchase Format Editor App, users can easily configure + purchase bill styles according to their specific requirements. + The application provides four template options: Default, + Normal, Modern, and Old Standard, and allows for the + customization and hiding of fields to tailor bill to + individual preferences.

+
+
+
+
+

+ Features +

+
+
+
+ +
+
+

+ Configure The Layout

+
+
+
+
+ +
+
+

+ Configure The Position Of Fields

+
+
+
+
+ +
+
+

+ Hide Option For The Purchase Order Fields

+
+
+
+
+ +
+
+

+ Edit The Theme

+
+
+
+
+
+

+ Screenshots +

+
+
+

+ Settings Menu

+

+ From the Settings Menu, user can select Configure Document Layout +

+ + + +
+
+

+ Document Layout Configuration

+

+ From Document Layout Configuration, user can select + and configure the Purchase Document + Layout

+ +
+
+

+ Purchase Order Document Layout Configuration

+

+ User can configure the Text Positions & Text Colors + layout

+ + +
+
+

+ Normal Template

+ +
+
+

+ Modern Standard Template

+ +
+
+

+ Old Standard Template

+ +
+
+

+ Default Template

+ +
+
+ +
+
+

Suggested Products

+
+ +
+
+ + +
+
+
+

Our Services

+
+
+
+
+ +
+
+ Odoo + Customization
+
+
+
+ +
+
+ Odoo + Implementation
+
+
+
+ +
+
+ Odoo + Support
+
+
+
+ +
+
+ Hire + Odoo + Developer
+
+
+
+ +
+
+ Odoo + Integration
+
+
+
+ +
+
+ Odoo + Migration
+
+
+
+ +
+
+ Odoo + Consultancy
+
+
+
+ +
+
+ Odoo + Implementation
+
+
+
+ +
+
+ Odoo + Licensing Consultancy
+
+
+
+ + +
+
+
+

Our Industries

+
+
+
+
+ +
+ Trading +
+

+ Easily procure + and + sell your products

+
+
+
+
+ +
+ POS +
+

+ Easy + configuration + and convivial experience

+
+
+
+
+ +
+ Education +
+

+ A platform for + educational management

+
+
+
+
+ +
+ Manufacturing +
+

+ Plan, track and + schedule your operations

+
+
+
+
+ +
+ E-commerce & Website +
+

+ Mobile + friendly, + awe-inspiring product pages

+
+
+
+
+ +
+ Service Management +
+

+ Keep track of + services and invoice

+
+
+
+
+ +
+ Restaurant +
+

+ Run your bar or + restaurant methodically

+
+
+
+
+ +
+ Hotel Management +
+

+ An + all-inclusive + hotel management application

+
+
+
+
+ + +
+
+ +
+

+ Support +

+
+
+
+
+
+
+ +
+
+

Need Help?

+

Got questions or need + help? + Get in touch.

+ +

+ odoo@cybrosys.com

+
+
+
+
+
+
+
+ +
+
+

WhatsApp

+

Say hi to us on + WhatsApp!

+ +

+ +91 86068 + 27707

+
+
+
+
+
+
+
+ +
+
+
+ +
diff --git a/purchase_format_editor/views/base_document_layout_views.xml b/purchase_format_editor/views/base_document_layout_views.xml new file mode 100644 index 000000000..c80f16284 --- /dev/null +++ b/purchase_format_editor/views/base_document_layout_views.xml @@ -0,0 +1,26 @@ + + + + + + base.document.layout.view.form.inherit.purchase.format.editor + + base.document.layout + + + + + + + +