price_hist.py
2.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
import logging
from datetime import datetime, timedelta
import pytz
from odoo import models, api, fields, _
# from odoo.addons.base.models.ir_sequence import (_create_sequence, _drop_sequences, _alter_sequence, _select_nextval,
# _update_nogap)
# from odoo.tools import sql
from odoo.exceptions import UserError
from psycopg2 import sql
from xml.etree import ElementTree
_logger = logging.getLogger(__name__)
class TandurPriceHist(models.Model):
_name = 'tandur.price.hist'
_description = 'History of Price'
_order = "product_id"
@api.depends('year', 'month')
def _compute_period(self):
for record in self:
self.period = "{}-{}".format(str(int(record.year)),
str(int(record.month)).zfill(2))
year = fields.Float(string='Year', group_operator=False)
month = fields.Float(string='Month', group_operator=False)
period = fields.Char(compute='_compute_period', store=True,
index=True)
product_id = fields.Many2one('product.product', 'Product',
required=True)
price = fields.Float(string='Price', group_operator="avg")
@api.model
def fields_view_get(self, view_id=None, view_type='form', toolbar=False,
submenu=False):
return super().fields_view_get(view_id=view_id, view_type=view_type,
toolbar=toolbar, submenu=submenu)
# root = ElementTree.fromstring(res['arch'])
# _logger.debug(dir(self.env.user))
# _logger.debug(read_group())
# if self.env.user.has_group('tandur.group_tandur_admin'):
# root.set('edit', 'true')
# root.set('create', 'true')
# else:
# root.set('edit', 'false')
# root.set('create', 'false')
#
# res['arch'] = ElementTree.tostring(root)
#
# return res
def name_get(self):
result = []
for record in self:
result.append(
(record.id, "{}-{}".format(str(int(record.year)),
str(int(record.month)).zfill(2))))
return result