Merge pull request #4747 from expsa/younes_dev_odex25_ensan

IMP benefit
This commit is contained in:
kchyounes19 2025-09-25 13:29:24 +01:00 committed by GitHub
commit 9a290208f2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 34 additions and 15 deletions

View File

@ -6753,6 +6753,11 @@ msgstr "متاح "
msgid "Is Benefit?"
msgstr "هل هو مستفيد؟"
#. module: odex_benefit
#: model:ir.model.fields,field_description:odex_benefit.field_benefit_category__is_benefit
msgid "Is Benefit?"
msgstr "الاسرة مستفيدة؟"
#. module: odex_benefit
#: model:ir.model.fields,field_description:odex_benefit.field_craft_skills__is_capital
#: model:ir.model.fields,field_description:odex_benefit.field_training_inclinations__is_capital
@ -15608,4 +15613,10 @@ msgstr "الأفراد غير المستفيدين"
#. module: odex_benefit
#: model_terms:ir.ui.view,arch_db:odex_benefit.grant_benefit_form
msgid "<span class=\"o_stat_text\">Monthly expense</span>"
msgstr "<span class=\"o_stat_text\">المصروف الشهري</span>"
msgstr "<span class=\"o_stat_text\">المصروف الشهري</span>"
#. module: odex_benefit
#: code:addons/odex_benefit/models/benefit.py:0
#, python-format
msgid "The procedure cannot be continued; the family is not a beneficiary."
msgstr "لا يمكن متابعة الإجراء، الأسرة غير مستفيدة."

View File

@ -1339,13 +1339,10 @@ class GrantBenefitProfile(models.Model):
self.partner_id.send_sms_notification(message, self.phone)
for rec in self:
visits = self.env['visit.location'].search([('benefit_id', '=', rec.id),('state', 'not in', ['close', 'done'])])
if rec.action_type == 'new' and not rec.benefit_category_id.is_benefit:
raise ValidationError(_("The procedure cannot be continued; the family is not a beneficiary."))
if rec.action_type == 'new' and visits:
raise ValidationError(_("Please complete your pending visits before proceeding."))
# if not rec.benefit_category_id and not rec.member_income:
# raise ValidationError(_("يرجى اكمال ادخال او الموافقة على القيم المرتبطة ببيانات الدخل والمرتب والالتزامات لتحديد فئة الاسرة بشكل صحيح"))
#
# if rec.member_income == 0.0:
# raise ValidationError(_("يرجى اكمال ادخال او الموافقة على القيم المرتبطة ببيانات الدخل والمرتب والالتزامات لتحديد فئة الاسرة بشكل صحيح"))
rec.validate_attachments()
self.state = 'waiting_approve'
@ -1988,14 +1985,21 @@ class GrantBenefitProfile(models.Model):
@api.depends("member_income")
def get_benefit_category(self):
for rec in self:
result = self.env['benefit.category'].sudo().search(
[('mini_income_amount', '<=', rec.member_income),
('max_income_amount', '>=', rec.member_income)])
if result:
rec.benefit_category_id = result.id
else:
rec.benefit_category_id = None
default_category = self.env['benefit.category'].sudo().search(
[('is_benefit', '=', False)], limit=1
)
for record in self:
if record.benefit_member_count <= 0:
record.benefit_category_id = default_category.id if default_category else False
continue
category = self.env['benefit.category'].sudo().search(
[
('mini_income_amount', '<=', record.member_income),
('max_income_amount', '>=', record.member_income)
],
limit=1
)
record.benefit_category_id = category.id if category else default_category.id
def open_followers(self):
context = {}

View File

@ -24,6 +24,7 @@ class BenefitCategory(models.Model):
mini_income_amount = fields.Float(string="Min Income Amount")
max_income_amount = fields.Float(string="Max Income Amount")
expenses_ids = fields.One2many('expenses.line', 'category_id')
is_benefit = fields.Boolean(string="Is Benefit?",default=True)
state = fields.Selection([('draft', 'Draft'),
('approve', 'Approved'),
('rejected', 'Rejected'), ], default='draft')

View File

@ -40,6 +40,9 @@
<!-- <field name="age_to" attrs="{'readonly':[('state','!=','draft')],'required':True}"/>-->
<!-- <p>Year</p>-->
<!-- </group>-->
<group>
<field name="is_benefit" widget="boolean_toggle"/>
</group>
<group>
<field name="expenses_ids">
<tree editable="bottom">
@ -61,7 +64,7 @@
<field name="name"/>
<field name="mini_income_amount"/>
<field name="max_income_amount"/>
<!-- <field name="gender"/>-->
<field name="is_benefit" widget="boolean_toggle"/>
</tree>
</field>
</record>