You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

82 lines
3.1 KiB

# -*- coding: utf-8 -*-
################################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
# Author: Cybrosys Techno Solutions (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
################################################################################
"""This module enables users to place online orders and
pick up their purchases from nearby stores. """
from odoo import fields, models
class PosConfig(models.Model):
"""inherited for adding address in pos session"""
_inherit = 'pos.config'
street = fields.Char('Street', required=True,
help='Enter Address for your store')
street2 = fields.Char('Street2')
zip = fields.Char('Zip', help='Enter zip for your store')
city = fields.Char('City', required=True,
help='Enter your store located city')
state_id = fields.Many2one("res.country.state", string='State',
required=True, help='Enter state')
country_id = fields.Many2one('res.country', string='Country', required=True)
class InheritPosSession(models.Model):
"""inherit pos session for load models in pos"""
_inherit = 'pos.session'
def _pos_ui_models_to_load(self):
"""load Meals Planning and Menu.Meals model in pos."""
result = super()._pos_ui_models_to_load()
result.extend(['stock.picking', 'stock.move'])
return result
def _loader_params_stock_picking(self):
""" returning corresponding data to pos"""
data = []
stock_picking = self.env['stock.picking'].search([
('state', '!=', ['done', 'cancelled'])])
for rec in stock_picking:
data.append(rec.id)
return {
'search_params': {
'domain': [('id', '=', data)],
'fields': ['state', 'origin', 'move_ids_without_package']
}
}
def _loader_params_stock_move(self):
"""load stock.move model in pos"""
return {
'search_params': {
'fields': ['product_id', 'sale_line_id', 'picking_id']
}
}
def _get_pos_ui_stock_picking(self, params):
"""get params in stock picking"""
return self.env['stock.picking'].search_read(
**params['search_params'])
def _get_pos_ui_stock_move(self, params):
"""get params in stock move"""
return self.env['stock.move'].search_read(
**params['search_params'])