server-env/pos_environment/models/pos_config.py

46 lines
1.6 KiB
Python

# Copyright (C) 2018 - Today: GRAP (http://www.grap.coop)
# @author: Sylvain LE GAL (https://twitter.com/legalsylvain)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import api, fields, models
from odoo.addons.server_environment import serv_config
class PosConfig(models.Model):
_inherit = 'pos.config'
# Columns section
receipt_environment_header = fields.Text(
string='Receipt Environment Header',
compute='_compute_receipt_environment_header')
receipt_environment_footer = fields.Text(
string='Receipt Environment Footer',
compute='_compute_receipt_environment_footer')
@api.multi
def _compute_receipt_environment_header(self):
for config in self:
config.receipt_environment_header =\
self._get_receipt_environment_part('header')
@api.multi
def _compute_receipt_environment_footer(self):
for config in self:
config.receipt_environment_footer =\
self._get_receipt_environment_part('footer')
@api.model
def _get_receipt_environment_part(self, part):
section_name = 'pos_environment_%s' % part
line_list = []
if serv_config.has_section(section_name):
# Parse each line
for item in serv_config.items(section_name):
if '__' not in item[0]:
# Universal line
line_list.append(item[1])
elif '__%s' % (self.env.user.lang) in item[0]:
# depend of the language
line_list.append(item[1])
return '\n'.join(line_list)