| @ -0,0 +1,45 @@ | |||
| .. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg | |||
|     :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html | |||
|     :alt: License: AGPL-3 | |||
| 
 | |||
| Generate Product Description/Tags Using OpenAI | |||
| ========== | |||
| * Module which helps create product tag from description and description from tags | |||
| 
 | |||
| Installation | |||
| ============ | |||
|     - www.odoo.com/documentation/14.0/setup/install.html | |||
|     - Install our custom addon | |||
| 
 | |||
| License | |||
| ------- | |||
| General Public License, Version 3 (AGPL v3). | |||
| (https://www.odoo.com/documentation/user/14.0/legal/licenses/licenses.html) | |||
| 
 | |||
| Company | |||
| ------- | |||
| * `Cybrosys Techno Solutions <https://cybrosys.com/>`__ | |||
| 
 | |||
| Credits | |||
| ------- | |||
| * Developer: | |||
| LAJINA K V @ cybrosys | |||
| 
 | |||
| Contacts | |||
| -------- | |||
| * Mail Contact : odoo@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 | |||
| ========== | |||
| This module is maintained by Cybrosys Technologies. | |||
| 
 | |||
| For support and more information, please visit https://www.cybrosys.com | |||
| 
 | |||
| Further information | |||
| =================== | |||
| HTML Description: `<static/description/index.html>`__ | |||
| 
 | |||
| @ -0,0 +1,24 @@ | |||
| """Tag creation from description and description creation from tags""" | |||
| # -*- coding: utf-8 -*- | |||
| ################################################################################ | |||
| # | |||
| #    Cybrosys Technologies Pvt. Ltd. | |||
| # | |||
| #    Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | |||
| #    Author: LAJINA K V (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 <http://www.gnu.org/licenses/>. | |||
| # | |||
| ################################################################################ | |||
| from . import models | |||
| 
 | |||
| @ -0,0 +1,46 @@ | |||
| # -*- coding:utf-8 -*- | |||
| ################################################################################ | |||
| # | |||
| #    Cybrosys Technologies Pvt. Ltd. | |||
| # | |||
| #    Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | |||
| #    Author: LAJINA K V (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 <http://www.gnu.org/licenses/>. | |||
| # | |||
| ################################################################################ | |||
| { | |||
|     'name': 'Generate Product Description/Tags Using OpenAI', | |||
|     'version': '14.0.1.0.0', | |||
|     'category': 'Extra Tools', | |||
|     'summary': 'This Module will helps to generate the description from product tags ' | |||
|                'and create the product tags from the generated description', | |||
|     'description': 'Generation of product tags from product description and creation ' | |||
|                    'of description from product tags', | |||
|     'author': 'Cybrosys Techno Solutions', | |||
|     'company': 'Cybrosys Techno Solutions', | |||
|     'maintainer': 'Cybrosys Techno Solutions', | |||
|     'images': ['static/description/banner.png'], | |||
|     'website': 'https://www.cybrosys.com', | |||
|     'depends': ['base', 'product', 'openai_odoo_base', 'stock'], | |||
|     'data': [ | |||
|         'security/ir.model.access.csv', | |||
|         'views/product_template.xml', | |||
|         'views/product_product.xml', | |||
|         'views/product_actions.xml', | |||
|     ], | |||
|     'license': 'AGPL-3', | |||
|     'installable': True, | |||
|     'auto_install': False, | |||
|     'application': False, | |||
| } | |||
| @ -0,0 +1,7 @@ | |||
| ## Module <openai_product_tag_description> | |||
| 
 | |||
| #### 31.03.2023 | |||
| #### Version 14.0.1.0.0 | |||
| #### ADD | |||
| - Initial commit for Generate Product Description/Tags Using OpenAI | |||
| 
 | |||
| @ -0,0 +1,26 @@ | |||
| """Tag creation from description and description creation from tags""" | |||
| # -*- coding: utf-8 -*- | |||
| ################################################################################ | |||
| # | |||
| #    Cybrosys Technologies Pvt. Ltd. | |||
| # | |||
| #    Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | |||
| #    Author: LAJINA K V (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 <http://www.gnu.org/licenses/>. | |||
| # | |||
| ################################################################################ | |||
| from . import product_product | |||
| from . import product_tag | |||
| from . import product_template | |||
| 
 | |||
| @ -0,0 +1,120 @@ | |||
| """Tag creation from description and description creation from tags""" | |||
| # -*- coding: utf-8 -*- | |||
| ################################################################################ | |||
| # | |||
| #    Cybrosys Technologies Pvt. Ltd. | |||
| # | |||
| #    Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | |||
| #    Author: LAJINA K V (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 <http://www.gnu.org/licenses/>. | |||
| # | |||
| ################################################################################ | |||
| import requests | |||
| from odoo import fields, models, _ | |||
| from odoo.exceptions import ValidationError | |||
| 
 | |||
| 
 | |||
| class ProductProduct(models.Model): | |||
|     """Inherit ProductProduct model """ | |||
|     _inherit = 'product.product' | |||
| 
 | |||
|     product_tag_ids = fields.Many2many('product.tag', string="Product Tags", | |||
|                                        related='product_tmpl_id.product_tag_ids', | |||
|                                        readonly=False, help="Tags For Product") | |||
| 
 | |||
|     def action_create_tag_internal_note(self): | |||
|         """Summary: | |||
|                     Function to create tags from Internal notes | |||
|               """ | |||
|         api_key = self.env['ir.config_parameter'].sudo().get_param( | |||
|             'openai_api_key') | |||
|         if not api_key: | |||
|             raise ValidationError("Please Enter  Valid Open AI Key") | |||
|         product_id = self._context['active_id'] | |||
|         product = self.env['product.product'].browse(product_id) | |||
|         tags_list = [] | |||
|         if product.description: | |||
|             prompt = "Generate tags for the following description: \n" + str( | |||
|                 product.description) + "\n\nTags:" | |||
|             response = requests.post( | |||
|                 "https://api.openai.com/v1/engines/text-davinci-002/completions", | |||
|                 headers={ | |||
|                     "Content-Type": "application/json", | |||
|                     "Authorization": f"Bearer {api_key}" | |||
|                 }, | |||
|                 json={ | |||
|                     "prompt": prompt, | |||
|                     "max_tokens": 60, | |||
|                     "n": 1, | |||
|                     "stop": None, | |||
|                     "temperature": 0.5 | |||
|                 } | |||
|             ) | |||
|             tags = response.json()["choices"][0]["text"].split(",") | |||
|             tags = [tag.strip() for tag in tags] | |||
|             tags_list.extend(tags) | |||
|             tags_exists = self.env['product.tag'].search([]).mapped('name') | |||
|             for tag in tags_list: | |||
|                 if tag not in tags_exists: | |||
|                     tag_created = self.env['product.tag'].create({ | |||
|                         'name': tag}) | |||
|                     product.write({ | |||
|                         'product_tag_ids': [(4, tag_created.id)] | |||
|                     }) | |||
|                 else: | |||
|                     tags_exist = self.env['product.tag'].search( | |||
|                         [('name', '=', tag)]) | |||
|                     for tag_apply in tags_exist: | |||
|                         product.write({ | |||
|                             'product_tag_ids': [(4, tag_apply.id)] | |||
|                         }) | |||
|         else: | |||
|             raise ValidationError( | |||
|                 _("No description for this product")) | |||
| 
 | |||
|     def generate_internal_notes_from_tags(self): | |||
|         """Summary: | |||
|                            Function to create Internal notes from tags | |||
|                      """ | |||
|         prompt = "Generate a description for a product based on " \ | |||
|                  "the following tags: \n" | |||
|         api_key = self.env['ir.config_parameter'].sudo().get_param( | |||
|             'openai_api_key') | |||
|         product_id = self._context['active_id'] | |||
|         product = self.env['product.product'].browse(product_id) | |||
|         if product.product_tag_ids: | |||
|             for tag in product.product_tag_ids: | |||
|                 prompt += f"- {tag}\n" | |||
|             prompt += "\nDescription:" | |||
| 
 | |||
|             response = requests.post( | |||
|                 "https://api.openai.com/v1/engines/text-davinci-002/completions" | |||
|                 , | |||
|                 headers={ | |||
|                     "Content-Type": "application/json", | |||
|                     "Authorization": f"Bearer {api_key}" | |||
|                 }, | |||
|                 json={ | |||
|                     "prompt": prompt, | |||
|                     "max_tokens": 200, | |||
|                     "n": 1, | |||
|                     "stop": None, | |||
|                     "temperature": 0.5 | |||
|                 } | |||
|             ) | |||
|             description = response.json()["choices"][0]["text"].split('\n') | |||
|             product.description = description[-1] | |||
|         else: | |||
|             raise ValidationError( | |||
|                 _("No tags for this product")) | |||
| @ -0,0 +1,33 @@ | |||
| """Tag creation from description and description creation from tags""" | |||
| # -*- coding: utf-8 -*- | |||
| ################################################################################ | |||
| # | |||
| #    Cybrosys Technologies Pvt. Ltd. | |||
| # | |||
| #    Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | |||
| #    Author: LAJINA K V (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 <http://www.gnu.org/licenses/>. | |||
| # | |||
| ############################################################################## | |||
| from odoo import fields, models | |||
| 
 | |||
| 
 | |||
| class ProductTag(models.Model): | |||
|     """ Product Tag""" | |||
|     _name = 'product.tag' | |||
|     _description = 'Product Tag' | |||
| 
 | |||
|     name = fields.Char('Product Tags', help="It will add tags for the product") | |||
|     color = fields.Integer('Color Index', | |||
|                            help='It will used to give color for product tags') | |||
| @ -0,0 +1,120 @@ | |||
| """Tag creation from description and description creation from tags""" | |||
| # -*- coding: utf-8 -*- | |||
| ################################################################################ | |||
| # | |||
| #    Cybrosys Technologies Pvt. Ltd. | |||
| # | |||
| #    Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | |||
| #    Author: LAJINA K V (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 <http://www.gnu.org/licenses/>. | |||
| # | |||
| ################################################################################ | |||
| import requests | |||
| from odoo import fields, models, _ | |||
| from odoo.exceptions import ValidationError | |||
| 
 | |||
| 
 | |||
| class ProductTemplate(models.Model): | |||
|     """Inherit ProductTemplate model """ | |||
|     _inherit = 'product.template' | |||
| 
 | |||
|     product_tag_ids = fields.Many2many('product.tag', string="Product Tags", | |||
|                                        help="Tags For Product") | |||
| 
 | |||
|     def action_create_tag_description(self): | |||
|         """Summary: | |||
|                     Function to create tags from description | |||
|               """ | |||
|         api_key = self.env['ir.config_parameter'].sudo().get_param( | |||
|             'openai_api_key') | |||
|         if not api_key: | |||
|             raise ValidationError("Please Enter  Valid Open AI Key") | |||
|         product_id = self._context['active_id'] | |||
|         product = self.env['product.template'].browse(product_id) | |||
|         tags_list = [] | |||
|         if product.description: | |||
|             prompt = "Generate tags for the following description: \n" + str( | |||
|                 product.description) + "\n\nTags:" | |||
|             response = requests.post \ | |||
|                 ("https://api.openai.com/v1/engines/text-davinci-002/completions", | |||
|                  headers={ | |||
|                      "Content-Type": "application/json", | |||
|                      "Authorization": f"Bearer {api_key}" | |||
|                  }, | |||
|                  json={ | |||
|                      "prompt": prompt, | |||
|                      "max_tokens": 60, | |||
|                      "n": 1, | |||
|                      "stop": None, | |||
|                      "temperature": 0.5 | |||
|                  }) | |||
|             tags = response.json()["choices"][0]["text"].split(",") | |||
|             tags = [tag.strip() for tag in tags] | |||
|             tags_list.extend(tags) | |||
|             tags_exists = self.env['product.tag'].search([]).mapped('name') | |||
|             for tag in tags_list: | |||
|                 if tag not in tags_exists: | |||
|                     tag_created = self.env['product.tag'].create({ | |||
|                         'name': tag}) | |||
|                     product.write({ | |||
|                         'product_tag_ids': [(4, tag_created.id)] | |||
|                     }) | |||
|                 else: | |||
|                     tags_exist = self.env['product.tag'].search( | |||
|                         [('name', '=', tag)]) | |||
|                     for tag_apply in tags_exist: | |||
|                         product.write({ | |||
|                             'product_tag_ids': [(4, tag_apply.id)] | |||
|                         }) | |||
|         else: | |||
|             raise ValidationError( | |||
|                 _("No description for this product")) | |||
| 
 | |||
|     def generate_description_from_tags(self): | |||
|         """Summary: | |||
|                            Function to create description from tags | |||
|                      """ | |||
|         prompt = "Generate a description for a product based on" \ | |||
|                  " the following tags: \n" | |||
|         api_key = self.env['ir.config_parameter'].sudo().get_param( | |||
|             'openai_api_key') | |||
|         if not api_key: | |||
|             raise ValidationError("Please Enter  Valid Open AI Key") | |||
|         product_id = self._context['active_id'] | |||
|         product = self.env['product.template'].browse(product_id) | |||
|         if product.product_tag_ids: | |||
|             for tag in product.product_tag_ids: | |||
|                 prompt += f"- {tag}\n" | |||
|             prompt += "\nDescription:" | |||
| 
 | |||
|             response = requests.post( | |||
|                 "https://api.openai.com/v1/engines/text-davinci-002/completions" | |||
|                 , | |||
|                 headers={ | |||
|                     "Content-Type": "application/json", | |||
|                     "Authorization": f"Bearer {api_key}" | |||
|                 }, | |||
|                 json={ | |||
|                     "prompt": prompt, | |||
|                     "max_tokens": 200, | |||
|                     "n": 1, | |||
|                     "stop": None, | |||
|                     "temperature": 0.5 | |||
|                 } | |||
|             ) | |||
|             description = response.json()["choices"][0]["text"].split('\n') | |||
|             product.description = description[-1] | |||
|         else: | |||
|             raise ValidationError( | |||
|                 _("No tags for this product")) | |||
| 
 | 
| After Width: | Height: | Size: 3.6 KiB | 
| After Width: | Height: | Size: 310 B | 
| After Width: | Height: | Size: 1.3 KiB | 
| After Width: | Height: | Size: 1.4 KiB | 
| After Width: | Height: | Size: 576 B | 
| After Width: | Height: | Size: 733 B | 
| After Width: | Height: | Size: 911 B | 
| After Width: | Height: | Size: 1.1 KiB | 
| After Width: | Height: | Size: 1.2 KiB | 
| After Width: | Height: | Size: 3.4 KiB | 
| After Width: | Height: | Size: 673 B | 
| After Width: | Height: | Size: 878 B | 
| After Width: | Height: | Size: 653 B | 
| After Width: | Height: | Size: 905 B | 
| After Width: | Height: | Size: 839 B | 
| After Width: | Height: | Size: 427 B | 
| After Width: | Height: | Size: 627 B | 
| After Width: | Height: | Size: 1.2 KiB | 
| After Width: | Height: | Size: 988 B | 
| After Width: | Height: | Size: 1.2 KiB | 
| After Width: | Height: | Size: 51 KiB | 
| After Width: | Height: | Size: 58 KiB | 
| After Width: | Height: | Size: 58 KiB | 
| After Width: | Height: | Size: 59 KiB | 
| After Width: | Height: | Size: 59 KiB | 
| After Width: | Height: | Size: 58 KiB | 
| After Width: | Height: | Size: 99 KiB | 
| After Width: | Height: | Size: 162 KiB | 
| After Width: | Height: | Size: 166 KiB | 
| After Width: | Height: | Size: 181 KiB | 
| After Width: | Height: | Size: 180 KiB | 
| After Width: | Height: | Size: 148 KiB | 
| After Width: | Height: | Size: 151 KiB | 
| After Width: | Height: | Size: 162 KiB | 
| After Width: | Height: | Size: 158 KiB | 
| After Width: | Height: | Size: 365 KiB | 
| After Width: | Height: | Size: 49 KiB | 
| After Width: | Height: | Size: 25 KiB | 
| @ -0,0 +1,669 @@ | |||
| <div class="container" | |||
|      style="padding: 1rem !important; margin-bottom: 1rem !important;"> | |||
|     <div class="row"> | |||
|         <div class="col-sm-12 col-md-12 col-lg-12 d-flex justify-content-between" | |||
|              style="border-bottom: 1px solid #d5d5d5;"> | |||
|             <div class="my-3"> | |||
|                 <img src="./assets/icons/logo.png" | |||
|                      style="width: auto !important; height: 40px !important;"> | |||
|             </div> | |||
|             <div class="my-3 d-flex align-items-center"> | |||
|                 <div | |||
|                         style="background-color: #7C7BAD !important; color: #fff !important; font-weight: 600 !important; padding: 5px 15px 8px !important; margin: 0 5px !important;"> | |||
|                     <i class="fa fa-check mr-1"></i>Community | |||
|                 </div> | |||
|                 <div | |||
|                         style="background-color: #7C7BAD !important; color: #fff !important; font-weight: 600 !important; padding: 5px 15px 8px !important; margin: 0 5px !important;"> | |||
|                     <i class="fa fa-check mr-1"></i>Enterprise | |||
|                 </div> | |||
|                 <div | |||
|                         style="background-color: #7C7BAD !important; color: #fff !important; font-weight: 600 !important; padding: 5px 15px 8px !important; margin: 0 5px !important;"> | |||
|                     <i class="fa fa-check mr-1"></i>Odoo.sh | |||
|                 </div> | |||
|             </div> | |||
|         </div> | |||
|     </div> | |||
| </div> | |||
| 
 | |||
| <div class="container" style="padding: 0rem 1.5rem 4rem !important"> | |||
|     <div class="row" style="height: 900px !important;"> | |||
|         <div class="col-sm-12 col-md-12 col-lg-12" | |||
|              style="padding: 4rem 1rem !important; background-color: #714B67 !important; height: 600px !important; border-radius: 20px !important;"> | |||
|             <h1 | |||
|                     style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #FFFFFF !important;  font-size: 3.5rem !important; text-align: center !important;"> | |||
|                Generate Product Description/Tags Using OpenAI</h1> | |||
|             <p | |||
|                     style="font-family: 'Montserrat', sans-serif !important; font-weight: 300 !important; color: #FFFFFF !important;  font-size: 1.4rem !important; text-align: center !important;"> | |||
|               Automate Product Tag and Description Generation in Odoo | |||
|                     Using OpenAI API | |||
|             </p> | |||
|             <img src="./assets/screenshots/hero.gif" class="img-responsive" | |||
|                  width="100%" height="auto"/> | |||
|         </div> | |||
|     </div> | |||
| 
 | |||
|     <div class="row"> | |||
|         <div class="col-md-12" | |||
|              style="border-bottom: 1px solid #d5d5d5 !important; margin-bottom: 2rem !important"> | |||
|             <h2 | |||
|                     style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #714B67 !important; font-size: 1.5rem !important;"> | |||
|                 <i class="fa fa-compass mr-2"></i>Explore this module | |||
|             </h2> | |||
|             <div class="row"> | |||
|                 <div class="col-md-6"> | |||
|                     <a href="#overview" | |||
|                        style="text-decoration: none !important;"> | |||
|                         <div class="row" | |||
|                              style="background-color: #f5f2f5 !important; border-radius: 10px !important; margin: 1rem !important; padding: 1.5em !important; height: 100px !important;"> | |||
|                             <div class="col-8"> | |||
|                                 <h3 | |||
|                                         style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #714B67 !important; font-size: 1.2rem !important;"> | |||
|                                     Overview</h3> | |||
|                                 <p | |||
|                                         style="font-family: 'Roboto', sans-serif !important; font-weight: 400 !important; color: #714B67 !important; font-size: 0.9rem !important;"> | |||
|                                     Learn more about this module</p> | |||
|                             </div> | |||
|                             <div class="col-4 text-right d-flex justify-content-end align-items-center"> | |||
|                                 <i class="fa fa-chevron-right" | |||
|                                    style="color: #714B67 !important;"></i> | |||
|                             </div> | |||
|                         </div> | |||
|                     </a> | |||
|                 </div> | |||
|                 <div class="col-md-6"> | |||
|                     <a href="#features" | |||
|                        style="text-decoration: none !important;"> | |||
|                         <div class="row" | |||
|                              style="background-color: #f5f2f5 !important; border-radius: 10px !important; margin: 1rem !important; padding: 1.5em !important; height: 100px !important;"> | |||
|                             <div class="col-8"> | |||
|                                 <h3 | |||
|                                         style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #714B67 !important; font-size: 1.2rem !important;"> | |||
|                                     Features</h3> | |||
|                                 <p | |||
|                                         style="font-family: 'Roboto', sans-serif !important; font-weight: 400 !important; color: #714B67 !important; font-size: 0.9rem !important;"> | |||
|                                     View features of this module</p> | |||
|                             </div> | |||
|                             <div class="col-4 text-right d-flex justify-content-end align-items-center"> | |||
|                                 <i class="fa fa-chevron-right" | |||
|                                    style="color: #714B67 !important;"></i> | |||
|                             </div> | |||
|                         </div> | |||
|                     </a> | |||
|                 </div> | |||
|                 <div class="col-md-6"> | |||
|                     <a href="#screenshots" | |||
|                        style="text-decoration: none !important;"> | |||
|                         <div class="row" | |||
|                              style="background-color: #f5f2f5 !important; border-radius: 10px !important; margin: 1rem !important; padding: 1.5em !important; height: 100px !important;"> | |||
|                             <div class="col-8"> | |||
|                                 <h3 | |||
|                                         style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #714B67 !important; font-size: 1.2rem !important;"> | |||
|                                     Screenshots</h3> | |||
|                                 <p | |||
|                                         style="font-family: 'Roboto', sans-serif !important; font-weight: 400 !important; color: #714B67 !important; font-size: 0.9rem !important;"> | |||
|                                     See key screenshots of this module</p> | |||
|                             </div> | |||
|                             <div class="col-4 text-right d-flex justify-content-end align-items-center"> | |||
|                                 <i class="fa fa-chevron-right" | |||
|                                    style="color: #714B67 !important;"></i> | |||
|                             </div> | |||
|                         </div> | |||
|                     </a> | |||
|                 </div> | |||
|             </div> | |||
|         </div> | |||
| 
 | |||
|     </div> | |||
| 
 | |||
|     <div class="row" id="overview"> | |||
|         <div class="col-md-12" | |||
|              style="border-bottom: 1px solid #d5d5d5 !important; margin: 2rem 0 !important"> | |||
|             <h2 | |||
|                     style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #714B67 !important; font-size: 1.5rem !important;"> | |||
|                 <i class="fa fa-pie-chart mr-2"></i>Overview | |||
|             </h2> | |||
|         </div> | |||
| 
 | |||
|         <div class="col-mg-12 pl-3"> | |||
|             <p | |||
|                     style="font-family: 'Roboto', sans-serif !important; font-weight: 400 !important; color: #282F33 !important; font-size: 1rem !important; line-height: 30px !important;"> | |||
|                 This module offers a convenient and efficient solution to automate the | |||
|         process of creating product tags and | |||
|         generating descriptions based on them. This module utilizes the power of | |||
|         the OpenAI API to analyze product | |||
|         descriptions and generate relevant tags, as well as generate | |||
|         descriptions based on assigned tags. | |||
| 
 | |||
|         With the ability to generate tags from descriptions, you can save time | |||
|         and effort in manually assigning tags to | |||
|         each product. This process is automated by the module, which analyzes | |||
|         the product description and identifies the | |||
|         most relevant keywords and phrases to create tags that accurately | |||
|         describe the product. | |||
| 
 | |||
|         Additionally, the module also allows you to generate descriptions based | |||
|         on assigned tags. This feature is | |||
|         particularly useful when you need to quickly generate product | |||
|         descriptions for a large number of products. The | |||
|         module analyzes the assigned tags and generates descriptions that | |||
|         accurately reflect the product's features and | |||
|         benefits.</p> | |||
|         </div> | |||
| 
 | |||
|     </div> | |||
| 
 | |||
| 
 | |||
|     <div class="row" id="features"> | |||
|         <div class="col-md-12" | |||
|              style="border-bottom: 1px solid #d5d5d5 !important; margin: 2rem 0 !important"> | |||
|             <h2 | |||
|                     style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #714B67 !important; font-size: 1.5rem !important;"> | |||
|                 <i class="fa fa-star mr-2"></i>Features | |||
|             </h2> | |||
|         </div> | |||
| 
 | |||
|         <div class="col-md-6 pl-3 py-3 d-flex"> | |||
|             <div> | |||
|                 <img src="assets/icons/check.png"> | |||
|             </div> | |||
|             <div> | |||
|                 <h4 style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | |||
|                    Community & Enterprise Support.</h4> | |||
|             </div> | |||
|         </div> | |||
| 
 | |||
|         <div class="col-md-6 pl-3 py-3 d-flex"> | |||
|             <div> | |||
|                 <img src="assets/icons/check.png"> | |||
|             </div> | |||
|             <div> | |||
|                 <h4 style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | |||
|                     Automate Product Description Generation in Odoo</h4> | |||
|             </div> | |||
|         </div> | |||
|         <div class="col-md-6 pl-3 py-3 d-flex"> | |||
|             <div> | |||
|                 <img src="assets/icons/check.png"> | |||
|             </div> | |||
|             <div> | |||
|                 <h4 style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | |||
|                   Automate Product Tag Generation in Odoo.</h4> | |||
|             </div> | |||
|         </div> | |||
|     </div> | |||
| 
 | |||
|     <div class="row" id="screenshots"> | |||
|         <div class="col-md-12" | |||
|              style="border-bottom: 1px solid #d5d5d5 !important; margin: 2rem 0 !important"> | |||
|             <h2 | |||
|                     style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #714B67 !important; font-size: 1.5rem !important;"> | |||
|                 <i class="fa fa-image mr-2"></i>Screenshots | |||
|             </h2> | |||
|         </div> | |||
|         <div class="col-lg-12 my-2"> | |||
|             <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Field to provide api key</h3> | |||
|              <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | |||
|                  Fill your API key in settings for easy accessibility of api | |||
|                 key</p> | |||
|              <img src="assets/screenshots/enterprise_1.png" | |||
|                  class="img-responsive img-thumbnail border" width="100%" | |||
|                  height="auto"/> | |||
|         </div> | |||
|         <div class="col-lg-12 my-2"> | |||
|             <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Description Creation</h3> | |||
|              <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | |||
|               Description creation on product menu on the basis of tags</p> | |||
|             <img src="assets/screenshots/enterprise_2.png" | |||
|                  class="img-responsive img-thumbnail border" width="100%" | |||
|                  height="auto"/> | |||
|              <img src="assets/screenshots/enterprise_3.png" | |||
|                  class="img-responsive img-thumbnail border" width="100%" | |||
|                  height="auto"/> | |||
|         </div> | |||
|         <div class="col-lg-12 my-2"> | |||
|             <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> Tag creation</h3> | |||
|              <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | |||
|                  Tag creation on product  menu on the basis of description</p> | |||
|             <img src="assets/screenshots/enterprise_4.png" | |||
|                  class="img-responsive img-thumbnail border" width="100%" | |||
|                  height="auto"/> | |||
|             <img src="assets/screenshots/enterprise_5.png" | |||
|                  class="img-responsive img-thumbnail border" width="100%" | |||
|                  height="auto"/> | |||
|         </div> | |||
|         <div class="col-lg-12 my-2"> | |||
|             <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">  Description Creation</h3> | |||
|              <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | |||
|              Description creation on product Variant menu on the basis of tags</p> | |||
|             <img src="assets/screenshots/enterprise_6.png" | |||
|                  class="img-responsive img-thumbnail border" width="100%" | |||
|                  height="auto"/> | |||
|             <img src="assets/screenshots/enterprise_7.png" | |||
|                  class="img-responsive img-thumbnail border" width="100%" | |||
|                  height="auto"/> | |||
|         </div> | |||
|         <div class="col-lg-12 my-2"> | |||
|             <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">  Tag creation</h3> | |||
|              <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | |||
|             Tag creation on product variant menu on the basis of description</p> | |||
|             <img src="assets/screenshots/enterprise_8.png" | |||
|                  class="img-responsive img-thumbnail border" width="100%" | |||
|                  height="auto"/> | |||
|             <img src="assets/screenshots/enterprise_9.png" | |||
|                  class="img-responsive img-thumbnail border" width="100%" | |||
|                  height="auto"/> | |||
|         </div> | |||
| 
 | |||
| 
 | |||
|     </div> | |||
|     <!-- SUGGESTED PRODUCTS --> | |||
|     <div class="row"> | |||
|         <div class="col-lg-12 d-flex flex-column justify-content-center" | |||
|              style="text-align: center; padding: 2.5rem 1rem !important;"> | |||
|             <h2 style="color: #212529 !important;">Suggested Products</h2> | |||
|             <hr | |||
|                     style="border: 3px solid #714B67 !important; background-color: #714B67 !important; width: 80px !important; margin-bottom: 2rem !important;"/> | |||
| 
 | |||
|             <div id="demo1" class="row carousel slide" data-ride="carousel"> | |||
|                 <!-- The slideshow --> | |||
|                 <div class="carousel-inner"> | |||
|                     <div class="carousel-item active" style="min-height:0px"> | |||
|                         <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" | |||
|                              style="float:left"> | |||
|                             <a href="https://apps.odoo.com/apps/modules/14.0/dynamic_accounts_report/" | |||
|                                target="_blank"> | |||
|                                 <div style="border-radius:10px"> | |||
|                                     <img class="img img-responsive center-block" | |||
|                                          style="border-top-left-radius:10px; border-top-right-radius:10px" | |||
|                                          src="./assets/modules/dynamic_image.png"> | |||
|                                 </div> | |||
|                             </a> | |||
|                         </div> | |||
|                         <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" | |||
|                              style="float:left"> | |||
|                             <a href="https://apps.odoo.com/apps/modules/14.0/product_return_pos/" | |||
|                                target="_blank"> | |||
|                                 <div style="border-radius:10px"> | |||
|                                     <img class="img img-responsive center-block" | |||
|                                          style="border-top-left-radius:10px; border-top-right-radius:10px" | |||
|                                          src="./assets/modules/product_return_image.png"> | |||
|                                 </div> | |||
|                             </a> | |||
|                         </div> | |||
|                         <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" | |||
|                              style="float:left"> | |||
|                             <a href="https://apps.odoo.com/apps/modules/14.0/product_approval_management/" | |||
|                                target="_blank"> | |||
|                                 <div style="border-radius:10px"> | |||
|                                     <img class="img img-responsive center-block" | |||
|                                          style="border-top-left-radius:10px; border-top-right-radius:10px" | |||
|                                          src="./assets/modules/approval_image.png"> | |||
|                                 </div> | |||
|                             </a> | |||
|                         </div> | |||
|                     </div> | |||
|                     <div class="carousel-item" style="min-height:0px"> | |||
|                         <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" | |||
|                              style="float:left"> | |||
|                             <a href="https://apps.odoo.com/apps/modules/14.0/mrp_work_order_print/" | |||
|                                target="_blank"> | |||
|                                 <div style="border-radius:10px"> | |||
|                                     <img class="img img-responsive center-block" | |||
|                                          style="border-top-left-radius:10px; border-top-right-radius:10px" | |||
|                                          src="./assets/modules/print_image.png"> | |||
|                                 </div> | |||
|                             </a> | |||
|                         </div> | |||
|                         <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" | |||
|                              style="float:left"> | |||
|                             <a href="https://apps.odoo.com/apps/modules/14.0/list_view_sticky_header/" | |||
|                                target="_blank"> | |||
|                                 <div style="border-radius:10px"> | |||
|                                     <img class="img img-responsive center-block" | |||
|                                          style="border-top-left-radius:10px; border-top-right-radius:10px" | |||
|                                          src="./assets/modules/list_view_image.png"> | |||
|                                 </div> | |||
|                             </a> | |||
|                         </div> | |||
|                         <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" | |||
|                              style="float:left"> | |||
|                             <a href="https://apps.odoo.com/apps/modules/14.0/multiple_reference_per_product/" | |||
|                                target="_blank"> | |||
|                                 <div style="border-radius:10px"> | |||
|                                     <img class="img img-responsive center-block" | |||
|                                          style="border-top-left-radius:10px; border-top-right-radius:10px" | |||
|                                          src="./assets/modules/multiple_ref_image.png"> | |||
|                                 </div> | |||
|                             </a> | |||
|                         </div> | |||
|                     </div> | |||
|                 </div> | |||
|                 <!-- Left and right controls --> | |||
|                 <a class="carousel-control-prev" href="#demo1" data-slide="prev" | |||
|                    style="left:-25px;width: 35px;color: #000;"> | |||
|                     <span class="carousel-control-prev-icon"><i | |||
|                             class="fa fa-chevron-left" | |||
|                             style="font-size:24px"></i></span> </a> | |||
|                 <a class="carousel-control-next" href="#demo1" data-slide="next" | |||
|                    style="right:-25px;width: 35px;color: #000;"> | |||
|                     <span class="carousel-control-next-icon"><i | |||
|                             class="fa fa-chevron-right" | |||
|                             style="font-size:24px"></i></span> | |||
|                 </a> | |||
|             </div> | |||
|         </div> | |||
|     </div> | |||
|     <!-- END OF SUGGESTED PRODUCTS --> | |||
| 
 | |||
|     <!-- OUR SERVICES --> | |||
|     <section class="container" style="margin-top: 6rem !important;"> | |||
|         <div class="row"> | |||
|             <div class="col-lg-12 d-flex flex-column justify-content-center align-items-center"> | |||
|                 <h2 style="color: #212529 !important;">Our Services</h2> | |||
|                 <hr | |||
|                         style="border: 3px solid #714B67 !important; background-color: #714B67 !important; width: 80px !important; margin-bottom: 2rem !important;"/> | |||
|             </div> | |||
| 
 | |||
|             <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | |||
|                 <div class="d-flex justify-content-center align-items-center mx-3 my-3" | |||
|                      style="background-color: #1dd1a1 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | |||
|                     <img src="assets/icons/cogs.png" class="img-responsive" | |||
|                          height="48px" width="48px"> | |||
|                 </div> | |||
|                 <h6 class="text-center" | |||
|                     style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | |||
|                     Odoo | |||
|                     Customization</h6> | |||
|             </div> | |||
| 
 | |||
|             <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | |||
|                 <div class="d-flex justify-content-center align-items-center mx-3 my-3" | |||
|                      style="background-color: #ff6b6b !important; border-radius: 15px !important; height: 80px; width: 80px;"> | |||
|                     <img src="assets/icons/wrench.png" class="img-responsive" | |||
|                          height="48px" width="48px"> | |||
|                 </div> | |||
|                 <h6 class="text-center" | |||
|                     style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | |||
|                     Odoo | |||
|                     Implementation</h6> | |||
|             </div> | |||
| 
 | |||
|             <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | |||
|                 <div class="d-flex justify-content-center align-items-center mx-3 my-3" | |||
|                      style="background-color: #6462CD !important; border-radius: 15px !important; height: 80px; width: 80px;"> | |||
|                     <img src="assets/icons/lifebuoy.png" class="img-responsive" | |||
|                          height="48px" width="48px"> | |||
|                 </div> | |||
|                 <h6 class="text-center" | |||
|                     style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | |||
|                     Odoo | |||
|                     Support</h6> | |||
|             </div> | |||
| 
 | |||
| 
 | |||
|             <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | |||
|                 <div class="d-flex justify-content-center align-items-center mx-3 my-3" | |||
|                      style="background-color: #ffa801 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | |||
|                     <img src="assets/icons/user.png" class="img-responsive" | |||
|                          height="48px" width="48px"> | |||
|                 </div> | |||
|                 <h6 class="text-center" | |||
|                     style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | |||
|                     Hire | |||
|                     Odoo | |||
|                     Developer</h6> | |||
|             </div> | |||
| 
 | |||
|             <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | |||
|                 <div class="d-flex justify-content-center align-items-center mx-3 my-3" | |||
|                      style="background-color: #54a0ff  !important; border-radius: 15px !important; height: 80px; width: 80px;"> | |||
|                     <img src="assets/icons/puzzle.png" class="img-responsive" | |||
|                          height="48px" width="48px"> | |||
|                 </div> | |||
|                 <h6 class="text-center" | |||
|                     style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | |||
|                     Odoo | |||
|                     Integration</h6> | |||
|             </div> | |||
| 
 | |||
|             <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | |||
|                 <div class="d-flex justify-content-center align-items-center mx-3 my-3" | |||
|                      style="background-color: #6d7680 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | |||
|                     <img src="assets/icons/update.png" class="img-responsive" | |||
|                          height="48px" width="48px"> | |||
|                 </div> | |||
|                 <h6 class="text-center" | |||
|                     style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | |||
|                     Odoo | |||
|                     Migration</h6> | |||
|             </div> | |||
| 
 | |||
| 
 | |||
|             <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | |||
|                 <div class="d-flex justify-content-center align-items-center mx-3 my-3" | |||
|                      style="background-color: #786fa6 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | |||
|                     <img src="assets/icons/consultation.png" | |||
|                          class="img-responsive" height="48px" width="48px"> | |||
|                 </div> | |||
|                 <h6 class="text-center" | |||
|                     style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | |||
|                     Odoo | |||
|                     Consultancy</h6> | |||
|             </div> | |||
| 
 | |||
|             <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | |||
|                 <div class="d-flex justify-content-center align-items-center mx-3 my-3" | |||
|                      style="background-color: #f8a5c2 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | |||
|                     <img src="assets/icons/training.png" class="img-responsive" | |||
|                          height="48px" width="48px"> | |||
|                 </div> | |||
|                 <h6 class="text-center" | |||
|                     style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | |||
|                     Odoo | |||
|                     Implementation</h6> | |||
|             </div> | |||
| 
 | |||
|             <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | |||
|                 <div class="d-flex justify-content-center align-items-center mx-3 my-3" | |||
|                      style="background-color: #e6be26 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | |||
|                     <img src="assets/icons/license.png" class="img-responsive" | |||
|                          height="48px" width="48px"> | |||
|                 </div> | |||
|                 <h6 class="text-center" | |||
|                     style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | |||
|                     Odoo | |||
|                     Licensing Consultancy</h6> | |||
|             </div> | |||
|         </div> | |||
|     </section> | |||
|     <!-- END OF END OF OUR SERVICES --> | |||
| 
 | |||
|     <!-- OUR INDUSTRIES --> | |||
|     <section class="container" style="margin-top: 6rem !important;"> | |||
|         <div class="row"> | |||
|             <div class="col-lg-12 d-flex flex-column justify-content-center align-items-center"> | |||
|                 <h2 style="color: #212529 !important;">Our Industries</h2> | |||
|                 <hr | |||
|                         style="border: 3px solid #714B67 !important; background-color: #714B67 !important; width: 80px !important; margin-bottom: 2rem !important;"/> | |||
|             </div> | |||
| 
 | |||
|             <div class="col-lg-3"> | |||
|                 <div class="my-4 d-flex flex-column justify-content-center" | |||
|                      style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | |||
|                     <img src="./assets/icons/trading-black.png" | |||
|                          class="img-responsive mb-3" height="48px" width="48px"> | |||
|                     <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | |||
|                         Trading | |||
|                     </h5> | |||
|                     <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | |||
|                         Easily procure | |||
|                         and | |||
|                         sell your products</p> | |||
|                 </div> | |||
|             </div> | |||
| 
 | |||
|             <div class="col-lg-3"> | |||
|                 <div class="my-4 d-flex flex-column justify-content-center" | |||
|                      style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | |||
|                     <img src="./assets/icons/pos-black.png" | |||
|                          class="img-responsive mb-3" height="48px" width="48px"> | |||
|                     <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | |||
|                         POS | |||
|                     </h5> | |||
|                     <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | |||
|                         Easy | |||
|                         configuration | |||
|                         and convivial experience</p> | |||
|                 </div> | |||
|             </div> | |||
| 
 | |||
|             <div class="col-lg-3"> | |||
|                 <div class="my-4 d-flex flex-column justify-content-center" | |||
|                      style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | |||
|                     <img src="./assets/icons/education-black.png" | |||
|                          class="img-responsive mb-3" height="48px" width="48px"> | |||
|                     <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | |||
|                         Education | |||
|                     </h5> | |||
|                     <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | |||
|                         A platform for | |||
|                         educational management</p> | |||
|                 </div> | |||
|             </div> | |||
| 
 | |||
|             <div class="col-lg-3"> | |||
|                 <div class="my-4 d-flex flex-column justify-content-center" | |||
|                      style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | |||
|                     <img src="./assets/icons/manufacturing-black.png" | |||
|                          class="img-responsive mb-3" height="48px" width="48px"> | |||
|                     <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | |||
|                         Manufacturing | |||
|                     </h5> | |||
|                     <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | |||
|                         Plan, track and | |||
|                         schedule your operations</p> | |||
|                 </div> | |||
|             </div> | |||
| 
 | |||
|             <div class="col-lg-3"> | |||
|                 <div class="my-4 d-flex flex-column justify-content-center" | |||
|                      style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | |||
|                     <img src="./assets/icons/ecom-black.png" | |||
|                          class="img-responsive mb-3" height="48px" width="48px"> | |||
|                     <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | |||
|                         E-commerce & Website | |||
|                     </h5> | |||
|                     <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | |||
|                         Mobile | |||
|                         friendly, | |||
|                         awe-inspiring product pages</p> | |||
|                 </div> | |||
|             </div> | |||
| 
 | |||
|             <div class="col-lg-3"> | |||
|                 <div class="my-4 d-flex flex-column justify-content-center" | |||
|                      style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | |||
|                     <img src="./assets/icons/service-black.png" | |||
|                          class="img-responsive mb-3" height="48px" width="48px"> | |||
|                     <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | |||
|                         Service Management | |||
|                     </h5> | |||
|                     <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | |||
|                         Keep track of | |||
|                         services and invoice</p> | |||
|                 </div> | |||
|             </div> | |||
| 
 | |||
|             <div class="col-lg-3"> | |||
|                 <div class="my-4 d-flex flex-column justify-content-center" | |||
|                      style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | |||
|                     <img src="./assets/icons/restaurant-black.png" | |||
|                          class="img-responsive mb-3" height="48px" width="48px"> | |||
|                     <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | |||
|                         Restaurant | |||
|                     </h5> | |||
|                     <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | |||
|                         Run your bar or | |||
|                         restaurant methodically</p> | |||
|                 </div> | |||
|             </div> | |||
| 
 | |||
|             <div class="col-lg-3"> | |||
|                 <div class="my-4 d-flex flex-column justify-content-center" | |||
|                      style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | |||
|                     <img src="./assets/icons/hotel-black.png" | |||
|                          class="img-responsive mb-3" height="48px" width="48px"> | |||
|                     <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | |||
|                         Hotel Management | |||
|                     </h5> | |||
|                     <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | |||
|                         An | |||
|                         all-inclusive | |||
|                         hotel management application</p> | |||
|                 </div> | |||
|             </div> | |||
| 
 | |||
|         </div> | |||
|     </section> | |||
| 
 | |||
|     <!-- END OF END OF OUR INDUSTRIES --> | |||
| 
 | |||
|     <!-- FOOTER --> | |||
|     <!-- Footer Section --> | |||
|     <section class="container" style="margin: 5rem auto 2rem;"> | |||
|         <div class="row" style="max-width:1540px;"> | |||
|             <div class="col-lg-12 d-flex flex-column justify-content-center align-items-center"> | |||
|                 <h2 style="color: #212529 !important;">Need Help?</h2> | |||
|                 <hr | |||
|                         style="border: 3px solid #714B67 !important; background-color: #714B67 !important; width: 80px !important; margin-bottom: 2rem !important;"/> | |||
|             </div> | |||
|         </div> | |||
| 
 | |||
|         <!-- Contact Cards --> | |||
|         <div class="row d-flex justify-content-center align-items-center" | |||
|              style="max-width:1540px; margin: 0 auto 2rem auto;"> | |||
| 
 | |||
|             <div class="col-lg-12" | |||
|                  style="padding: 0rem 3rem 2rem; border-radius: 10px; margin-right: 3rem; "> | |||
| 
 | |||
|                 <div class="row mt-4"> | |||
|                     <div class="col-lg-6"> | |||
|                         <a href="mailto:odoo@cybrosys.com" target="_blank" | |||
|                            class="btn btn-block mb-2 deep_hover" | |||
|                            style="text-decoration: none;  background-color: #4d4d4d; color: #FFF;  border-radius: 4px;"><i | |||
|                                 class="fa fa-envelope mr-2"></i>odoo@cybrosys.com</a> | |||
|                     </div> | |||
|                     <div class="col-lg-6"> | |||
|                         <a href="https://api.whatsapp.com/send?phone=918606827707" | |||
|                            target="_blank" | |||
|                            class="btn btn-block mb-2 deep_hover" | |||
|                            style="text-decoration: none;  background-color: #25D366; color: #FFF;  border-radius: 4px;"><i | |||
|                                 class="fa fa-whatsapp mr-2"></i>+91 86068 27707</a> | |||
|                     </div> | |||
|                 </div> | |||
|             </div> | |||
| 
 | |||
|         </div> | |||
|         <!-- End of Contact Cards --> | |||
|     </section> | |||
|     <!-- Footer --> | |||
|     <section class="oe_container" style="padding: 2rem 3rem 1rem;"> | |||
|         <div class="row" | |||
|              style="max-width:1540px; margin: 0 auto; margin-right: 3rem; "> | |||
|             <!-- Logo --> | |||
|             <div class="col-lg-12 d-flex justify-content-center align-items-center" | |||
|                  style="margin-top: 3rem;"> | |||
|                 <img src="https://www.cybrosys.com/images/logo.png" | |||
|                      width="200px" height="auto"/> | |||
|             </div> | |||
|             <!-- End of Logo --> | |||
|             <div class="col-lg-12"> | |||
|                 <hr | |||
|                         style="margin-top: 3rem;background: linear-gradient(90deg, rgba(2,0,36,0) 0%, rgba(229,229,229,1) 33%, rgba(229,229,229,1) 58%, rgba(0,212,255,0) 100%); height: 2px; border-style: none;"> | |||
|                 <!-- End of Footer Section --> | |||
|             </div> | |||
|         </div> | |||
|     </section> | |||
|     <!-- END OF FOOTER --> | |||
| 
 | |||
| </div> | |||
| @ -0,0 +1,60 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <odoo> | |||
|     <data> | |||
|         <!--'Generate Tags from Description Using Openai' in action dropdown--> | |||
|         <record id="action_product_template_tag_description" | |||
|                 model="ir.actions.server"> | |||
|             <field name="name">Generate Tags from Description Using Openai | |||
|             </field> | |||
|             <field name="model_id" ref="product.model_product_template"/> | |||
|             <field name="binding_model_id" | |||
|                    ref="product.model_product_template"/> | |||
|             <field name="binding_view_types">list,form</field> | |||
|             <field name="state">code</field> | |||
|             <field name="code"> | |||
|                 action = model.action_create_tag_description() | |||
|             </field> | |||
|         </record> | |||
| 
 | |||
|         <!--'Generate Tags from Internal Note Using Openai' in action dropdown--> | |||
|         <record id="action_product_template_tag_internal_note" | |||
|                 model="ir.actions.server"> | |||
|             <field name="name">Generate Tags from Internal Note Using Openai | |||
|             </field> | |||
|             <field name="model_id" ref="product.model_product_product"/> | |||
|             <field name="binding_model_id" ref="product.model_product_product"/> | |||
|             <field name="binding_view_types">list,form</field> | |||
|             <field name="state">code</field> | |||
|             <field name="code"> | |||
|                 action = model.action_create_tag_internal_note() | |||
|             </field> | |||
|         </record> | |||
|         <!--'Generate Internal Note from Tags Using Openai' in action dropdown--> | |||
| 
 | |||
|         <record id="action_product_template_internal_note_tag" | |||
|                 model="ir.actions.server"> | |||
|             <field name="name">Generate Internal Note from Tags Using Openai | |||
|             </field> | |||
|             <field name="model_id" ref="product.model_product_product"/> | |||
|             <field name="binding_model_id" ref="product.model_product_product"/> | |||
|             <field name="binding_view_types">list,form</field> | |||
|             <field name="state">code</field> | |||
|             <field name="code"> | |||
|                 action = model.generate_internal_notes_from_tags() | |||
|             </field> | |||
|         </record> | |||
|         <!--'Generate Description Using Openai' in action dropdown--> | |||
|         <record id="action_product_template_description_dalle" | |||
|                 model="ir.actions.server"> | |||
|             <field name="name">Generate Description Using Openai</field> | |||
|             <field name="model_id" ref="product.model_product_template"/> | |||
|             <field name="binding_model_id" | |||
|                    ref="product.model_product_template"/> | |||
|             <field name="binding_view_types">list,form</field> | |||
|             <field name="state">code</field> | |||
|             <field name="code"> | |||
|                 action = model.generate_description_from_tags() | |||
|             </field> | |||
|         </record> | |||
|     </data> | |||
| </odoo> | |||
| @ -0,0 +1,16 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | |||
| <odoo> | |||
| <!--Form view of product--> | |||
|     <record id="product_product_view_form" model="ir.ui.view"> | |||
|         <field name="name">product.product.view.form.inherit.openai.product.tag.descrption | |||
|         </field> | |||
|         <field name="model">product.product</field> | |||
|         <field name="inherit_id" ref="product.product_normal_form_view"/> | |||
|         <field name="arch" type="xml"> | |||
|             <xpath expr="//field[@name='company_id']" position="after"> | |||
|                    <field name="product_tag_ids" widget="many2many_tags" | |||
|                           options="{'color_field': 'color'}"/> | |||
|             </xpath> | |||
|         </field> | |||
|     </record> | |||
| </odoo> | |||
| @ -0,0 +1,16 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | |||
| <odoo> | |||
| <!-- Form View of product template--> | |||
|     <record id="product_template_view_form" model="ir.ui.view"> | |||
|         <field name="name">product.template.view.form.inherit.openai.product.tag.descrption | |||
|         </field> | |||
|         <field name="model">product.template</field> | |||
|         <field name="inherit_id" ref="product.product_template_only_form_view"/> | |||
|         <field name="arch" type="xml"> | |||
|             <xpath expr="//field[@name='company_id']" position="after"> | |||
|                    <field name="product_tag_ids" widget="many2many_tags" | |||
|                           options="{'color_field': 'color'}"/> | |||
|             </xpath> | |||
|         </field> | |||
|     </record> | |||
| </odoo> | |||