diff --git a/event_catering/README.rst b/event_catering/README.rst new file mode 100644 index 000000000..8ee23c02e --- /dev/null +++ b/event_catering/README.rst @@ -0,0 +1,24 @@ +================== +Event Catering v16 +================== +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. + +Features +======== +* Automatically creates from event order. +* Catering manager can update the state of the event order. +* Single click for completing a work. + +Contributors +============ + +* Avinash Nk + + +Maintainer +========== + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit https://www.cybrosys.com diff --git a/event_catering/__init__.py b/event_catering/__init__.py new file mode 100644 index 000000000..fa2cd6bc5 --- /dev/null +++ b/event_catering/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +################################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2022-TODAY Cybrosys Technologies(). +# Author: Avinash Nk() +# +# This program is free software: you can modify +# it under the terms of the GNU Affero General Public License (AGPL) as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################### + +from . import models diff --git a/event_catering/__manifest__.py b/event_catering/__manifest__.py new file mode 100644 index 000000000..4ce714140 --- /dev/null +++ b/event_catering/__manifest__.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +################################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2022-TODAY Cybrosys Technologies(). +# +# This program is free software: you can modify +# it under the terms of the GNU Affero General Public License (AGPL) as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################### +{ + 'name': 'Event Catering Service', + 'version': '16.0.1.0.0', + 'summary': """Catering Service for Event Management Module.""", + 'description': """Catering Service for Event Management Module.""", + "category": "Industry", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + 'depends': ['event_management'], + 'data': ['security/catering_security.xml', + 'security/ir.model.access.csv', + 'views/catering_service.xml', + 'views/event_form.xml', + 'data/catering_service.xml', + ], + 'demo': [ + ], + 'images': ['static/description/banner.png'], + 'license': 'AGPL-3', + 'installable': True, + 'application': False, +} diff --git a/event_catering/data/catering_service.xml b/event_catering/data/catering_service.xml new file mode 100644 index 000000000..de5a38712 --- /dev/null +++ b/event_catering/data/catering_service.xml @@ -0,0 +1,22 @@ + + + + + + Catering Service + catering.order.sequence + %(day)s/%(month)s/%(year)s + CAT- + 1 + 2 + + + + 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..df8acaff8 --- /dev/null +++ b/event_catering/doc/RELEASE_NOTES.md @@ -0,0 +1,5 @@ +## Module + +#### 24.11.2022 +#### Version 16.0.1.0.0 +#### Module Migrated diff --git a/event_catering/models/__init__.py b/event_catering/models/__init__.py new file mode 100644 index 000000000..e378c7a99 --- /dev/null +++ b/event_catering/models/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +################################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2022-TODAY Cybrosys Technologies(). +# Author: Avinash Nk() +# +# This program is free software: you can modify +# it under the terms of the GNU Affero General Public License (AGPL) as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################### + +from . import catering_service diff --git a/event_catering/models/catering_service.py b/event_catering/models/catering_service.py new file mode 100644 index 000000000..3087fd24c --- /dev/null +++ b/event_catering/models/catering_service.py @@ -0,0 +1,187 @@ +# -*- coding: utf-8 -*- +################################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2022-TODAY Cybrosys Technologies(). +# Author: Avinash Nk() +# +# This program is free software: you can modify +# it under the terms of the GNU Affero General Public License (AGPL) as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################### + +from odoo import models, fields, api, _ +from odoo.exceptions import UserError + + +class EventManagementInherit(models.Model): + """Adding catering details in Event management model""" + _inherit = 'event.management' + + catering_on = fields.Boolean(string="Catering Active", default=False) + catering_id = fields.Many2one('event.management.catering', + string="Catering Id") + catering_pending = fields.Integer(string='Catering Pending', + compute='_compute_catering_pending') + catering_done = fields.Integer(string='Catering Done', + compute='_compute_catering_done') + + @api.depends('catering_id.catering_works_ids.work_status') + def _compute_catering_pending(self): + 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): + 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): + """Confirm the Event""" + catering_service = self.env['event.management.catering'] + catering_line = self.service_line_ids.search([ + ('service', '=', 'catering'), ('event_id', '=', self.id)]) + if len(catering_line) > 0: + self.catering_on = True + sequence_code = 'catering.order.sequence' + name = self.env['ir.sequence'].next_by_code(sequence_code) + event = self.id + event_type = self.type_of_event_id.id + start_date = catering_line.date_from + end_date = catering_line.date_to + catering_id = catering_line.id + data = { + 'name': name, + 'start_date': start_date, + 'end_date': end_date, + 'parent_event_id': event, + 'event_type_id': event_type, + 'catering_id': catering_id, + } + catering_map = catering_service.create(data) + self.catering_id = catering_map.id + super(EventManagementInherit, 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_view_kanban').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 + + +class EventService(models.Model): + """Adding options to service line of event management model""" + _inherit = 'event.service.line' + + service = fields.Selection(selection_add=[('catering', 'Catering')], + ondelete={'catering': 'cascade'}) + + +class EventManagementCatering(models.Model): + """Model for creating catering services""" + _name = 'event.management.catering' + + name = fields.Char(string="Name", readonly=True) + date = fields.Date(string="Date", default=fields.Date.today, readonly=True) + start_date = fields.Datetime(string="Start date", readonly=True) + end_date = fields.Datetime(string="End date", readonly=True) + catering_works_ids = fields.One2many('event.catering.works', 'catering_id', + string="Catering Works") + state = fields.Selection([('open', 'Open'), ('done', 'Done')], + string="State", default="open") + note = fields.Text(string="Terms and conditions") + price_subtotal = fields.Float(string='Total', + compute='_compute_price_subtotal', + readonly=True, store=True) + parent_event_id = fields.Many2one('event.management', string="Event", + readonly=True) + catering_id = fields.Integer(string="Catering Id") + currency_id = fields.Many2one('res.currency', readonly=True, + default=lambda self: + self.env.user.company_id.currency_id) + event_type_id = fields.Many2one('event.management.type', + string="Event Type", readonly=True) + + @api.depends('catering_works_ids') + def _compute_price_subtotal(self): + total = 0 + for items in self.catering_works_ids: + total += items.quantity * items.amount + self.price_subtotal = total + + def action_catering_done(self): + """ Button action for state change to Done""" + for items in self.catering_works_ids: + if items.work_status == 'open': + raise UserError(_("Catering works are pending")) + related_product = self.env.ref( + 'event_catering.catering_service_product').id + 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': related_product}) + self.state = "done" + + +class EventCateringWorks(models.Model): + """Deals with catering works""" + _name = 'event.catering.works' + + service_id = fields.Many2one('product.product', string="Services", + required=True) + quantity = fields.Float(string="Quantity", default=1) + amount = fields.Float(string="Amount") + sub_total = fields.Float(string="Sub Total", compute="_compute_sub_total", + readonly=True) + currency_id = fields.Many2one('res.currency', readonly=True, + default=lambda self: + self.env.user.company_id.currency_id) + catering_id = fields.Many2one('event.management.catering', + string="Catering Id") + work_status = fields.Selection([('open', 'Open'), ('done', 'Done')], + string="Work Status", default='open') + + @api.onchange('service_id') + def _onchange_service_id(self): + self.amount = self.service_id.lst_price + + @api.depends('quantity', 'amount') + def _compute_sub_total(self): + for rec in self: + rec.sub_total = rec.quantity * rec.amount + + def action_work_completed(self): + """Button action for completed works""" + if self.catering_id.state == "open": + self.work_status = 'open' + + def action_not_completed(self): + """Button action for non completed works""" + if self.catering_id.state == "open": + self.work_status = 'done' diff --git a/event_catering/security/catering_security.xml b/event_catering/security/catering_security.xml new file mode 100644 index 000000000..7eba7393c --- /dev/null +++ b/event_catering/security/catering_security.xml @@ -0,0 +1,35 @@ + + + + + + Catering Manager + + + + + + + + + Catering Manager see own Events + + [('create_uid','=',user.id)] + + + + Catering Manager see own Catering + + [('create_uid','=',user.id)] + + + + + Event Manager see all Catering + + [] + + + + + \ No newline at end of file diff --git a/event_catering/security/ir.model.access.csv b/event_catering/security/ir.model.access.csv new file mode 100644 index 000000000..d1d45987d --- /dev/null +++ b/event_catering/security/ir.model.access.csv @@ -0,0 +1,11 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_event_management_catering_event_manager,event.management.catering.event.manager,event_catering.model_event_management_catering,event_management.group_event_manager,1,1,1,1 +access_event_catering_works_event_manager,event.catering.works.event.manager,event_catering.model_event_catering_works,event_management.group_event_manager,1,1,1,1 + +access_event_management_catering_catering_manager,event.management.catering.catering.manager,event_catering.model_event_management_catering,event_catering.group_catering_manager,1,1,1,1 +access_event_catering_works_catering_manager,event.catering.works.catering.manager,event_catering.model_event_catering_works,event_catering.group_catering_manager,1,1,1,1 +access_event_management_type_catering_manager,event.management.type.catering.manager,event_management.model_event_management_type,event_catering.group_catering_manager,1,0,0,0 +access_event_management_catering_manager,event.management.catering.manager,event_management.model_event_management,event_catering.group_catering_manager,1,1,1,0 +access_event_service_line_catering_manager,event.service.line.catering.manager,event_management.model_event_service_line,event_catering.group_catering_manager,1,1,1,1 + + 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/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/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/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/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/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.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.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/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/modules/1.png b/event_catering/static/description/assets/modules/1.png new file mode 100644 index 000000000..5238bdeab Binary files /dev/null and b/event_catering/static/description/assets/modules/1.png 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..1ae7cfe3b 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..3c3ff1afb 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.png b/event_catering/static/description/assets/modules/4.png new file mode 100644 index 000000000..3fae4631e Binary files /dev/null and b/event_catering/static/description/assets/modules/4.png differ diff --git a/event_catering/static/description/assets/modules/5.gif b/event_catering/static/description/assets/modules/5.gif new file mode 100644 index 000000000..2a5f8e659 Binary files /dev/null and b/event_catering/static/description/assets/modules/5.gif 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..7f2815273 Binary files /dev/null and b/event_catering/static/description/assets/modules/6.png differ diff --git a/event_catering/static/description/assets/screenshots/Screenshot1.png b/event_catering/static/description/assets/screenshots/Screenshot1.png new file mode 100644 index 000000000..400e51ac8 Binary files /dev/null and b/event_catering/static/description/assets/screenshots/Screenshot1.png differ diff --git a/event_catering/static/description/assets/screenshots/Screenshot2.png b/event_catering/static/description/assets/screenshots/Screenshot2.png new file mode 100644 index 000000000..e423ff203 Binary files /dev/null and b/event_catering/static/description/assets/screenshots/Screenshot2.png differ diff --git a/event_catering/static/description/assets/screenshots/Screenshot3.png b/event_catering/static/description/assets/screenshots/Screenshot3.png new file mode 100644 index 000000000..d76e334b7 Binary files /dev/null and b/event_catering/static/description/assets/screenshots/Screenshot3.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..eec3314ce Binary files /dev/null and b/event_catering/static/description/assets/screenshots/hero.gif differ diff --git a/event_catering/static/description/banner.png b/event_catering/static/description/banner.png new file mode 100644 index 000000000..8335393ec Binary files /dev/null and b/event_catering/static/description/banner.png differ diff --git a/event_catering/static/description/icon.png b/event_catering/static/description/icon.png new file mode 100644 index 000000000..35e6fbb23 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..7b0c7d079 --- /dev/null +++ b/event_catering/static/description/index.html @@ -0,0 +1,665 @@ +
+ +
+ +
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+ + + +

+ Event Catering Service +

+

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

+ + + +
+ + +
+
+ +
+

+ Explore This + Module

+
+ + + + +
+
+ +
+

+ Overview +

+
+
+
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 +
+ + + +
+
+ +
+

+ Features +

+
+
+
+
+ +
+ + Automatic Creation + + + Automatically created from the particular event order. + +
+
+
+ +
+ + Managing Access + + + Catering and Event Manager can update the state of event order + and thus the catering order. + +
+
+
+ +
+ + Simplicity + + + Simply complete the work order on a single click. + +
+
+ + +
+
+ + + +
+
+ +
+

+ Screenshots +

+
+
+
+ +
+

+ Catering Service Form View +

+

+ User can add the product to be serviced. +

+ +
+
+

+ Catering Service Kanban view +

+

+ Details including Event Type and Reference can be viewed in kanban view. +

+ +
+
+

+ Catering Service Tree view +

+

+ + Event type, Start and End dates etc can be viewed in tree view. +

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

+ Related + Products +

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

+ Our Services +

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

+ Our + Industries +

+
+ +
+
+
+
+ +
+ Trading +
+

+ Easily procure + and + sell your products

+
+
+ +
+
+ +
+ POS +
+

+ Easy + configuration + and convivial experience

+
+
+ +
+
+ +
+ Education +
+

+ A platform for + educational management

+
+
+ +
+
+ +
+ Manufacturing +
+

+ Plan, track and + schedule your operations

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

+ Mobile + friendly, + awe-inspiring product pages

+
+
+ +
+
+ +
+ Service Management +
+

+ Keep track of + services and invoice

+
+
+ +
+
+ +
+ Restaurant +
+

+ Run your bar or + restaurant methodically

+
+
+ +
+
+ +
+ Hotel Management +
+

+ An + all-inclusive + hotel management application

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

+ Support +

+
+
+
+
+
+
+ +
+
+

Need Help?

+

Got questions or need help? + Get in touch.

+ +

+ odoo@cybrosys.com

+
+
+
+
+
+
+
+ +
+
+

WhatsApp

+

Say hi to us on WhatsApp!

+ +

+ +91 86068 + 27707

+
+
+
+
+
+
+
+ +
+
+
+ diff --git a/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/catering_service.xml b/event_catering/views/catering_service.xml new file mode 100644 index 000000000..a23229c64 --- /dev/null +++ b/event_catering/views/catering_service.xml @@ -0,0 +1,175 @@ + + + + + + + + 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_form.xml b/event_catering/views/event_form.xml new file mode 100644 index 000000000..80b275560 --- /dev/null +++ b/event_catering/views/event_form.xml @@ -0,0 +1,32 @@ + + + + + event.management.view.form.inherit.event.catering + event.management + + +
+ +
+ + + + +
+ +