[IMP] odex_benefit: Service Request Beneficiary Type
This commit is contained in:
parent
308bbac2e6
commit
7944857ef0
|
|
@ -15880,11 +15880,6 @@ msgstr "شروط الاستحقاق"
|
|||
msgid "Family Service Receipt"
|
||||
msgstr "الاستلام الاسرة للخدمة"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: model:ir.model.fields.selection,name:odex_benefit.selection__services_settings__benefit_type__both
|
||||
msgid "Both"
|
||||
msgstr "مشترك"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_services_settings__allow_non_beneficiary
|
||||
msgid "Allow Non Beneficiary"
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ class ServiceRequest(models.Model):
|
|||
name = fields.Char(string='Reference', required=True, copy=False, readonly=True, index=True,default=lambda self: _('New'))
|
||||
benefit_type = fields.Selection(string='Benefit Type',selection=[('family', 'Family'),('member', 'Member')])
|
||||
date = fields.Datetime(string='Request Date',default=fields.Datetime.now)
|
||||
family_id = fields.Many2one('grant.benefit',string='Family',domain="['|',('state','=','gm_assistant'),'&',('state','in',['waiting_approve','first_approve']),('action_type','=','suspended')]")
|
||||
family_id = fields.Many2one('grant.benefit',string='Family',domain="['|',('state','=','second_approve'),'&',('state','in',['waiting_approve','first_approve']),('action_type','=','suspended')]")
|
||||
researcher_id = fields.Many2one("committees.line", string="Researcher", related="family_id.researcher_id",store=True)
|
||||
family_category = fields.Many2one('benefit.category',string='Family Category',related='family_id.benefit_category_id')
|
||||
benefit_member_count = fields.Integer(string="Benefit Member count", related='family_id.benefit_member_count')
|
||||
|
|
@ -533,6 +533,7 @@ class ServiceRequest(models.Model):
|
|||
def _onchange_member(self):
|
||||
for rec in self:
|
||||
if rec.family_id:
|
||||
rec.benefit_type = rec.service_cat.benefit_type
|
||||
if rec.benefit_type == 'family' and rec.service_type == 'eid_gift':
|
||||
rec.requested_service_amount = rec.eid_gift_benefit_count * rec.service_cat.eid_gift_member_amount
|
||||
if rec.benefit_type == 'member' and rec.service_type == 'eid_gift':
|
||||
|
|
@ -853,28 +854,17 @@ class ServiceRequest(models.Model):
|
|||
raise UserError(
|
||||
"The Start Date and End Date must be within the Rent Start Date and Rent End Date range.")
|
||||
|
||||
@api.depends('family_category','member_id')
|
||||
@api.depends('family_category')
|
||||
def _compute_available_service_cats(self):
|
||||
for rec in self:
|
||||
if rec.benefit_type:
|
||||
if rec.benefit_type == 'family':
|
||||
domain = [('service_type', '!=', 'main_service'),('benefit_type','!=','member'),('benefit_category_ids', 'in', [rec.family_category.id])]
|
||||
if rec.family_id.property_type not in ['ownership','ownership_shared','charitable']:
|
||||
domain.append(('service_type','!=','home_restoration'))
|
||||
else:
|
||||
domain.append(('service_type', '!=', 'buy_home'))
|
||||
rec.available_service_cats = rec.available_service_cats.sudo().search(domain)
|
||||
elif rec.benefit_type == 'member' and rec.member_id:
|
||||
domain = [
|
||||
('service_type', '!=', 'main_service'),
|
||||
('benefit_type', '!=', 'family'),
|
||||
('benefit_category_ids', 'in', [rec.family_category.id])
|
||||
]
|
||||
if rec.member_id.member_status != 'benefit':
|
||||
domain.append(('allow_non_beneficiary','=',True))
|
||||
rec.available_service_cats = rec.available_service_cats.sudo().search(domain)
|
||||
else:
|
||||
rec.available_service_cats = False
|
||||
domain = [('service_type', '!=', 'main_service'),('benefit_category_ids', 'in', [rec.family_category.id])]
|
||||
if rec.family_id.property_type not in ['ownership','ownership_shared','charitable']:
|
||||
domain.append(('service_type','!=','home_restoration'))
|
||||
else:
|
||||
domain.append(('service_type', '!=', 'buy_home'))
|
||||
rec.available_service_cats = rec.available_service_cats.sudo().search(domain)
|
||||
#if rec.member_id.member_status != 'benefit':
|
||||
# domain.append(('allow_non_beneficiary','=',True))
|
||||
|
||||
def action_set_to_draft(self):
|
||||
for rec in self:
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ class ServicesSettings(models.Model):
|
|||
_order = 'service_number'
|
||||
|
||||
service_name = fields.Char(string='Service Name')
|
||||
benefit_type = fields.Selection(string='Benefit Type', selection=[('family', 'Family'), ('member', 'Member'), ('both', 'Both')],default='both')
|
||||
benefit_type = fields.Selection(string='Benefit Type', selection=[('family', 'Family'), ('member', 'Member')])
|
||||
parent_service = fields.Many2one('services.settings',string='Parent Service')
|
||||
is_main_service = fields.Boolean(string='Is Main Service?')
|
||||
is_service_producer = fields.Boolean(string='Is Service Producer?')
|
||||
|
|
|
|||
|
|
@ -170,9 +170,7 @@
|
|||
<field name="date"
|
||||
attrs="{'readonly':[('state','not in',['draft','researcher','waiting_approve'])]}"
|
||||
required="1"/>
|
||||
<field name="benefit_type"
|
||||
attrs="{'readonly':[('state','not in',['draft','researcher','waiting_approve'])]}"
|
||||
required="1"/>
|
||||
<field name="benefit_type" readonly="1" force_save="1"/>
|
||||
<field name="family_id"
|
||||
attrs="{'readonly':[('state','not in',['draft','researcher','waiting_approve'])]}"
|
||||
required="1"/>
|
||||
|
|
|
|||
Loading…
Reference in New Issue