Browse Source

[CHG] emc: Use monetary field instead of float one

Change float field to monetary field when field contains a monetary
value. Only where it is possible, because `product.price_list` is a
float field, so related field cannot be monetary.
12.0-chg-monetary_fields
Rémy Taymans 5 years ago
parent
commit
a87b22b723
  1. 67
      easy_my_coop/models/coop.py

67
easy_my_coop/models/coop.py

@ -197,10 +197,13 @@ class SubscriptionRequest(models.Model):
string='Share price', string='Share price',
readonly=True, readonly=True,
states={'draft': [('readonly', False)]}) states={'draft': [('readonly', False)]})
subscription_amount = fields.Float(compute='_compute_subscription_amount',
subscription_amount = fields.Monetary(
compute='_compute_subscription_amount',
string='Subscription amount', string='Subscription amount',
currency_field="company_currency_id",
readonly=True, readonly=True,
states={'draft': [('readonly', False)]})
states={'draft': [('readonly', False)]},
)
ordered_parts = fields.Integer(string='Number of Share', ordered_parts = fields.Integer(string='Number of Share',
required=True, required=True,
readonly=True, readonly=True,
@ -258,6 +261,12 @@ class SubscriptionRequest(models.Model):
change_default=True, change_default=True,
readonly=True, readonly=True,
default=lambda self: self.env['res.company']._company_default_get()) default=lambda self: self.env['res.company']._company_default_get())
company_currency_id = fields.Many2one(
"res.currency",
related="company_id.currency_id",
string="Company Currency",
readonly=True,
)
is_company = fields.Boolean(string='Is a company', is_company = fields.Boolean(string='Is a company',
readonly=True, readonly=True,
states={'draft': [('readonly', False)]}) states={'draft': [('readonly', False)]})
@ -617,8 +626,11 @@ class ShareLine(models.Model):
share_short_name = fields.Char(related='share_product_id.short_name', share_short_name = fields.Char(related='share_product_id.short_name',
string='Share type name', string='Share type name',
readonly=True) readonly=True)
share_unit_price = fields.Float(string='Share price',
readonly=True)
share_unit_price = fields.Monetary(
string='Share price',
currency_field="company_currency_id",
readonly=True,
)
effective_date = fields.Date(string='Effective Date', effective_date = fields.Date(string='Effective Date',
readonly=True) readonly=True)
partner_id = fields.Many2one('res.partner', partner_id = fields.Many2one('res.partner',
@ -626,8 +638,24 @@ class ShareLine(models.Model):
required=True, required=True,
ondelete='cascade', ondelete='cascade',
readonly=True) readonly=True)
total_amount_line = fields.Float(compute='_compute_total_line',
string='Total amount line')
total_amount_line = fields.Monetary(
string='Total amount line',
currency_field="company_currency_id",
compute='_compute_total_line',
)
company_id = fields.Many2one(
"res.company",
string='Company',
required=True,
change_default=True, readonly=True,
default=lambda self: self.env['res.company']._company_default_get(),
)
company_currency_id = fields.Many2one(
"res.currency",
string="Company Currency",
related="company_id.currency_id",
readonly=True,
)
class SubscriptionRegister(models.Model): class SubscriptionRegister(models.Model):
@ -657,10 +685,16 @@ class SubscriptionRegister(models.Model):
readonly=True) readonly=True)
quantity = fields.Integer(string='Number of share', quantity = fields.Integer(string='Number of share',
readonly=True) readonly=True)
share_unit_price = fields.Float(string='Share price',
readonly=True)
total_amount_line = fields.Float(compute='_compute_total_line',
string='Total amount line')
share_unit_price = fields.Monetary(
string='Share price',
currency_field="company_currency_id",
readonly=True,
)
total_amount_line = fields.Monetary(
string='Total amount line',
currency_field="company_currency_id",
compute='_compute_total_line',
)
share_product_id = fields.Many2one('product.product', share_product_id = fields.Many2one('product.product',
string='Share type', string='Share type',
required=True, required=True,
@ -678,8 +712,11 @@ class SubscriptionRegister(models.Model):
readonly=True) readonly=True)
quantity_to = fields.Integer(string='Number of share to', quantity_to = fields.Integer(string='Number of share to',
readonly=True) readonly=True)
share_to_unit_price = fields.Float(string='Share to price',
readonly=True)
share_to_unit_price = fields.Monetary(
string='Share to price',
currency_field="company_currency_id",
readonly=True,
)
type = fields.Selection([('subscription', 'Subscription'), type = fields.Selection([('subscription', 'Subscription'),
('transfer', 'Transfer'), ('transfer', 'Transfer'),
('sell_back', 'Sell Back'), ('sell_back', 'Sell Back'),
@ -689,6 +726,12 @@ class SubscriptionRegister(models.Model):
required=True, required=True,
change_default=True, readonly=True, change_default=True, readonly=True,
default=lambda self: self.env['res.company']._company_default_get()) default=lambda self: self.env['res.company']._company_default_get())
company_currency_id = fields.Many2one(
"res.currency",
related="company_id.currency_id",
string="Company Currency",
readonly=True,
)
user_id = fields.Many2one('res.users', user_id = fields.Many2one('res.users',
string='Responsible', string='Responsible',
readonly=True, readonly=True,

Loading…
Cancel
Save