diff --git a/event_catering/README.rst b/event_catering/README.rst new file mode 100644 index 000000000..fefc6be16 --- /dev/null +++ b/event_catering/README.rst @@ -0,0 +1,47 @@ +.. 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 +============== +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 +============= +No configuration + +Company +------- +* `Cybrosys Techno Solutions `__ + +License +------- +General Public License, Version 3 (AGPL v3). +(https://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Credits +------- +Developer: (V14) Mruthul Raj ,Contact: odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://www.gnu.org/licenses/agpl-3.0-standalone.html + +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..1b1eab231 --- /dev/null +++ b/event_catering/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Mruthul Raj (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..1f09502a3 --- /dev/null +++ b/event_catering/__manifest__.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Mruthul Raj (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', + 'version': '14.0.1.0.0', + "category": "Industries", + 'summary': "Add a catering service to the Event Management module", + 'description': "Manage the catering service of an event and also invoice " + "that service", + '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/event_catering_work_views.xml', + 'views/event_management_views.xml', + 'data/event_catering_data.xml', + ], + 'images': ['static/description/banner.png'], + 'license': 'AGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/event_catering/data/event_catering_data.xml b/event_catering/data/event_catering_data.xml new file mode 100644 index 000000000..a4cc51291 --- /dev/null +++ b/event_catering/data/event_catering_data.xml @@ -0,0 +1,21 @@ + + + + + + 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..269b80a90 --- /dev/null +++ b/event_catering/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 04.11.2023 +#### Version 16.0.1.0.0 +#### Add +- Initial Commit for Event Catering diff --git a/event_catering/models/__init__.py b/event_catering/models/__init__.py new file mode 100644 index 000000000..9ce38b3c2 --- /dev/null +++ b/event_catering/models/__init__.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Mruthul Raj (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 catering_service +from . import event_catering_work +from . import event_management_catering +from . import event_service diff --git a/event_catering/models/catering_service.py b/event_catering/models/catering_service.py new file mode 100644 index 000000000..8136a4b68 --- /dev/null +++ b/event_catering/models/catering_service.py @@ -0,0 +1,103 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Mruthul Raj (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): + """Adding catering details in Event management model""" + _inherit = 'event.management' + + is_catering_on = fields.Boolean(string="Catering Active", + help="Indicates whether catering services " + "are active for this event.") + catering_id = fields.Many2one('event.management.catering', + string="Catering Id", + help="Reference to the catering service " + "associated with this event.") + catering_pending = fields.Integer(string='Catering Pending', + compute='_compute_catering_pending', + help="Number of pending catering " + "services for this event.") + catering_done = fields.Integer(string='Catering Done', + compute='_compute_catering_done', + help="Number of completed catering " + "services for this event.") + + @api.depends('catering_id.catering_works_ids.work_status') + def _compute_catering_pending(self): + """Compute pending catering""" + 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): + """Compute all the done work status""" + 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 self.service_line_ids.search_count([('service', '=', 'catering'), + ('event_id', '=', self.id)]) > 0: + self.is_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(EventManagement, self).action_event_confirm() + + def action_view_catering_service(self): + """This function returns an action that displays 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 diff --git a/event_catering/models/event_catering_work.py b/event_catering/models/event_catering_work.py new file mode 100644 index 000000000..f0da17890 --- /dev/null +++ b/event_catering/models/event_catering_work.py @@ -0,0 +1,76 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Mruthul Raj (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 EventCateringWorks(models.Model): + """Deals with catering works""" + _name = 'event.catering.work' + _description = "Catering Works" + + service_id = fields.Many2one('product.product', string="Services", + required=True, + help="Select the catering service for this" + " work.") + quantity = fields.Float(string="Quantity", default=1, + help="Enter the quantity of catering services " + "provided.") + amount = fields.Float(string="Amount", + help="Enter the cost of a single unit of the catering" + " service.") + sub_total = fields.Float(string="Sub Total", compute="_compute_sub_total", + readonly=True, + help="Total cost calculated based on quantity and" + " amount.") + currency_id = fields.Many2one('res.currency', readonly=True, + default=lambda self: self.env.user.company_id.currency_id, + help="Currency associated with the company" + " for pricing.") + catering_id = fields.Many2one('event.management.catering', + string="Catering Id", + help="Link this work to the main catering" + " management.") + work_status = fields.Selection([('open', 'Open'), ('done', 'Done')], + string="Work Status", + default='open', + help="Status of the catering work.") + + @api.onchange('service_id') + def _onchange_service_id(self): + """Update the amount based on service""" + self.amount = self.service_id.lst_price + + @api.depends('quantity', 'amount') + def _compute_sub_total(self): + """Function to calculate sub total""" + 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/models/event_management_catering.py b/event_catering/models/event_management_catering.py new file mode 100644 index 000000000..66fb94244 --- /dev/null +++ b/event_catering/models/event_management_catering.py @@ -0,0 +1,93 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Mruthul Raj (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): + """Model for creating catering services""" + _name = 'event.management.catering' + _description = "Event Management" + + name = fields.Char(string="Name", readonly=True, + help="Name of the catering service.") + date = fields.Date(string="Date", default=fields.Date.today, readonly=True, + help="Date of the catering service.") + start_date = fields.Datetime(string="Start date", readonly=True, + help="Start date and time of the catering" + " service.") + end_date = fields.Datetime(string="End date", readonly=True, + help="End date and time of the catering " + "service.") + catering_works_ids = fields.One2many('event.catering.work', 'catering_id', + string="Catering Works", + help="List of catering works " + "associated with this service.") + state = fields.Selection([('open', 'Open'), ('done', 'Done')], + string="State", default="open", + help="State of the catering service.") + note = fields.Text(string="Terms and conditions", + help="Additional notes or terms for the catering" + " service.") + price_subtotal = fields.Float(string='Total', + compute='_compute_price_subtotal', + readonly=True, store=True, + help="Total cost calculated based on" + " catering works.") + parent_event_id = fields.Many2one('event.management', + string="Event", readonly=True, + help="Parent event associated with " + "the catering service.") + catering_id = fields.Integer(string="Catering Id", + help="Unique identifier for the catering " + "service.") + currency_id = fields.Many2one('res.currency', readonly=True, + default=lambda self: + self.env.user.company_id.currency_id, + help="Currency associated with the company " + "for pricing.") + event_type_id = fields.Many2one('event.management.type', + string="Event Type", readonly=True, + help="Type of the event associated with " + "the catering service.") + + @api.depends('catering_works_ids') + def _compute_price_subtotal(self): + """Compute function for calculating sub total""" + 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" diff --git a/event_catering/models/event_service.py b/event_catering/models/event_service.py new file mode 100644 index 000000000..faefc1727 --- /dev/null +++ b/event_catering/models/event_service.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Mruthul Raj (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 EventService(models.Model): + """Adding options to the service line of an event management model""" + _inherit = 'event.service.line' + _description = "Additional Options For Event Service Lines" + + service = fields.Selection(string="Service", help="Select service.", + ondelete={'catering': 'cascade'}, + selection_add=[('catering', 'Catering')]) diff --git a/event_catering/security/catering_security.xml b/event_catering/security/catering_security.xml new file mode 100644 index 000000000..bfc0b105d --- /dev/null +++ b/event_catering/security/catering_security.xml @@ -0,0 +1,39 @@ + + + + + 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 + + [] + + + diff --git a/event_catering/security/ir.model.access.csv b/event_catering/security/ir.model.access.csv new file mode 100644 index 000000000..727a1a1ed --- /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_works_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.group_catering_manager,1,1,1,1 +access_event_catering_works_catering_manager,access.event.catering.work.catering.manager,event_catering.model_event_catering_work,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.group_catering_manager,1,0,0,0 +access_event_management_catering_manager,access.event.management.catering.manager,event_management.model_event_management,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.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..49e3b5934 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..43123c0e2 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..a428db2e1 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..730fb36f4 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.png b/event_catering/static/description/assets/modules/5.png new file mode 100644 index 000000000..50a1ff4b8 Binary files /dev/null and b/event_catering/static/description/assets/modules/5.png 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..a0a3c01c6 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..99d21778d 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..219403de5 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..6ecc73baf 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..33bcfaeef 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..7e6568e4d 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..d54b093dd 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..1cdb8dc10 --- /dev/null +++ b/event_catering/static/description/index.html @@ -0,0 +1,669 @@ +
+ +
+ +
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+ + +

+ Event Catering +

+

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

+ +
+ +
+
+ + + +
+
+

Suggested Products

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

+ Our Services +

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

+ Our + Industries +

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

+ Easily procure + and + sell your products

+
+
+ +
+
+ +
+ POS +
+

+ Easy + configuration + and convivial experience

+
+
+ +
+
+ +
+ Education +
+

+ A platform for + educational management

+
+
+ +
+
+ +
+ Manufacturing +
+

+ Plan, track and + schedule your operations

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

+ Mobile + friendly, + awe-inspiring product pages

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

+ Keep track of + services and invoice

+
+
+ +
+
+ +
+ Restaurant +
+

+ Run your bar or + restaurant methodically

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

+ An + all-inclusive + hotel management application

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

+ Support +

+
+
+
+
+
+
+ +
+
+

Need Help?

+

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

+ +

+ odoo@cybrosys.com

+
+
+
+
+
+
+
+ +
+
+

WhatsApp

+

Say hi to us on + WhatsApp!

+ +

+ +91 86068 + 27707

+
+
+
+
+
+
+
+ +
+
+
+ diff --git a/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_catering_work_views.xml b/event_catering/views/event_catering_work_views.xml new file mode 100644 index 000000000..ebba1897e --- /dev/null +++ b/event_catering/views/event_catering_work_views.xml @@ -0,0 +1,164 @@ + + + + + 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..232eb920e --- /dev/null +++ b/event_catering/views/event_management_views.xml @@ -0,0 +1,41 @@ + + + + + event.management.view.form.inherit.event.catering + + event.management + + +
+ +
+ + + + +
+