Skip to content

Commit

Permalink
Merge b449bba into c22a2fe
Browse files Browse the repository at this point in the history
  • Loading branch information
YogeshMahera-SerpentCS committed Sep 21, 2017
2 parents c22a2fe + b449bba commit 6a3e45f
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 6 deletions.
42 changes: 39 additions & 3 deletions business_requirement_deliverable_cost/models/business.py
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,29 @@ class BusinessRequirement(models.Model):
'RL Total Cost',
compute='_compute_rl_total_cost'
)
total_revenue_ci = fields.Float(
compute='_compute_total_revenue_in_ci',
string='Total Revenue in CI',
)
ci_currency_id = fields.Many2one(
comodel_name='res.currency',
string='Currency',
readonly=True,
compute='_compute_get_ci_currency'
)

@api.multi
def _compute_get_ci_currency(self):
for br in self:
br.ci_currency_id = self.env.user.company_id.currency_id.id

@api.depends('total_revenue')
def _compute_total_revenue_in_ci(self):
for rec in self:
total_revenue_ci = self.env['res.currency']._compute(
rec.currency_id, self.env.user.company_id.currency_id,
rec.total_revenue)
rec.total_revenue_ci = total_revenue_ci

@api.multi
@api.depends('deliverable_lines.resource_ids.price_total')
Expand All @@ -200,21 +223,30 @@ def _compute_rl_total_cost(self):
def _compute_resource_task_total(self):
for br in self:
if br.deliverable_lines:
br.resource_task_total =\
resource_task_total =\
sum(br.mapped('deliverable_lines').mapped('resource_ids')
.filtered(lambda r: r.resource_type == 'task')
.mapped('price_total'))
resource_task_total_ci = self.env['res.currency']._compute(
br.currency_id, self.env.user.company_id.currency_id,
resource_task_total)
br.resource_task_total = resource_task_total_ci

@api.multi
@api.depends('deliverable_lines', 'deliverable_lines.resource_ids',
'deliverable_lines.resource_ids.price_total')
def _compute_resource_procurement_total(self):
for br in self:
if br.deliverable_lines:
br.resource_procurement_total =\
resource_procurement_total =\
sum(br.mapped('deliverable_lines').mapped('resource_ids')
.filtered(lambda r: r.resource_type == 'procurement')
.mapped('price_total'))
resource_procurement_total_ci = self.env['res.currency']\
._compute(br.currency_id,
self.env.user.company_id.currency_id,
resource_procurement_total)
br.resource_procurement_total = resource_procurement_total_ci

@api.multi
@api.depends(
Expand All @@ -223,7 +255,11 @@ def _compute_resource_procurement_total(self):
'resource_procurement_total')
def _compute_gross_profit(self):
for br in self:
br.gross_profit = (
gross_profit = (
br.total_revenue -
br.resource_task_total -
br.resource_procurement_total)
gross_profit_ci = self.env['res.currency']._compute(
br.currency_id, self.env.user.company_id.currency_id,
gross_profit)
br.gross_profit = gross_profit_ci
10 changes: 7 additions & 3 deletions business_requirement_deliverable_cost/views/business.xml
Original file line number Diff line number Diff line change
Expand Up @@ -117,12 +117,16 @@
<page string="Cost control" groups="business_requirement_deliverable_cost.group_business_requirement_cost_control">
<group>
<group>
<field name="currency_id" groups="business_requirement_deliverable.group_business_requirement_estimation"/>
<field name="total_revenue"/>
<field name="resource_procurement_total"/>
<field name="currency_id" invisible="1" groups="business_requirement_deliverable.group_business_requirement_estimation"/>
<field name="ci_currency_id" invisible="1" groups="business_requirement_deliverable.group_business_requirement_estimation"/>
<field name="total_revenue" widget="monetary" options="{'currency_field': 'currency_id'}" groups="business_requirement_deliverable.group_business_requirement_estimation"/>
<field name="total_revenue_ci" widget="monetary" options="{'currency_field': 'ci_currency_id'}"/>
<field name="resource_procurement_total" widget="monetary" options="{'currency_field': 'ci_currency_id'}"/>
<field name="resource_task_total"
widget="monetary" options="{'currency_field': 'ci_currency_id'}"
groups="business_requirement_deliverable_cost.group_business_requirement_cost_control"/>
<field name="gross_profit"
widget="monetary" options="{'currency_field': 'ci_currency_id'}"
groups="business_requirement_deliverable_cost.group_business_requirement_cost_control"/>
</group>
</group>
Expand Down

0 comments on commit 6a3e45f

Please sign in to comment.