Browse Source

[FIX] action confirm issue

pull/124/head
Cybrosys Technologies 7 years ago
committed by GitHub
parent
commit
34322b4ead
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 55
      sale_discount_total/models/discount_approval.py

55
sale_discount_total/models/discount_approval.py

@ -39,25 +39,19 @@ class sale_discount(models.Model):
def action_confirm(self):
discnt = 0.0
no_line = 0.0
for order in self:
if self.company_id.so_double_validation == 'two_step':
for line in order.order_line:
no_line += 1
discnt += line.discount
discnt = (discnt / no_line)
if order.company_id.so_double_validation_limit and discnt > order.company_id.so_double_validation_limit:
order.state = 'waiting'
return True
order._action_confirm()
if order.env['ir.config_parameter'].sudo().get_param('sale.auto_done_setting'):
order.action_done()
return True
if self.company_id.so_double_validation == 'two_step':
for line in self.order_line:
no_line += 1
discnt += line.discount
discnt = (discnt / no_line)
if self.company_id.so_double_validation_limit and discnt > self.company_id.so_double_validation_limit:
self.state = 'waiting'
return True
super(sale_discount, self).action_confirm()
@api.multi
def action_approve(self):
self._action_confirm()
if self.env['ir.config_parameter'].sudo().get_param('sale.auto_done_setting'):
self.action_done()
super(sale_discount, self).action_confirm()
return True
@ -74,40 +68,15 @@ class Company(models.Model):
help="Minimum discount percentage for which a double validation is required")
# @api.multi
# def set_default_discount(self):
# if self.discount_approval and self.discount_approval != self.company_id.discount_approval:
# self.company_id.write({'discount_approval': self.discount_approval})
# if self.limit_discount and self.limit_discount != self.company_id.limit_discount:
# self.company_id.write({'limit_discount': self.limit_discount})
class ResDiscountSettings(models.TransientModel):
_inherit = 'res.config.settings'
so_order_approval = fields.Boolean("Sale Discount Approval", default=lambda self: self.env.user.company_id.so_double_validation == 'two_step')
so_double_validation = fields.Selection(related='company_id.so_double_validation',)
# help='Provide a double validation mechanism for sale exceeding maximum discount limit.')
so_double_validation = fields.Selection(related='company_id.so_double_validation',string="Levels of Approvals *", readonly=False)
so_double_validation_limit = fields.Float(string="Discount limit requires approval in %",
related='company_id.so_double_validation_limit')
# @api.model
# def get_values(self):
# res = super(ResDiscountSettings, self).get_values()
# res.update(
# limit_discount=self.company_id.limit_discount if self.company_id.limit_discount else 0.0,
# discount_approval=True if self.company_id.discount_approval else False
# )
# return res
#
# @api.multi
# def set_values(self):
# super(ResDiscountSettings, self).set_values()
# self.company_id.limit_discount = self.limit_discount
# self.company_id.discount_approval = self.discount_approval
def set_values(self):
super(ResDiscountSettings, self).set_values()
self.so_double_validation = 'two_step' if self.so_order_approval else 'one_step'
self.so_double_validation = 'two_step' if self.so_order_approval else 'one_step'

Loading…
Cancel
Save