diff --git a/event_catering/README.rst b/event_catering/README.rst new file mode 100644 index 000000000..3f0b83496 --- /dev/null +++ b/event_catering/README.rst @@ -0,0 +1,49 @@ +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg + :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +Event Catering Service +====================== +Event Catering attaches catering service to Event Management module thus +extending the scope of the Event Management Module. When you install this +module, a new service 'Catering' will be available in event management. + +Configuration +============= +* Automatically creates from event order. +* Catering manager can update the state of the event order. +* Single click for completing a work. + +License +------- +Affero General Public License v3.0 (AGPL v3) +(http://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Company +------- +* `Cybrosys Techno Solutions `__ + +Credits +============ +* Developer: (V17) Subina P , Contact: odoo@cybrosys.com + +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 +========== +.. 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/event_catering/__init__.py b/event_catering/__init__.py new file mode 100644 index 000000000..76c86cbe9 --- /dev/null +++ b/event_catering/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Subina (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from . import models diff --git a/event_catering/__manifest__.py b/event_catering/__manifest__.py new file mode 100644 index 000000000..019c54505 --- /dev/null +++ b/event_catering/__manifest__.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Subina (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +{ + 'name': 'Event Catering Service', + 'version': '17.0.1.0.0', + "category": "Industries", + 'summary': """ Catering Service for Event Management Module.""", + 'description': """Event Catering attaches catering service to + Event Management module thus extending the scope of the Event Management + Module. When you install this module, a new service 'Catering' will be + available in event management. """, + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + 'depends': ['event_management'], + 'data': ['security/event_catering_manager_groups.xml', + 'security/event_catering_security.xml', + 'security/ir.model.access.csv', + 'data/product_product_data.xml', + 'data/ir_sequence_data.xml', + 'views/event_management_catering_views.xml', + 'views/event_management_views.xml', + ], + 'images': ['static/description/banner.jpg'], + 'license': 'AGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/event_catering/data/ir_sequence_data.xml b/event_catering/data/ir_sequence_data.xml new file mode 100644 index 000000000..427621a41 --- /dev/null +++ b/event_catering/data/ir_sequence_data.xml @@ -0,0 +1,14 @@ + + + + + + Catering Service + catering.order.sequence + %(day)s/%(month)s/%(year)s + CAT- + 1 + 2 + + + diff --git a/event_catering/data/product_product_data.xml b/event_catering/data/product_product_data.xml new file mode 100644 index 000000000..c5c4954c4 --- /dev/null +++ b/event_catering/data/product_product_data.xml @@ -0,0 +1,10 @@ + + + + + Catering Service + service + + + diff --git a/event_catering/doc/RELEASE_NOTES.md b/event_catering/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..707df956e --- /dev/null +++ b/event_catering/doc/RELEASE_NOTES.md @@ -0,0 +1,7 @@ +## Module + +#### 25.03.2024 +#### Version 17.0.1.0.0 +##### ADD + +- Initial Commit for Event Catering Service diff --git a/event_catering/models/__init__.py b/event_catering/models/__init__.py new file mode 100644 index 000000000..9ad86d10a --- /dev/null +++ b/event_catering/models/__init__.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Subina (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from . import event_catering_work +from . import event_management +from . import event_management_catering +from . import event_service_line diff --git a/event_catering/models/event_catering_work.py b/event_catering/models/event_catering_work.py new file mode 100644 index 000000000..9b4eab54d --- /dev/null +++ b/event_catering/models/event_catering_work.py @@ -0,0 +1,67 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Subina (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from odoo import api, fields, models + + +class EventCateringWork(models.Model): + """ + This class is for creating catering works. + it contains fields and functions for the model. + Methods: + _onchange_service_id(self): + calculate value of amount field when change the service_id + _compute_sub_total(self): + computes sub_total field + """ + _name = 'event.catering.work' + _description = "Event Catering Work" + + service_id = fields.Many2one('product.product', string="Services", + required=True, help="Choose the services") + quantity = fields.Float(string="Quantity", default=1, + help="How many quantity consumed") + amount = fields.Float(string="Amount", help="Amount per quantity") + sub_total = fields.Float(string="Sub Total", compute="_compute_sub_total", + readonly=True, help="Shows subtotal") + currency_id = fields.Many2one('res.currency', string='Currency', + default=lambda self: self.env.user.company_id + .currency_id.id, + required=True, help='Currency in which ' + 'payments will be done') + catering_id = fields.Many2one('event.management.catering', + string="Catering Id", + help="Select the catering") + work_status = fields.Selection([('open', 'Open'), ('done', 'Done')], + string="Work Status", default='open', + help="Shows the current status of catering") + + @api.onchange('service_id') + def _onchange_service_id(self): + """ Function for calculate amount field when change + service_id field """ + self.amount = self.service_id.lst_price + + @api.depends('quantity', 'amount') + def _compute_sub_total(self): + """ Computes sub_total field when quantity or amount changes """ + for rec in self: + rec.sub_total = rec.quantity * rec.amount diff --git a/event_catering/models/event_management.py b/event_catering/models/event_management.py new file mode 100644 index 000000000..52c0583d1 --- /dev/null +++ b/event_catering/models/event_management.py @@ -0,0 +1,110 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Subina (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from odoo import api, fields, models + + +class EventManagement(models.Model): + """ + This class is used to create catering details in Event management. + It contains fields and functions for the model + Methods: + _compute_catering_pending(self): + function to computes catering_pending field + _compute_catering_done(self): + function to computes catering done field + action_event_confirm(self): + actions to perform when clicking on the 'Confirm' button. + action_view_catering_service(self): + actions to perform when clicking on the 'Pending Done' smart button. + """ + _inherit = 'event.management' + + catering_on = fields.Boolean(string="Catering Active", default=False, + help="Shows thw catering is active or not") + catering_id = fields.Many2one('event.management.catering', + string="Catering Id", + help="Corresponding catering in event") + catering_pending = fields.Integer(string='Catering Pending', + compute='_compute_catering_pending', + help="Shows count of catering " + "works are pending") + catering_done = fields.Integer(string='Catering Done', + compute='_compute_catering_done', + help="Shows how many catering works are done" + ) + + @api.depends('catering_id.catering_works_ids.work_status') + def _compute_catering_pending(self): + """ Computes catering_pending field """ + self.catering_pending = False + for order in self.catering_id: + pending = 0 + for lines in order.catering_works_ids: + if lines.work_status == 'open': + pending += 1 + self.catering_pending = pending + + @api.depends('catering_id.catering_works_ids.work_status') + def _compute_catering_done(self): + """ Computes catering_done field """ + self.catering_done = False + for order in self.catering_id: + done = 0 + for lines in order.catering_works_ids: + if lines.work_status == 'done': + done += 1 + self.catering_done = done + + def action_event_confirm(self): + """ + Extended function for the 'Confirm' button to create catering service + when confirming event. + """ + catering_line = self.service_line_ids.search([ + ('service', '=', 'catering'), ('event_id', '=', self.id)]) + if len(catering_line) > 0: + self.catering_on = True + self.catering_id = self.env['event.management.catering'].create({ + 'name': self.env['ir.sequence'].next_by_code( + 'catering.order.sequence'), + 'start_date': catering_line.date_from, + 'end_date': catering_line.date_to, + 'parent_event_id': self.id, + 'event_type_id': self.type_of_event_id.id, + 'catering_id': catering_line.id, + }).id + super(EventManagement, self).action_event_confirm() + + def action_view_catering_service(self): + """ + This function returns an action that display existing catering + service of the event. + """ + action = self.env.ref( + 'event_catering.event_management_catering_action'). \ + sudo().read()[0] + action['views'] = [(self.env.ref( + 'event_catering.event_management_catering_view_form').id, 'form')] + action['res_id'] = self.catering_id.id + if self.catering_id.id is not False: + return action + return False diff --git a/event_catering/models/event_management_catering.py b/event_catering/models/event_management_catering.py new file mode 100644 index 000000000..2e67edd99 --- /dev/null +++ b/event_catering/models/event_management_catering.py @@ -0,0 +1,91 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Subina (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from odoo import api, fields, models, _ +from odoo.exceptions import UserError + + +class EventManagementCatering(models.Model): + """ + This class is for creating catering services. + it contains fields and functions for the model. + Methods: + _compute_price_subtotal(self): + computes price_subtotal field + action_catering_done(self): + actions to perform when clicking on the 'Done' button. + """ + _name = 'event.management.catering' + _description = "Event Management Catering" + + name = fields.Char(string="Name", readonly=True, help="Name of caterings") + date = fields.Date(string="Date", default=fields.Date.today, readonly=True, + help="date of catering created") + start_date = fields.Datetime(string="Start date", readonly=True, + help="starting date of catering service") + end_date = fields.Datetime(string="End date", readonly=True, + help="end date of catering service") + catering_works_ids = fields.One2many('event.catering.work', 'catering_id', + string="Catering Works", + help="selected catering works") + state = fields.Selection([('open', 'Open'), ('done', 'Done')], + string="State", default="open", + help="Current state of event") + note = fields.Text(string="Terms and conditions", + help="Display terms and condition for this service") + price_subtotal = fields.Float(string='Total', + compute='_compute_price_subtotal', + readonly=True, store=True, + help="Shows the total price") + parent_event_id = fields.Many2one('event.management', string="Event", + readonly=True, help="Parent event") + catering_id = fields.Integer(string="Catering Id", + help="Catering serial no") + currency_id = fields.Many2one('res.currency', readonly=True, + string="Currency", + default=lambda self: + self.env.user.company_id.currency_id, + help="Select currency") + event_type_id = fields.Many2one('event.management.type', + string="Event Type", readonly=True, + help="Select the type of event") + + @api.depends('catering_works_ids') + def _compute_price_subtotal(self): + """ Computes price_subtotal field """ + total = 0 + for items in self.catering_works_ids: + total += items.quantity * items.amount + self.price_subtotal = total + + def action_catering_done(self): + """ Function for the 'Done' button to change the state to 'Done'. """ + for items in self.catering_works_ids: + if items.work_status == 'open': + raise UserError(_("Catering works are pending")) + for items in self.sudo().parent_event_id.service_line_ids: + if items.id == self.sudo().catering_id: + items.sudo().write({ + 'amount': self.price_subtotal, + 'state': 'done', + 'related_product_id': self.env.ref( + 'event_catering.catering_service_product').id}) + self.state = "done" diff --git a/event_catering/models/event_service_line.py b/event_catering/models/event_service_line.py new file mode 100644 index 000000000..c3f90a580 --- /dev/null +++ b/event_catering/models/event_service_line.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Subina (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from odoo import fields, models + + +class EventServiceLine(models.Model): + """ This class adding options to service line of event management model """ + _inherit = 'event.service.line' + + service = fields.Selection(selection_add=[('catering', 'Catering')], + help="Adding catering option to services", + ondelete={'catering': 'cascade'},) diff --git a/event_catering/security/event_catering_manager_groups.xml b/event_catering/security/event_catering_manager_groups.xml new file mode 100644 index 000000000..c269d8066 --- /dev/null +++ b/event_catering/security/event_catering_manager_groups.xml @@ -0,0 +1,14 @@ + + + + + Catering Manager + + + + + + + diff --git a/event_catering/security/event_catering_security.xml b/event_catering/security/event_catering_security.xml new file mode 100644 index 000000000..8442b3b4e --- /dev/null +++ b/event_catering/security/event_catering_security.xml @@ -0,0 +1,30 @@ + + + + + event.catering.rule.own.event.manager + + [('create_uid','=',user.id)] + + + + + event.catering.rule.own.catering.manager + + [('create_uid','=',user.id)] + + + + + event.catering.rule.all.catering.manager + + [] + + + diff --git a/event_catering/security/ir.model.access.csv b/event_catering/security/ir.model.access.csv new file mode 100644 index 000000000..b0066507b --- /dev/null +++ b/event_catering/security/ir.model.access.csv @@ -0,0 +1,8 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_event_management_catering_event_manager,access.event.management.catering.event.manager,event_catering.model_event_management_catering,event_management.group_event_manager,1,1,1,1 +access_event_catering_work_event_manager,access.event.catering.work.event.manager,event_catering.model_event_catering_work,event_management.group_event_manager,1,1,1,1 +access_event_management_catering_catering_manager,access.event.management.catering.catering.manager,event_catering.model_event_management_catering,event_catering.event_catering_group_catering_manager,1,1,1,1 +access_event_catering_work_catering_manager,access.event.catering.work.catering.manager,event_catering.model_event_catering_work,event_catering.event_catering_group_catering_manager,1,1,1,1 +access_event_management_type_catering_manager,access.event.management.type.catering.manager,event_management.model_event_management_type,event_catering.event_catering_group_catering_manager,1,0,0,0 +access_event_management_catering_manager,access.event.management.catering.manager,event_management.model_event_management,event_catering.event_catering_group_catering_manager,1,1,1,0 +access_event_service_line_catering_manager,access.event.service.line.catering.manager,event_management.model_event_service_line,event_catering.event_catering_group_catering_manager,1,1,1,1 diff --git a/event_catering/static/description/assets/icons/capture (1).png b/event_catering/static/description/assets/icons/capture (1).png new file mode 100644 index 000000000..8824deafc Binary files /dev/null and b/event_catering/static/description/assets/icons/capture (1).png differ diff --git a/event_catering/static/description/assets/icons/check.png b/event_catering/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/event_catering/static/description/assets/icons/check.png differ diff --git a/event_catering/static/description/assets/icons/chevron.png b/event_catering/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/event_catering/static/description/assets/icons/chevron.png differ diff --git a/event_catering/static/description/assets/icons/cogs.png b/event_catering/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/event_catering/static/description/assets/icons/cogs.png differ diff --git a/event_catering/static/description/assets/icons/consultation.png b/event_catering/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/event_catering/static/description/assets/icons/consultation.png differ diff --git a/event_catering/static/description/assets/icons/ecom-black.png b/event_catering/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/event_catering/static/description/assets/icons/ecom-black.png differ diff --git a/event_catering/static/description/assets/icons/education-black.png b/event_catering/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/event_catering/static/description/assets/icons/education-black.png differ diff --git a/event_catering/static/description/assets/icons/hotel-black.png b/event_catering/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/event_catering/static/description/assets/icons/hotel-black.png differ diff --git a/event_catering/static/description/assets/icons/img.png b/event_catering/static/description/assets/icons/img.png new file mode 100644 index 000000000..70197f477 Binary files /dev/null and b/event_catering/static/description/assets/icons/img.png differ diff --git a/event_catering/static/description/assets/icons/license.png b/event_catering/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/event_catering/static/description/assets/icons/license.png differ diff --git a/event_catering/static/description/assets/icons/lifebuoy.png b/event_catering/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/event_catering/static/description/assets/icons/lifebuoy.png differ diff --git a/event_catering/static/description/assets/icons/manufacturing-black.png b/event_catering/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/event_catering/static/description/assets/icons/manufacturing-black.png differ diff --git a/event_catering/static/description/assets/icons/photo-capture.png b/event_catering/static/description/assets/icons/photo-capture.png new file mode 100644 index 000000000..06c111758 Binary files /dev/null and b/event_catering/static/description/assets/icons/photo-capture.png differ diff --git a/event_catering/static/description/assets/icons/pos-black.png b/event_catering/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/event_catering/static/description/assets/icons/pos-black.png differ diff --git a/event_catering/static/description/assets/icons/puzzle.png b/event_catering/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/event_catering/static/description/assets/icons/puzzle.png differ diff --git a/event_catering/static/description/assets/icons/restaurant-black.png b/event_catering/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/event_catering/static/description/assets/icons/restaurant-black.png differ diff --git a/event_catering/static/description/assets/icons/service-black.png b/event_catering/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/event_catering/static/description/assets/icons/service-black.png differ diff --git a/event_catering/static/description/assets/icons/trading-black.png b/event_catering/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/event_catering/static/description/assets/icons/trading-black.png differ diff --git a/event_catering/static/description/assets/icons/training.png b/event_catering/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/event_catering/static/description/assets/icons/training.png differ diff --git a/event_catering/static/description/assets/icons/update.png b/event_catering/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/event_catering/static/description/assets/icons/update.png differ diff --git a/event_catering/static/description/assets/icons/user.png b/event_catering/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/event_catering/static/description/assets/icons/user.png differ diff --git a/event_catering/static/description/assets/icons/wrench.png b/event_catering/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/event_catering/static/description/assets/icons/wrench.png differ diff --git a/event_catering/static/description/assets/misc/Cybrosys R.png b/event_catering/static/description/assets/misc/Cybrosys R.png new file mode 100644 index 000000000..da4058087 Binary files /dev/null and b/event_catering/static/description/assets/misc/Cybrosys R.png differ diff --git a/event_catering/static/description/assets/misc/categories.png b/event_catering/static/description/assets/misc/categories.png new file mode 100644 index 000000000..bedf1e0b1 Binary files /dev/null and b/event_catering/static/description/assets/misc/categories.png differ diff --git a/event_catering/static/description/assets/misc/check-box.png b/event_catering/static/description/assets/misc/check-box.png new file mode 100644 index 000000000..42caf24b9 Binary files /dev/null and b/event_catering/static/description/assets/misc/check-box.png differ diff --git a/event_catering/static/description/assets/misc/compass.png b/event_catering/static/description/assets/misc/compass.png new file mode 100644 index 000000000..d5fed8faa Binary files /dev/null and b/event_catering/static/description/assets/misc/compass.png differ diff --git a/event_catering/static/description/assets/misc/corporate.png b/event_catering/static/description/assets/misc/corporate.png new file mode 100644 index 000000000..2eb13edbf Binary files /dev/null and b/event_catering/static/description/assets/misc/corporate.png differ diff --git a/event_catering/static/description/assets/misc/customer-support.png b/event_catering/static/description/assets/misc/customer-support.png new file mode 100644 index 000000000..79efc72ed Binary files /dev/null and b/event_catering/static/description/assets/misc/customer-support.png differ diff --git a/event_catering/static/description/assets/misc/cybrosys-logo.png b/event_catering/static/description/assets/misc/cybrosys-logo.png new file mode 100644 index 000000000..cc3cc0ccf Binary files /dev/null and b/event_catering/static/description/assets/misc/cybrosys-logo.png differ diff --git a/event_catering/static/description/assets/misc/email.svg b/event_catering/static/description/assets/misc/email.svg new file mode 100644 index 000000000..15291cdc3 --- /dev/null +++ b/event_catering/static/description/assets/misc/email.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/event_catering/static/description/assets/misc/features.png b/event_catering/static/description/assets/misc/features.png new file mode 100644 index 000000000..b41769f77 Binary files /dev/null and b/event_catering/static/description/assets/misc/features.png differ diff --git a/event_catering/static/description/assets/misc/logo.png b/event_catering/static/description/assets/misc/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/event_catering/static/description/assets/misc/logo.png differ diff --git a/event_catering/static/description/assets/misc/phone.svg b/event_catering/static/description/assets/misc/phone.svg new file mode 100644 index 000000000..b7bd7f251 --- /dev/null +++ b/event_catering/static/description/assets/misc/phone.svg @@ -0,0 +1,3 @@ + + + diff --git a/event_catering/static/description/assets/misc/pictures.png b/event_catering/static/description/assets/misc/pictures.png new file mode 100644 index 000000000..56d255fe9 Binary files /dev/null and b/event_catering/static/description/assets/misc/pictures.png differ diff --git a/event_catering/static/description/assets/misc/pie-chart.png b/event_catering/static/description/assets/misc/pie-chart.png new file mode 100644 index 000000000..426e05244 Binary files /dev/null and b/event_catering/static/description/assets/misc/pie-chart.png differ diff --git a/event_catering/static/description/assets/misc/right-arrow.png b/event_catering/static/description/assets/misc/right-arrow.png new file mode 100644 index 000000000..730984a06 Binary files /dev/null and b/event_catering/static/description/assets/misc/right-arrow.png differ diff --git a/event_catering/static/description/assets/misc/star (1) 2.svg b/event_catering/static/description/assets/misc/star (1) 2.svg new file mode 100644 index 000000000..5ae9f507a --- /dev/null +++ b/event_catering/static/description/assets/misc/star (1) 2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/event_catering/static/description/assets/misc/star.png b/event_catering/static/description/assets/misc/star.png new file mode 100644 index 000000000..2eb9ab29f Binary files /dev/null and b/event_catering/static/description/assets/misc/star.png differ diff --git a/event_catering/static/description/assets/misc/support (1) 1.svg b/event_catering/static/description/assets/misc/support (1) 1.svg new file mode 100644 index 000000000..7d37a8f30 --- /dev/null +++ b/event_catering/static/description/assets/misc/support (1) 1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/event_catering/static/description/assets/misc/support-email.svg b/event_catering/static/description/assets/misc/support-email.svg new file mode 100644 index 000000000..eb70370d6 --- /dev/null +++ b/event_catering/static/description/assets/misc/support-email.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/event_catering/static/description/assets/misc/support.png b/event_catering/static/description/assets/misc/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/event_catering/static/description/assets/misc/support.png differ diff --git a/event_catering/static/description/assets/misc/tick-mark.svg b/event_catering/static/description/assets/misc/tick-mark.svg new file mode 100644 index 000000000..2dbb40187 --- /dev/null +++ b/event_catering/static/description/assets/misc/tick-mark.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/event_catering/static/description/assets/misc/whatsapp 1.svg b/event_catering/static/description/assets/misc/whatsapp 1.svg new file mode 100644 index 000000000..0bfaf8fc6 --- /dev/null +++ b/event_catering/static/description/assets/misc/whatsapp 1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/event_catering/static/description/assets/misc/whatsapp.png b/event_catering/static/description/assets/misc/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/event_catering/static/description/assets/misc/whatsapp.png differ diff --git a/event_catering/static/description/assets/misc/whatsapp.svg b/event_catering/static/description/assets/misc/whatsapp.svg new file mode 100644 index 000000000..b618aea1d --- /dev/null +++ b/event_catering/static/description/assets/misc/whatsapp.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/event_catering/static/description/assets/modules/1.jpg b/event_catering/static/description/assets/modules/1.jpg new file mode 100644 index 000000000..612be4b77 Binary files /dev/null and b/event_catering/static/description/assets/modules/1.jpg differ diff --git a/event_catering/static/description/assets/modules/2.png b/event_catering/static/description/assets/modules/2.png new file mode 100644 index 000000000..eba886e6a Binary files /dev/null and b/event_catering/static/description/assets/modules/2.png differ diff --git a/event_catering/static/description/assets/modules/3.png b/event_catering/static/description/assets/modules/3.png new file mode 100644 index 000000000..69d47fc7d Binary files /dev/null and b/event_catering/static/description/assets/modules/3.png differ diff --git a/event_catering/static/description/assets/modules/4.jpg b/event_catering/static/description/assets/modules/4.jpg new file mode 100644 index 000000000..0cbac311c Binary files /dev/null and b/event_catering/static/description/assets/modules/4.jpg differ diff --git a/event_catering/static/description/assets/modules/5.jpg b/event_catering/static/description/assets/modules/5.jpg new file mode 100644 index 000000000..c8e6c355a Binary files /dev/null and b/event_catering/static/description/assets/modules/5.jpg differ diff --git a/event_catering/static/description/assets/modules/6.png b/event_catering/static/description/assets/modules/6.png new file mode 100644 index 000000000..0dea4f332 Binary files /dev/null and b/event_catering/static/description/assets/modules/6.png differ diff --git a/event_catering/static/description/assets/screenshots/catering1.png b/event_catering/static/description/assets/screenshots/catering1.png new file mode 100644 index 000000000..6ab1d21d8 Binary files /dev/null and b/event_catering/static/description/assets/screenshots/catering1.png differ diff --git a/event_catering/static/description/assets/screenshots/catering2.png b/event_catering/static/description/assets/screenshots/catering2.png new file mode 100644 index 000000000..ec687e009 Binary files /dev/null and b/event_catering/static/description/assets/screenshots/catering2.png differ diff --git a/event_catering/static/description/assets/screenshots/catering3.png b/event_catering/static/description/assets/screenshots/catering3.png new file mode 100644 index 000000000..59f01236d Binary files /dev/null and b/event_catering/static/description/assets/screenshots/catering3.png differ diff --git a/event_catering/static/description/assets/screenshots/hero.gif b/event_catering/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..a9da9333b Binary files /dev/null and b/event_catering/static/description/assets/screenshots/hero.gif differ diff --git a/event_catering/static/description/banner.jpg b/event_catering/static/description/banner.jpg new file mode 100644 index 000000000..74ce45efa Binary files /dev/null and b/event_catering/static/description/banner.jpg differ diff --git a/event_catering/static/description/icon.png b/event_catering/static/description/icon.png new file mode 100644 index 000000000..258b9a155 Binary files /dev/null and b/event_catering/static/description/icon.png differ diff --git a/event_catering/static/description/index.html b/event_catering/static/description/index.html new file mode 100644 index 000000000..06a18057b --- /dev/null +++ b/event_catering/static/description/index.html @@ -0,0 +1,700 @@ + + + + + + + Odoo App 3 Index + + + + + + + + +
+
+
+
+
+ +
+
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+
+
+
+

+ Event Catering Service

+

+ A Module for managing catering services, Supporting module for Event Management +

+
+ +
+
+
+
+
+

+ Key Highlights +

+
+
+
+
+
+ +
+
+

+ Automatically created from the particular event order.

+

+

+
+
+
+
+
+
+ +
+
+

+ Catering and Event Manager can update the state of event order and thus the catering order. +

+

+

+
+
+
+
+
+
+ +
+
+

+ Simply complete the work order on a single click. +

+

+

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

+ Event Catering Dashboard View

+

+ Dashboard view with all the event catering + service. +

+
+
+
+
+
+
+ +
+
+

+ Event Order Tree view

+

+

+
+
+
+
+
+
+ +
+
+

+ Event Order Form view

+

+

+
+
+
+
+
+
+
    +
  • + + Automatically created from the particular event order. +
  • +
  • + + Catering and Event Manager can update the state of event order and thus the catering order. +
  • +
  • + + Simply complete the work order on a single click. +
  • +
+
+
+
+
+
+
Version + 17.0.1.0.0|Released on:16th March 2024 +
+

+ Initial Commit for Event Catering Service

+
+
+
+
+
+
+
+

+ Related Products

+
+
+ +
+
+

+ Our Services

+ +
+
+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Customization

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Implementation

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Support

+
+
+
+
+
+
+ service-icon +
+
+

Hire + Odoo Developer

+
+
+
+
+ +
+
+ service-icon +
+
+

Odoo + Integration

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Migration

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Consultancy

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Implementation

+
+
+
+
+
+
+ service-icon +
+
+

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 + 99456767686 +
+
+
+
+
+
+
+
+
+ + + + + + diff --git a/event_catering/static/img/catering_product-image.jpeg b/event_catering/static/img/catering_product-image.jpeg new file mode 100644 index 000000000..8563d90ea Binary files /dev/null and b/event_catering/static/img/catering_product-image.jpeg differ diff --git a/event_catering/views/event_management_catering_views.xml b/event_catering/views/event_management_catering_views.xml new file mode 100644 index 000000000..d4dbb642e --- /dev/null +++ b/event_catering/views/event_management_catering_views.xml @@ -0,0 +1,167 @@ + + + + + event.management.catering.view.tree + event.management.catering + + + + + + + + + + + + + event.management.catering.view.kanban + event.management.catering + + + + + +
+
+ type +
+
+
+
+
+ + + +
+
+ +
+
+
+
+ + + + + + + + event.management.catering.view.form + event.management.catering + +
+
+
+ +

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + event.management.catering.view.search + event.management.catering + + + + + + + + + + + + + + + Catering Service + event.management.catering + ir.actions.act_window + kanban,tree,form + +

+ You can't create a direct catering. +

+

+ Catering service is created from event order. +

+
+
+ + + diff --git a/event_catering/views/event_management_views.xml b/event_catering/views/event_management_views.xml new file mode 100644 index 000000000..c7584c82a --- /dev/null +++ b/event_catering/views/event_management_views.xml @@ -0,0 +1,40 @@ + + + + + event.management.view.form.inherit.event.catering + + event.management + + +
+ +
+ + + + +
+