diff --git a/water_supply_with_mo/README.rst b/water_supply_with_mo/README.rst new file mode 100644 index 000000000..146debc4d --- /dev/null +++ b/water_supply_with_mo/README.rst @@ -0,0 +1,48 @@ +.. 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 + + +Water Supply With Manufacturing Order +===================================== +This module helps you to manufacturing the products from the water supply +request form. + +Configuration +============= +* Added Water Supply user in user settings. + +Company +------- +* `Cybrosys Techno Solutions `__ + +License +------- +General Public License, Version 3 (AGPL v3). +(https://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Credits +------- +* Developer: (V17) Saneen K, Contact : odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit `Our Website `__ + +Further information +=================== +HTML Description: ``__ diff --git a/water_supply_with_mo/__init__.py b/water_supply_with_mo/__init__.py new file mode 100644 index 000000000..ea6b068a0 --- /dev/null +++ b/water_supply_with_mo/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Saneen K (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/water_supply_with_mo/__manifest__.py b/water_supply_with_mo/__manifest__.py new file mode 100644 index 000000000..12d322716 --- /dev/null +++ b/water_supply_with_mo/__manifest__.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Saneen K (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': "Water Supply With Manufacturing Order", + 'version': '17.0.1.0.0', + 'category': 'Manufacturing', + 'summary': """This app allows you to create water supplying methods""", + 'description': """This app allows you to create water supplying methods + allows us to create manufacture orders from water supply requests.""", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'depends': ['account', 'mail', 'mrp'], + 'data': [ + 'security/water_supply_with_mo_groups.xml', + 'security/ir.model.access.csv', + 'data/ir_sequence_data.xml', + 'views/water_supply_method_views.xml', + 'views/water_usage_places_views.xml', + 'views/water_usage_categories_views.xml', + 'views/water_supply_request_views.xml', + 'views/manufacturing_order_creation_views.xml', + 'views/mrp_production_views.xml', + 'views/water_supply_with_mo_menus.xml', + ], + 'images': ['static/description/banner.png'], + 'license': 'AGPL-3', + 'installable': True, + 'auto_install': False, + 'application': True, +} diff --git a/water_supply_with_mo/data/ir_sequence_data.xml b/water_supply_with_mo/data/ir_sequence_data.xml new file mode 100644 index 000000000..2f38ed986 --- /dev/null +++ b/water_supply_with_mo/data/ir_sequence_data.xml @@ -0,0 +1,13 @@ + + + + + + Water Supply Request + water_supply_request + WS + 4 + + + + diff --git a/water_supply_with_mo/doc/RELEASE_NOTES.md b/water_supply_with_mo/doc/RELEASE_NOTES.md new file mode 100755 index 000000000..945facf89 --- /dev/null +++ b/water_supply_with_mo/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 12.04.2024 +#### Version 17.0.1.0.0 +#### ADD +- Initial Commit for Water Supply With Manufacturing Order diff --git a/water_supply_with_mo/models/__init__.py b/water_supply_with_mo/models/__init__.py new file mode 100644 index 000000000..50f2b5597 --- /dev/null +++ b/water_supply_with_mo/models/__init__.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Saneen K (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 manufacturing_order_creation +from . import mrp_bom +from . import mrp_production +from . import stock_move +from . import water_supply_methods +from . import water_supply_request +from . import water_usage_categories +from . import water_usage_places diff --git a/water_supply_with_mo/models/manufacturing_order_creation.py b/water_supply_with_mo/models/manufacturing_order_creation.py new file mode 100644 index 000000000..9057f3ef8 --- /dev/null +++ b/water_supply_with_mo/models/manufacturing_order_creation.py @@ -0,0 +1,76 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Saneen K (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 ManufacturingOrderCreation(models.Model): + """The created manufacturing orders can be displayed and edited + through this model.This model set an as 'many2many' field in another + model.""" + _name = 'manufacturing.order.creation' + _description = 'Manufacturing Order Creation ' + _rec_name = 'product_id' + + product_id = fields.Many2one('product.product', + string='Product', help='Name of the product') + quantity = fields.Integer(string='Quantity', + help='Quantity of the product') + uom_id = fields.Many2one('uom.uom', string='UoM', + help='Unit of measure of the product') + bom_id = fields.Many2one('mrp.bom', + domain="[('product_id','=', product_id)]", + string='Bill of Material', + help='Bill of material of the product.') + mrp_id = fields.Many2one('mrp.production', + string='Manufacturing Order', + help='Manufacturing order of the product') + is_mo = fields.Boolean(string='Is Display', default=True, + help='If the value of the boolean field is' + 'false,then manufacturing order button' + 'will disappear') + supply_request_id = fields.Many2one('water.supply.request', + string='Supply Request', + help="Corresponding water supply " + "request") + + def action_creating_mo(self): + """Displaying manufacturing order of the product. + The form view will display default values for the specified fields + based on the attributes of the current instance. + The view will be opened in the current window.""" + res = { + 'name': 'mrp.production', + 'type': 'ir.actions.act_window', + 'res_model': 'mrp.production', + 'view_mode': 'form', + 'view_id': self.env.ref( + 'mrp.mrp_production_form_view').id, + 'view_type': 'form', + 'target': 'current', + 'context': { + 'default_product_id': self.product_id.id, + 'default_product_qty': self.quantity, + 'default_supply_id': self.supply_request_id.id, + 'default_manufacturing_order_id': self.id + }, + } + return res diff --git a/water_supply_with_mo/models/mrp_bom.py b/water_supply_with_mo/models/mrp_bom.py new file mode 100644 index 000000000..7fae6857c --- /dev/null +++ b/water_supply_with_mo/models/mrp_bom.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Saneen K (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, models + + +class MrpBom(models.Model): + """ This class extends the standard MRP Bill of Materials (BOM) model + to incorporate changes related to variants.""" + _inherit = 'mrp.bom' + + @api.onchange("product_tmpl_id") + def _onchange_product_tmpl_id(self): + """ This method updates the product ID based on the selected + product template ID.""" + self.product_id = self.env['product.product'].search( + [('product_tmpl_id', '=', self.product_tmpl_id.id)]) diff --git a/water_supply_with_mo/models/mrp_production.py b/water_supply_with_mo/models/mrp_production.py new file mode 100644 index 000000000..315da82ce --- /dev/null +++ b/water_supply_with_mo/models/mrp_production.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Saneen K (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 MrpProduction(models.Model): + """ This class adds additional fields and overrides the 'create' method + for specific functionality.""" + _inherit = 'mrp.production' + + manufacturing_order_id = fields.Many2one('manufacturing.order.creation', + string='MO Order', + help='Manufacturing order.') + supply_id = fields.Many2one('water.supply.request', + string='Water Supply Request', + help='Displaying water supply request') + + @api.model_create_multi + def create(self, vals): + """Create a new Manufacturing Production.""" + records = super(MrpProduction, self).create(vals) + for res in records: + default_mo_context_id = res._context.get( + 'default_manufacturing_order_id') + default_manufacturing_order_id = self.env[ + 'manufacturing.order.creation'].browse(default_mo_context_id) + default_manufacturing_order_id.mrp_id = res + default_manufacturing_order_id.bom_id = res.bom_id.id + if default_manufacturing_order_id.mrp_id: + default_manufacturing_order_id.write({'is_mo': False}) + return records diff --git a/water_supply_with_mo/models/stock_move.py b/water_supply_with_mo/models/stock_move.py new file mode 100644 index 000000000..0608555b4 --- /dev/null +++ b/water_supply_with_mo/models/stock_move.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Saneen K (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 StockMove(models.Model): + """Inheriting stock.move model to add relational field""" + _inherit = 'stock.move' + + supply_id = fields.Many2one('water.supply.request', + string='Water Supply', + help='Water supply request') diff --git a/water_supply_with_mo/models/water_supply_methods.py b/water_supply_with_mo/models/water_supply_methods.py new file mode 100644 index 000000000..68dc452e7 --- /dev/null +++ b/water_supply_with_mo/models/water_supply_methods.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Saneen K (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 WaterSupplyMethods(models.Model): + """Creating water supply methods. """ + _name = 'water.supply.methods' + _description = 'Water Supply Methods' + _inherit = ['mail.thread', 'mail.activity.mixin'] + _rec_name = 'supply_name' + + code = fields.Char(string='Internal Code', help='Code of the supply' + ' method') + supply_name = fields.Char(string='Supply Name', help='Supply name') + created_product_id = fields.Many2one('product.product', + string='Product Created', + help="Product created when method " + "is created") + + @api.model_create_multi + def create(self, vals_list): + """Creating corresponding product for each method.""" + records = super(WaterSupplyMethods, self).create(vals_list) + for record in records: + product_records = { + 'name': record.supply_name, + 'detailed_type': 'product' + } + created_product = self.env['product.product'].create( + product_records).id + record.created_product_id = created_product + return records diff --git a/water_supply_with_mo/models/water_supply_request.py b/water_supply_with_mo/models/water_supply_request.py new file mode 100644 index 000000000..96e1e4b26 --- /dev/null +++ b/water_supply_with_mo/models/water_supply_request.py @@ -0,0 +1,249 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Saneen K(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 . +# +############################################################################## +import datetime +from odoo import api, fields, models, _ +from odoo.addons.stock.models.stock_move import PROCUREMENT_PRIORITIES + + +class WaterSupplyRequest(models.Model): + """Model for water supply request form.""" + + _name = "water.supply.request" + _description = "Water Supply Request" + _inherit = ["mail.thread", "mail.activity.mixin"] + _date_name = "date_planned_start" + _order = "priority desc, date_planned_start asc,id" + _rec_name = "reference_no" + + @api.model + def _get_default_date_planned_start(self): + """Method returns the specified deadline date as a datetime object.""" + if self.env.context.get("default_date_deadline"): + return fields.Datetime.to_datetime( + self.env.context.get("default_date_deadline") + ) + return datetime.datetime.now() + + reference_no = fields.Char( + string="Sequence", readonly=True, default="New", help="Reference number" + ) + responsible_user_id = fields.Many2one( + "res.users", + string="Responsible User", + default=lambda self: self.env.user, + help="Responsible person", + ) + customer_name_id = fields.Many2one( + "res.partner", + string="Customer Name", + help="Name of the customer", + required=True, + ) + customer_email = fields.Char( + related="customer_name_id.email", string="Customer Email", help="Customer email" + ) + customer_phone = fields.Char( + related="customer_name_id.phone", + string="Customer Phone", + help="Phone number of" " the customer.", + ) + customer_address = fields.Char( + related="customer_name_id.street", + string="Customer Address", + help="Customer address", + ) + pickup_date = fields.Date( + string="Pickup Date", help="Date of the pickup", required=True + ) + request_date = fields.Date( + string="Request Date", help="Date of the " "product request." + ) + state = fields.Selection( + [("draft", "Draft"), ("created", "Created"), ("supplied", "Supplied")], + default="draft", + string="State", + help="State of the supply request.", + ) + create_date = fields.Date( + string="Create Date", + default=fields.Date.today(), + help="Create date of water supply request", + ) + is_closed = fields.Boolean( + string="Is Closed", + help="Boolean field for to check the " "current request is closed or not", + ) + date_planned_start = fields.Datetime( + string="Scheduled Date", + copy=False, + default=_get_default_date_planned_start, + help="Date at which you plan to start the production.", + index=True, + required=True, + ) + supply_method_ids = fields.Many2many( + "water.supply.methods", + string="Supply Methods", + help="Supply methods", + required=True, + ) + usage_categories_ids = fields.Many2many( + "water.usage.categories", + string="Usage Categories", + help="Usage categories", + required=True, + ) + usage_place_id = fields.Many2one( + "water.usage.places", string="Usage Place", help="Usage place", required=True + ) + create_mo_ids = fields.One2many( + "manufacturing.order.creation", + "supply_request_id", + string="Creation Manufacturing Order", + help="Created manufacturing orders.", + ) + mo_count = fields.Integer( + string="Manufacture Order Count", + compute="compute_mo_count", + help="For storing manufacturing order count.", + ) + stock_move_count = fields.Integer( + string="Stock Move Count", + compute="compute_stock_move_count", + help="Store the stock move count.", + ) + priority = fields.Selection( + PROCUREMENT_PRIORITIES, + string="Priority", + default="0", + help="Components will be reserved first for the MO " + "with the highest priorities.", + ) + + @api.model_create_multi + def create(self, vals): + """Creating sequence number.""" + records = super(WaterSupplyRequest, self).create(vals) + for record in records: + if record.reference_no == _("New"): + reference_no = self.env["ir.sequence"].next_by_code( + "water_supply_request" + ) or _("New") + record.write({"reference_no": reference_no}) + return records + + @api.onchange("supply_method_ids") + def _onchange_supply_method_ids(self): + """This method is triggered when the 'supply_method_ids' field is + changed. It fills the 'create_mo_ids' many2many field with + manufacturing order data based on the selected supply method's + information.""" + self.create_mo_ids = False + for record in self.supply_method_ids: + product = self.env["product.product"].browse(record.created_product_id.id) + bom = self.env["mrp.bom"].search([("product_id", "=", product.id)], limit=1) + self.create_mo_ids = [ + fields.Command.create( + { + "product_id": product.id, + "quantity": bom.product_qty, + "uom_id": product.uom_id.id, + "bom_id": bom, + } + ) + ] + + def action_apply(self): + """Stock move will occur when supply the product to the customer.""" + self.write({"state": "created"}) + src_location = self.env["stock.location"].search( + [("usage", "=", "internal"), ("name", "=", "Stock")], limit=1 + ) + dest_location = self.env["stock.location"].search( + [("usage", "=", "customer")], limit=1 + ) + for rec in self.create_mo_ids: + move = self.env["stock.move"].create( + { + "name": self.reference_no, + "origin": self.reference_no, + "location_id": src_location.id, + "location_dest_id": dest_location.id, + "product_id": rec.product_id.id, + "product_uom": rec.product_id.uom_id.id, + "product_uom_qty": rec.quantity, + "supply_id": self.id, + } + ) + move.write({"state": "done"}) + manufacturing_order = self.env["mrp.production"].search( + [("name", "=", self.create_mo_ids.mrp_id.mapped("name"))] + ) + manufacturing_order.write({"supply_id": self}) + + def action_supply(self): + """Enabling the boolean field if the request is supplied.""" + self.write({"state": "supplied"}) + if self.state == "supplied": + self.is_closed = True + + def action_stock_move(self): + """Opens a window displaying stock moves related to the current + record.""" + self.ensure_one() + return { + "type": "ir.actions.act_window", + "name": "Stock Move", + "view_mode": "tree,form", + "res_model": "stock.move", + "domain": [("supply_id", "=", self.id)], + } + + def action_mrp_production(self): + """Display the production records associated with the current supply + order.""" + self.ensure_one() + return { + "type": "ir.actions.act_window", + "name": "Manufacturing Order", + "view_mode": "tree,form", + "res_model": "mrp.production", + "domain": [("supply_id", "=", self.id)], + } + + def compute_mo_count(self): + """This method calculates the number of manufacturing orders + associated with the current record and updates the 'mo_count' + field on each record accordingly.""" + for record in self: + record.mo_count = self.env["mrp.production"].search_count( + [("supply_id", "=", self.id)] + ) + + def compute_stock_move_count(self): + """This method iterates through the records in `self` and calculates + the number of stock moves associated with each record. It sets the + `stock_move_count` field of each record to the corresponding count.""" + for record in self: + record.stock_move_count = self.env["stock.move"].search_count( + [("supply_id", "=", self.id)] + ) diff --git a/water_supply_with_mo/models/water_usage_categories.py b/water_supply_with_mo/models/water_usage_categories.py new file mode 100644 index 000000000..69cbcb131 --- /dev/null +++ b/water_supply_with_mo/models/water_usage_categories.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Saneen K (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 WaterUsageCategories(models.Model): + """Creating water usage categories.""" + _name = 'water.usage.categories' + _description = 'Water Usage Categories' + _inherit = ['mail.thread', 'mail.activity.mixin'] + _rec_name = 'usage_category_name' + + code = fields.Char(string='Usage Category Code', + help='Usage category code') + usage_category_name = fields.Char(string='Usage Category Name', + help='Usage category name') diff --git a/water_supply_with_mo/models/water_usage_places.py b/water_supply_with_mo/models/water_usage_places.py new file mode 100644 index 000000000..d24823206 --- /dev/null +++ b/water_supply_with_mo/models/water_usage_places.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Saneen K (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 WaterUsagePlaces(models.Model): + """Creating water usage places.""" + _name = 'water.usage.places' + _description = 'Water Usage Places' + _inherit = ['mail.thread', 'mail.activity.mixin'] + _rec_name = 'usage_place_name' + + code = fields.Char(string='Code', help='Code of the water usage places') + usage_place_name = fields.Char(string='Usage Places Name', + help='Usage places name') diff --git a/water_supply_with_mo/security/ir.model.access.csv b/water_supply_with_mo/security/ir.model.access.csv new file mode 100644 index 000000000..3adbb5f2d --- /dev/null +++ b/water_supply_with_mo/security/ir.model.access.csv @@ -0,0 +1,6 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_water_supply_methods_user,access.water.supply.methods.water.supply.with.mo.supplier.user,model_water_supply_methods,water_supply_with_mo_supplier_user,1,1,1,1 +access_water_supply_request_user,access.water.supply.request.user,model_water_supply_request,water_supply_with_mo_supplier_user,1,1,1,1 +access_water_usage_categories_user,access.water.usage.categories.user,model_water_usage_categories,water_supply_with_mo_supplier_user,1,1,1,1 +access_water_usage_places_user,access.water.usage.places.user,model_water_usage_places,water_supply_with_mo_supplier_user,1,1,1,1 +access_manufacturing_order_creation_user,access.manufacturing.order.creation.user,model_manufacturing_order_creation,water_supply_with_mo_supplier_user,1,1,1,1 diff --git a/water_supply_with_mo/security/water_supply_with_mo_groups.xml b/water_supply_with_mo/security/water_supply_with_mo_groups.xml new file mode 100644 index 000000000..61c04fabd --- /dev/null +++ b/water_supply_with_mo/security/water_supply_with_mo_groups.xml @@ -0,0 +1,14 @@ + + + + + Water Supply + + + + Water Supplier User + + + diff --git a/water_supply_with_mo/static/description/assets/icons/check.png b/water_supply_with_mo/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/water_supply_with_mo/static/description/assets/icons/check.png differ diff --git a/water_supply_with_mo/static/description/assets/icons/chevron.png b/water_supply_with_mo/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/icons/chevron.png differ diff --git a/water_supply_with_mo/static/description/assets/icons/cogs.png b/water_supply_with_mo/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/icons/cogs.png differ diff --git a/water_supply_with_mo/static/description/assets/icons/consultation.png b/water_supply_with_mo/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/water_supply_with_mo/static/description/assets/icons/consultation.png differ diff --git a/water_supply_with_mo/static/description/assets/icons/ecom-black.png b/water_supply_with_mo/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/icons/ecom-black.png differ diff --git a/water_supply_with_mo/static/description/assets/icons/education-black.png b/water_supply_with_mo/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/water_supply_with_mo/static/description/assets/icons/education-black.png differ diff --git a/water_supply_with_mo/static/description/assets/icons/hotel-black.png b/water_supply_with_mo/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/water_supply_with_mo/static/description/assets/icons/hotel-black.png differ diff --git a/water_supply_with_mo/static/description/assets/icons/license.png b/water_supply_with_mo/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/water_supply_with_mo/static/description/assets/icons/license.png differ diff --git a/water_supply_with_mo/static/description/assets/icons/lifebuoy.png b/water_supply_with_mo/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/water_supply_with_mo/static/description/assets/icons/lifebuoy.png differ diff --git a/water_supply_with_mo/static/description/assets/icons/manufacturing-black.png b/water_supply_with_mo/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/water_supply_with_mo/static/description/assets/icons/manufacturing-black.png differ diff --git a/water_supply_with_mo/static/description/assets/icons/pos-black.png b/water_supply_with_mo/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/icons/pos-black.png differ diff --git a/water_supply_with_mo/static/description/assets/icons/puzzle.png b/water_supply_with_mo/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/icons/puzzle.png differ diff --git a/water_supply_with_mo/static/description/assets/icons/restaurant-black.png b/water_supply_with_mo/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/icons/restaurant-black.png differ diff --git a/water_supply_with_mo/static/description/assets/icons/service-black.png b/water_supply_with_mo/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/water_supply_with_mo/static/description/assets/icons/service-black.png differ diff --git a/water_supply_with_mo/static/description/assets/icons/trading-black.png b/water_supply_with_mo/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/icons/trading-black.png differ diff --git a/water_supply_with_mo/static/description/assets/icons/training.png b/water_supply_with_mo/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/water_supply_with_mo/static/description/assets/icons/training.png differ diff --git a/water_supply_with_mo/static/description/assets/icons/update.png b/water_supply_with_mo/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/water_supply_with_mo/static/description/assets/icons/update.png differ diff --git a/water_supply_with_mo/static/description/assets/icons/user.png b/water_supply_with_mo/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/water_supply_with_mo/static/description/assets/icons/user.png differ diff --git a/water_supply_with_mo/static/description/assets/icons/wrench.png b/water_supply_with_mo/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/water_supply_with_mo/static/description/assets/icons/wrench.png differ diff --git a/water_supply_with_mo/static/description/assets/misc/categories.png b/water_supply_with_mo/static/description/assets/misc/categories.png new file mode 100644 index 000000000..bedf1e0b1 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/misc/categories.png differ diff --git a/water_supply_with_mo/static/description/assets/misc/check-box.png b/water_supply_with_mo/static/description/assets/misc/check-box.png new file mode 100644 index 000000000..42caf24b9 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/misc/check-box.png differ diff --git a/water_supply_with_mo/static/description/assets/misc/compass.png b/water_supply_with_mo/static/description/assets/misc/compass.png new file mode 100644 index 000000000..d5fed8faa Binary files /dev/null and b/water_supply_with_mo/static/description/assets/misc/compass.png differ diff --git a/water_supply_with_mo/static/description/assets/misc/corporate.png b/water_supply_with_mo/static/description/assets/misc/corporate.png new file mode 100644 index 000000000..2eb13edbf Binary files /dev/null and b/water_supply_with_mo/static/description/assets/misc/corporate.png differ diff --git a/water_supply_with_mo/static/description/assets/misc/customer-support.png b/water_supply_with_mo/static/description/assets/misc/customer-support.png new file mode 100644 index 000000000..79efc72ed Binary files /dev/null and b/water_supply_with_mo/static/description/assets/misc/customer-support.png differ diff --git a/water_supply_with_mo/static/description/assets/misc/cybrosys-logo.png b/water_supply_with_mo/static/description/assets/misc/cybrosys-logo.png new file mode 100644 index 000000000..cc3cc0ccf Binary files /dev/null and b/water_supply_with_mo/static/description/assets/misc/cybrosys-logo.png differ diff --git a/water_supply_with_mo/static/description/assets/misc/features.png b/water_supply_with_mo/static/description/assets/misc/features.png new file mode 100644 index 000000000..b41769f77 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/misc/features.png differ diff --git a/water_supply_with_mo/static/description/assets/misc/logo.png b/water_supply_with_mo/static/description/assets/misc/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/water_supply_with_mo/static/description/assets/misc/logo.png differ diff --git a/water_supply_with_mo/static/description/assets/misc/pictures.png b/water_supply_with_mo/static/description/assets/misc/pictures.png new file mode 100644 index 000000000..56d255fe9 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/misc/pictures.png differ diff --git a/water_supply_with_mo/static/description/assets/misc/pie-chart.png b/water_supply_with_mo/static/description/assets/misc/pie-chart.png new file mode 100644 index 000000000..426e05244 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/misc/pie-chart.png differ diff --git a/water_supply_with_mo/static/description/assets/misc/right-arrow.png b/water_supply_with_mo/static/description/assets/misc/right-arrow.png new file mode 100644 index 000000000..730984a06 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/misc/right-arrow.png differ diff --git a/water_supply_with_mo/static/description/assets/misc/star.png b/water_supply_with_mo/static/description/assets/misc/star.png new file mode 100644 index 000000000..2eb9ab29f Binary files /dev/null and b/water_supply_with_mo/static/description/assets/misc/star.png differ diff --git a/water_supply_with_mo/static/description/assets/misc/support.png b/water_supply_with_mo/static/description/assets/misc/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/misc/support.png differ diff --git a/water_supply_with_mo/static/description/assets/misc/whatsapp.png b/water_supply_with_mo/static/description/assets/misc/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/misc/whatsapp.png differ diff --git a/water_supply_with_mo/static/description/assets/modules/1.jpg b/water_supply_with_mo/static/description/assets/modules/1.jpg new file mode 100644 index 000000000..abbdc1818 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/modules/1.jpg differ diff --git a/water_supply_with_mo/static/description/assets/modules/2.png b/water_supply_with_mo/static/description/assets/modules/2.png new file mode 100644 index 000000000..abce78a8f Binary files /dev/null and b/water_supply_with_mo/static/description/assets/modules/2.png differ diff --git a/water_supply_with_mo/static/description/assets/modules/3.jpg b/water_supply_with_mo/static/description/assets/modules/3.jpg new file mode 100644 index 000000000..1c20843a2 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/modules/3.jpg differ diff --git a/water_supply_with_mo/static/description/assets/modules/4.jpg b/water_supply_with_mo/static/description/assets/modules/4.jpg new file mode 100644 index 000000000..79c554ae3 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/modules/4.jpg differ diff --git a/water_supply_with_mo/static/description/assets/modules/5.jpg b/water_supply_with_mo/static/description/assets/modules/5.jpg new file mode 100644 index 000000000..d77a4a908 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/modules/5.jpg differ diff --git a/water_supply_with_mo/static/description/assets/modules/6.jpg b/water_supply_with_mo/static/description/assets/modules/6.jpg new file mode 100644 index 000000000..38cfcacd7 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/modules/6.jpg differ diff --git a/water_supply_with_mo/static/description/assets/screenshots/1.png b/water_supply_with_mo/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..4597d6081 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/screenshots/1.png differ diff --git a/water_supply_with_mo/static/description/assets/screenshots/10.png b/water_supply_with_mo/static/description/assets/screenshots/10.png new file mode 100644 index 000000000..b3f0e6866 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/screenshots/10.png differ diff --git a/water_supply_with_mo/static/description/assets/screenshots/11.png b/water_supply_with_mo/static/description/assets/screenshots/11.png new file mode 100644 index 000000000..9840dfc94 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/screenshots/11.png differ diff --git a/water_supply_with_mo/static/description/assets/screenshots/12.png b/water_supply_with_mo/static/description/assets/screenshots/12.png new file mode 100644 index 000000000..9893a2a0d Binary files /dev/null and b/water_supply_with_mo/static/description/assets/screenshots/12.png differ diff --git a/water_supply_with_mo/static/description/assets/screenshots/13.png b/water_supply_with_mo/static/description/assets/screenshots/13.png new file mode 100644 index 000000000..8aea70d85 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/screenshots/13.png differ diff --git a/water_supply_with_mo/static/description/assets/screenshots/14.png b/water_supply_with_mo/static/description/assets/screenshots/14.png new file mode 100644 index 000000000..e8ac7266a Binary files /dev/null and b/water_supply_with_mo/static/description/assets/screenshots/14.png differ diff --git a/water_supply_with_mo/static/description/assets/screenshots/15.png b/water_supply_with_mo/static/description/assets/screenshots/15.png new file mode 100644 index 000000000..493a742cd Binary files /dev/null and b/water_supply_with_mo/static/description/assets/screenshots/15.png differ diff --git a/water_supply_with_mo/static/description/assets/screenshots/16.png b/water_supply_with_mo/static/description/assets/screenshots/16.png new file mode 100644 index 000000000..776ce2a79 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/screenshots/16.png differ diff --git a/water_supply_with_mo/static/description/assets/screenshots/2.png b/water_supply_with_mo/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..a6f312be5 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/screenshots/2.png differ diff --git a/water_supply_with_mo/static/description/assets/screenshots/3.png b/water_supply_with_mo/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..096e0def2 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/screenshots/3.png differ diff --git a/water_supply_with_mo/static/description/assets/screenshots/4.png b/water_supply_with_mo/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..3995672bd Binary files /dev/null and b/water_supply_with_mo/static/description/assets/screenshots/4.png differ diff --git a/water_supply_with_mo/static/description/assets/screenshots/5.png b/water_supply_with_mo/static/description/assets/screenshots/5.png new file mode 100644 index 000000000..36761481f Binary files /dev/null and b/water_supply_with_mo/static/description/assets/screenshots/5.png differ diff --git a/water_supply_with_mo/static/description/assets/screenshots/6.png b/water_supply_with_mo/static/description/assets/screenshots/6.png new file mode 100644 index 000000000..f742cb036 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/screenshots/6.png differ diff --git a/water_supply_with_mo/static/description/assets/screenshots/7.png b/water_supply_with_mo/static/description/assets/screenshots/7.png new file mode 100644 index 000000000..0d8d9e723 Binary files /dev/null and b/water_supply_with_mo/static/description/assets/screenshots/7.png differ diff --git a/water_supply_with_mo/static/description/assets/screenshots/8.png b/water_supply_with_mo/static/description/assets/screenshots/8.png new file mode 100644 index 000000000..4dc5d07dd Binary files /dev/null and b/water_supply_with_mo/static/description/assets/screenshots/8.png differ diff --git a/water_supply_with_mo/static/description/assets/screenshots/9.png b/water_supply_with_mo/static/description/assets/screenshots/9.png new file mode 100644 index 000000000..e0e2fe5fd Binary files /dev/null and b/water_supply_with_mo/static/description/assets/screenshots/9.png differ diff --git a/water_supply_with_mo/static/description/assets/screenshots/hero.gif b/water_supply_with_mo/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..119d6f99e Binary files /dev/null and b/water_supply_with_mo/static/description/assets/screenshots/hero.gif differ diff --git a/water_supply_with_mo/static/description/banner.png b/water_supply_with_mo/static/description/banner.png new file mode 100644 index 000000000..4fd253289 Binary files /dev/null and b/water_supply_with_mo/static/description/banner.png differ diff --git a/water_supply_with_mo/static/description/hero-v17.gif b/water_supply_with_mo/static/description/hero-v17.gif new file mode 100644 index 000000000..119d6f99e Binary files /dev/null and b/water_supply_with_mo/static/description/hero-v17.gif differ diff --git a/water_supply_with_mo/static/description/icon.png b/water_supply_with_mo/static/description/icon.png new file mode 100644 index 000000000..075b40d5a Binary files /dev/null and b/water_supply_with_mo/static/description/icon.png differ diff --git a/water_supply_with_mo/static/description/index.html b/water_supply_with_mo/static/description/index.html new file mode 100644 index 000000000..d4b563128 --- /dev/null +++ b/water_supply_with_mo/static/description/index.html @@ -0,0 +1,901 @@ + + + + + + + Odoo App 3 Index + + + + + + + + +
+
+
+
+
+ +
+
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+
+
+
+

+ Water Supply With Manufacturing Order

+

This App Allows Us To Quickly Create Manufacturing Orders Directly From The Water Supply Request. +

+
+ +
+
+
+
+
+

+ Key Highlights +

+
+
+
+
+
+ +
+
+

Allow us to Create Manufacturing Order Directly from the Water Supply Requests Form.

+
+
+
+
+
+
+ +
+
+

+ Set the Water Supply Request Reference on Manufacturing Order.

+
+
+
+
+
+
+ +
+
+

+ We can See the Manufacturing Orders List in a Smart Button.

+
+
+
+
+
+
+ +
+
+

+ We can see the Stock Moves List in a Smart Button

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

+ Set a Water Supply User Group in 'Users'.

+
+
+
+
+
+
+ +
+
+

+ Water Supply Menu.

+
+
+
+
+
+
+ +
+
+

+ Supply Usage Categories Menu.

+
+
+
+
+
+
+ +
+
+

+ Supply Request Method Menu.

+
+
+
+
+
+
+ +
+
+

+ Supply Usage Place Menu.

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

+ Create BOM for the Products.

+
+
+
+
+
+
+ +
+
+

+ Create a Supply Request and Click on the 'Apply' Button.

+
+
+
+
+
+
+ +
+
+

+ For Creating the Manufacture Order Click on the 'Create MO' Button.

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

+ Confirm the Corresponding MO's.

+
+
+
+
+
+
+ +
+
+

+ We can See the MO in the Corresponding Line.

+
+
+
+
+
+
+ +
+
+

+ By Clicking 'Supply' Button it will be Supplied to the Customer.

+
+
+
+
+
+
+ +
+
+

+ We can see the Corresponding Stock Move and Manufacturing Orders in the Smart Button.

+
+
+
+
+
+
+ +
+
+

+ Manufacturing Orders.

+
+
+
+
+
+
+ +
+
+

+ Stock Moves.

+
+
+
+
+
+
+
    +
  • + Allow us to Create Manufacturing Order Directly from the Water Supply Requests Form. +
  • +
  • + Set the Water Supply Request Reference on Manufacturing Order. +
  • +
  • + We can See the Manufacturing Orders List in a Smart Button. +
  • +
  • + + We can see the Stock Moves List in a Smart Button. +
  • +
  • + + The Module Support Community , Enterprise and Odoo.sh. +
  • +
+
+
+
+
+
+
Version + 17.0.1.0.0|Released on:01st Apr 2024 +
+

+ Initial commit for Water Supply With Manufacturing Order

+
+
+
+
+
+
+
+

+ 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/water_supply_with_mo/views/manufacturing_order_creation_views.xml b/water_supply_with_mo/views/manufacturing_order_creation_views.xml new file mode 100644 index 000000000..299fa147c --- /dev/null +++ b/water_supply_with_mo/views/manufacturing_order_creation_views.xml @@ -0,0 +1,28 @@ + + + + + Creation Manufacturing Order + manufacturing.order.creation + tree,form + + + + manufacturing.order.creation.view.tree + manufacturing.order.creation + + + + + + + + + + + + +
+

+ +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+
+ + + water.supply.request.view.search + water.supply.request + + + + + + +
diff --git a/water_supply_with_mo/views/water_supply_with_mo_menus.xml b/water_supply_with_mo/views/water_supply_with_mo_menus.xml new file mode 100644 index 000000000..2d7cb3630 --- /dev/null +++ b/water_supply_with_mo/views/water_supply_with_mo_menus.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + diff --git a/water_supply_with_mo/views/water_usage_categories_views.xml b/water_supply_with_mo/views/water_usage_categories_views.xml new file mode 100644 index 000000000..6921178d3 --- /dev/null +++ b/water_supply_with_mo/views/water_usage_categories_views.xml @@ -0,0 +1,45 @@ + + + + + Water Usage Categories + water.usage.categories + tree,form + + + + water.usage.categories.view.tree + water.usage.categories + + + + + + + + + + water.usage.categories.view.form + water.usage.categories + +
+ + + + + + + + + + +
+ + + +
+
+
+
+
diff --git a/water_supply_with_mo/views/water_usage_places_views.xml b/water_supply_with_mo/views/water_usage_places_views.xml new file mode 100644 index 000000000..8dbe69dc4 --- /dev/null +++ b/water_supply_with_mo/views/water_usage_places_views.xml @@ -0,0 +1,44 @@ + + + + + Water Usage Places + water.usage.places + tree,form + + + + water.usage.places.view.tree + water.usage.places + + + + + + + + + + water.usage.places.view.form + water.usage.places + +
+ + + + + + + + + + +
+ + + +
+
+
+
+