Merge pull request #5449 from expsa/jj_dev_odex25_ensan
Jj dev odex25 ensan
This commit is contained in:
commit
fde77235e3
|
|
@ -17347,11 +17347,6 @@ msgstr "يرجى اختيار سطر رجيع واحد على الأقل للح
|
||||||
msgid "Return Confirm"
|
msgid "Return Confirm"
|
||||||
msgstr "تأكيد الرجيع"
|
msgstr "تأكيد الرجيع"
|
||||||
|
|
||||||
#. module: odex_benefit
|
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_benefit_expense_line__return_calculated
|
|
||||||
msgid "Return Already Calculated"
|
|
||||||
msgstr "تم حساب الرجيع بالفعل"
|
|
||||||
|
|
||||||
#. module: odex_benefit
|
#. module: odex_benefit
|
||||||
#: model:ir.model.fields,help:odex_benefit.field_confirm_benefit_expense__is_return_calculation
|
#: model:ir.model.fields,help:odex_benefit.field_confirm_benefit_expense__is_return_calculation
|
||||||
msgid ""
|
msgid ""
|
||||||
|
|
@ -17361,4 +17356,10 @@ msgstr "تمكين لحساب المبالغ المرجعة بدلاً من ال
|
||||||
#. module: odex_benefit
|
#. module: odex_benefit
|
||||||
#: model_terms:ir.ui.view,arch_db:odex_benefit.view_confirm_benefit_expense_form
|
#: model_terms:ir.ui.view,arch_db:odex_benefit.view_confirm_benefit_expense_form
|
||||||
msgid "Return Lines"
|
msgid "Return Lines"
|
||||||
msgstr "سطور الرجيع"
|
msgstr "سطور الرجيع"
|
||||||
|
|
||||||
|
#. module: odex_benefit
|
||||||
|
#: model:ir.model.fields,field_description:odex_benefit.field_confirm_benefit_expense__line_domain_ids
|
||||||
|
msgid "Return Line Domain"
|
||||||
|
msgstr "مجال سطر الرجيع"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -93,7 +93,10 @@ class ConfirmBenefitExpense(models.Model):
|
||||||
)
|
)
|
||||||
return_expense_line_ids = fields.One2many(comodel_name='benefit.expense.line', inverse_name='return_confirm_id',
|
return_expense_line_ids = fields.One2many(comodel_name='benefit.expense.line', inverse_name='return_confirm_id',
|
||||||
string="Selected Return Lines",
|
string="Selected Return Lines",
|
||||||
domain="[('is_return', '=', True), ('return_calculated', '=', False)]", )
|
domain="[('is_return', '=', True)]", )
|
||||||
|
line_domain_ids = fields.Many2many(comodel_name='benefit.expense.line', compute='_compute_domain_ids',
|
||||||
|
string="Return Line Domain",
|
||||||
|
)
|
||||||
|
|
||||||
@api.depends('payment_order_id', 'payment_order_id.state', 'move_id', 'move_id.state')
|
@api.depends('payment_order_id', 'payment_order_id.state', 'move_id', 'move_id.state')
|
||||||
def _compute_payment_move_state(self):
|
def _compute_payment_move_state(self):
|
||||||
|
|
@ -176,7 +179,6 @@ class ConfirmBenefitExpense(models.Model):
|
||||||
'family_monthly_othaime': 0,
|
'family_monthly_othaime': 0,
|
||||||
}))
|
}))
|
||||||
self.benefit_expense_line_ids = lines
|
self.benefit_expense_line_ids = lines
|
||||||
return_lines.write({'return_calculated': True})
|
|
||||||
|
|
||||||
def action_calculate(self):
|
def action_calculate(self):
|
||||||
for rec in self:
|
for rec in self:
|
||||||
|
|
@ -221,18 +223,18 @@ class ConfirmBenefitExpense(models.Model):
|
||||||
validation_setting = self.env["family.validation.setting"].search([], limit=1)
|
validation_setting = self.env["family.validation.setting"].search([], limit=1)
|
||||||
if rec.is_return_calculation:
|
if rec.is_return_calculation:
|
||||||
domain = [
|
domain = [
|
||||||
|
('start_date', '<=', rec.end_date),
|
||||||
|
('end_date', '>=', rec.start_date),
|
||||||
('is_return', '=', True),
|
('is_return', '=', True),
|
||||||
('return_reason_id', '!=', False),
|
('return_reason_id', '!=', False),
|
||||||
('return_calculated', '=', False),
|
|
||||||
'|',
|
|
||||||
('return_confirm_id', '=', False),
|
('return_confirm_id', '=', False),
|
||||||
('return_confirm_id', '=', rec.id),
|
|
||||||
('start_date', '>=', rec.start_date),
|
|
||||||
('end_date', '<=', rec.end_date),
|
|
||||||
]
|
]
|
||||||
if rec.branch_custom_ids:
|
if rec.branch_custom_ids:
|
||||||
domain.append(('branch_id', 'in', rec.branch_custom_ids.ids))
|
domain.append(('branch_id', 'in', rec.branch_custom_ids.ids))
|
||||||
rec.family_domain_ids = Line.search(domain).mapped('family_id')
|
|
||||||
|
return_lines = Line.search(domain)
|
||||||
|
rec.line_domain_ids = return_lines
|
||||||
|
rec.family_domain_ids = return_lines.mapped('family_id')
|
||||||
else:
|
else:
|
||||||
# Define base domain for family selection
|
# Define base domain for family selection
|
||||||
|
|
||||||
|
|
@ -256,6 +258,7 @@ class ConfirmBenefitExpense(models.Model):
|
||||||
base_domain.append(('id', 'not in', conflicting_family_ids))
|
base_domain.append(('id', 'not in', conflicting_family_ids))
|
||||||
|
|
||||||
rec.family_domain_ids = self.env['grant.benefit'].search(base_domain)
|
rec.family_domain_ids = self.env['grant.benefit'].search(base_domain)
|
||||||
|
rec.line_domain_ids = self.env['benefit.expense.line'].browse([])
|
||||||
|
|
||||||
@api.onchange('branch_custom_ids')
|
@api.onchange('branch_custom_ids')
|
||||||
def _onchange_branch_custom_ids(self):
|
def _onchange_branch_custom_ids(self):
|
||||||
|
|
@ -312,7 +315,6 @@ class ConfirmBenefitExpense(models.Model):
|
||||||
self.payment_order_id.unlink()
|
self.payment_order_id.unlink()
|
||||||
self.move_id.unlink()
|
self.move_id.unlink()
|
||||||
self.benefit_expense_line_ids.unlink()
|
self.benefit_expense_line_ids.unlink()
|
||||||
self.return_expense_line_ids.write({'return_calculated': False})
|
|
||||||
self.state = 'draft'
|
self.state = 'draft'
|
||||||
|
|
||||||
def action_open_related_move_records(self):
|
def action_open_related_move_records(self):
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,6 @@ class BenefitExpenseLine(models.Model):
|
||||||
payment_order_id = fields.Many2one('payment.orders', string='Payment Order', ondelete="set null", copy=False)
|
payment_order_id = fields.Many2one('payment.orders', string='Payment Order', ondelete="set null", copy=False)
|
||||||
return_reason_id = fields.Many2one("return.reason", string="Return Reason")
|
return_reason_id = fields.Many2one("return.reason", string="Return Reason")
|
||||||
is_return = fields.Boolean(string="Is Returned?", default=False)
|
is_return = fields.Boolean(string="Is Returned?", default=False)
|
||||||
return_calculated = fields.Boolean("Return Already Calculated", default=False, copy=False)
|
|
||||||
|
|
||||||
@api.depends('family_monthly_income', 'family_monthly_clotting', 'family_monthly_meals')
|
@api.depends('family_monthly_income', 'family_monthly_clotting', 'family_monthly_meals')
|
||||||
def _compute_total_family_expenses(self):
|
def _compute_total_family_expenses(self):
|
||||||
|
|
|
||||||
|
|
@ -124,8 +124,7 @@ class ServiceRequest(models.Model):
|
||||||
payment_order_ids = fields.Many2many(comodel_name='payment.orders', relation='service_request_payment_order_rel',
|
payment_order_ids = fields.Many2many(comodel_name='payment.orders', relation='service_request_payment_order_rel',
|
||||||
column1='service_request_id',
|
column1='service_request_id',
|
||||||
column2='payment_order_id', string='Payment Orders', copy=False, )
|
column2='payment_order_id', string='Payment Orders', copy=False, )
|
||||||
payment_order_id = fields.Many2one('payment.orders', compute='_compute_payment_order', string='Payment Order',
|
payment_order_id = fields.Many2one('payment.orders', string='Payment Order', copy=False)
|
||||||
copy=False, store=True)
|
|
||||||
payment_order_count = fields.Integer(compute='_compute_payment_order', string='Number of Payment Orders')
|
payment_order_count = fields.Integer(compute='_compute_payment_order', string='Number of Payment Orders')
|
||||||
is_payment_order_done = fields.Boolean(string='Is Payment Order Done?')
|
is_payment_order_done = fields.Boolean(string='Is Payment Order Done?')
|
||||||
aid_amount = fields.Float(string='Aid Amount', compute='_get_aid_amount')
|
aid_amount = fields.Float(string='Aid Amount', compute='_get_aid_amount')
|
||||||
|
|
@ -232,10 +231,8 @@ class ServiceRequest(models.Model):
|
||||||
def _compute_payment_order(self):
|
def _compute_payment_order(self):
|
||||||
for rec in self:
|
for rec in self:
|
||||||
if rec.payment_order_ids:
|
if rec.payment_order_ids:
|
||||||
rec.payment_order_id = rec.payment_order_ids.sorted('payment_order_date', reverse=True)[0]
|
|
||||||
rec.payment_order_count = len(rec.payment_order_ids)
|
rec.payment_order_count = len(rec.payment_order_ids)
|
||||||
else:
|
else:
|
||||||
rec.payment_order_id = False
|
|
||||||
rec.payment_order_count = 0
|
rec.payment_order_count = 0
|
||||||
|
|
||||||
@api.depends('payment_order_id', 'payment_order_id.state', 'vendor_bill', 'vendor_bill.state')
|
@api.depends('payment_order_id', 'payment_order_id.state', 'vendor_bill', 'vendor_bill.state')
|
||||||
|
|
@ -246,7 +243,8 @@ class ServiceRequest(models.Model):
|
||||||
if rec.payment_order_id.state == "done":
|
if rec.payment_order_id.state == "done":
|
||||||
payment_order_state = "done"
|
payment_order_state = "done"
|
||||||
rec.service_approval_date = fields.Datetime.now()
|
rec.service_approval_date = fields.Datetime.now()
|
||||||
rec.state = 'send_request_to_supplier'
|
if rec.state == 'accounting_approve':
|
||||||
|
rec.state = 'send_request_to_supplier'
|
||||||
rec.is_payment_order_done = True
|
rec.is_payment_order_done = True
|
||||||
else:
|
else:
|
||||||
payment_order_state = "waiting"
|
payment_order_state = "waiting"
|
||||||
|
|
@ -1035,9 +1033,11 @@ class ServiceRequest(models.Model):
|
||||||
) % cat_names)
|
) % cat_names)
|
||||||
|
|
||||||
if service_cats.payment_method == "payment_order":
|
if service_cats.payment_method == "payment_order":
|
||||||
# todo ask about this condition and seasonal services
|
|
||||||
invalid_records = self.filtered(
|
invalid_records = self.filtered(
|
||||||
lambda r: r.state != 'accounting_approve')
|
lambda r: r.state != 'accounting_approve'
|
||||||
|
or r.payment_order_state != 'none'
|
||||||
|
or r.payment_order_id
|
||||||
|
)
|
||||||
|
|
||||||
if invalid_records:
|
if invalid_records:
|
||||||
names = ", ".join(invalid_records.mapped('name'))
|
names = ", ".join(invalid_records.mapped('name'))
|
||||||
|
|
@ -1057,6 +1057,7 @@ class ServiceRequest(models.Model):
|
||||||
})
|
})
|
||||||
self.write({
|
self.write({
|
||||||
'payment_order_ids': [(4, payment_order.id)],
|
'payment_order_ids': [(4, payment_order.id)],
|
||||||
|
'payment_order_id': payment_order.id,
|
||||||
})
|
})
|
||||||
|
|
||||||
elif service_cats.payment_method == "invoice":
|
elif service_cats.payment_method == "invoice":
|
||||||
|
|
|
||||||
|
|
@ -140,6 +140,7 @@
|
||||||
<field name="company_id" groups="base.group_multi_company"/>
|
<field name="company_id" groups="base.group_multi_company"/>
|
||||||
<field name="currency_id" invisible="1" groups="base.group_multi_currency"/>
|
<field name="currency_id" invisible="1" groups="base.group_multi_currency"/>
|
||||||
<field name="available_payment_method_line_ids" invisible="1"/>
|
<field name="available_payment_method_line_ids" invisible="1"/>
|
||||||
|
<field name="line_domain_ids" invisible="1"/>
|
||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
<!-- Notebook with Families page -->
|
<!-- Notebook with Families page -->
|
||||||
|
|
@ -353,7 +354,7 @@
|
||||||
</field>
|
</field>
|
||||||
</page>
|
</page>
|
||||||
<page string="Return Lines" attrs="{'invisible': [('is_return_calculation', '=', False)]}">
|
<page string="Return Lines" attrs="{'invisible': [('is_return_calculation', '=', False)]}">
|
||||||
<field name="return_expense_line_ids" widget="many2many" domain="[('family_id', 'in', family_domain_ids)]"
|
<field name="return_expense_line_ids" widget="many2many" domain="[('id', 'in', line_domain_ids)]"
|
||||||
attrs="{'readonly':[('state', '!=', 'draft')]}">
|
attrs="{'readonly':[('state', '!=', 'draft')]}">
|
||||||
<tree>
|
<tree>
|
||||||
<field name="family_id"/>
|
<field name="family_id"/>
|
||||||
|
|
|
||||||
|
|
@ -102,7 +102,7 @@
|
||||||
type="object"
|
type="object"
|
||||||
string="Bank Return"
|
string="Bank Return"
|
||||||
class="btn btn-danger"
|
class="btn btn-danger"
|
||||||
attrs="{'invisible': ['|',('return_reason_id', '!=', False),('parent.state', '!=', 'done')]}"
|
attrs="{'invisible': ['|',('state', '!=', 'accounting_approve'),('parent.state', '!=', 'waiting_deposit')]}"
|
||||||
/>
|
/>
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
|
|
@ -143,7 +143,7 @@
|
||||||
type="object"
|
type="object"
|
||||||
string="Bank Return"
|
string="Bank Return"
|
||||||
class="btn btn-danger"
|
class="btn btn-danger"
|
||||||
attrs="{'invisible': ['|',('is_return', '=', True),('parent.state', '!=', 'done')]}"
|
attrs="{'invisible': ['|',('is_return', '=', True),('parent.state', '!=', 'waiting_deposit')]}"
|
||||||
/>
|
/>
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
|
|
|
||||||
|
|
@ -32,5 +32,6 @@ class ReturnReasonWizard(models.TransientModel):
|
||||||
record.is_return = True
|
record.is_return = True
|
||||||
if self.line_model == "service.request" and hasattr(record, "state"):
|
if self.line_model == "service.request" and hasattr(record, "state"):
|
||||||
record.state = "return_to_bank"
|
record.state = "return_to_bank"
|
||||||
|
record.payment_order_id = False
|
||||||
|
|
||||||
return {'type': 'ir.actions.act_window_close'}
|
return {'type': 'ir.actions.act_window_close'}
|
||||||
Loading…
Reference in New Issue