Marriage Service

This commit is contained in:
eman 2024-11-24 22:07:39 +02:00
parent 3fcd0343c9
commit 6f86a53af0
5 changed files with 49 additions and 4 deletions

View File

@ -112,6 +112,9 @@ class ServiceRequest(models.Model):
max_hospitals_transportation_amount = fields.Float(string='Max Hospitals Transportation Amount')
max_programs_transportation_amount = fields.Float(string='Max Programs Transportation Amount')
requests_counts = fields.Integer(string='Requests Counts',default = 1)
# Marriage
member_age = fields.Integer(string="Member Age", related="member_id.age")
member_payroll = fields.Float(string="Member Payroll", related="member_id.member_income")
state = fields.Selection( selection = [
('draft', 'Draft'),
('researcher', 'Researcher'),
@ -406,6 +409,15 @@ class ServiceRequest(models.Model):
furnishing_cost_sum += rec.furnishing_cost
self.requested_service_amount = furnishing_cost_sum
@api.onchange('member_id')
def _onchange_member(self):
for rec in self:
if rec.member_id:
rec.requested_service_amount = rec.service_cat.fatherless_member_amount
if not rec.member_id.benefit_id.add_replacement_mother and rec.member_id.benefit_id.mother_marital_conf.is_dead:
rec.requested_service_amount = rec.service_cat.orphan_member_amount
if rec.member_id.benefit_id.add_replacement_mother and rec.member_id.benefit_id.replacement_mother_marital_conf.is_dead:
rec.requested_service_amount = rec.service_cat.orphan_member_amount
@api.onchange('service_cat','family_id')
def _onchange_service_cat(self):
electricity_bill_amount = self.service_cat.electricity_bill_lines.filtered(lambda x : x.benefit_category_id.id == self.family_category.id and x.max_count_member > self.benefit_member_count > x.min_count_member )
@ -758,7 +770,7 @@ class ServiceRequest(models.Model):
# '|', '|',
# ('rent_lines.benefit_category_id', 'in', [self.family_category.id]),
# ('home_restoration_lines.benefit_category_id', 'in', [self.family_category.id]),
# ('benefit_category_ids', 'in', [self.family_category.id]),
('benefit_category_ids', 'in', [self.family_category.id]),
('is_main_service', '=', False),
('service_type', '!=', False),
('parent_service', '=', self.sub_service_category.id),

View File

@ -16,7 +16,7 @@ class ServicesSettings(models.Model):
,('electricity_bill','Electricity bill'),('water_bill','Water bill'),('buy_car','Buy Car'),('recruiting_driver','Recruiting Driver')
,('transportation_insurance','Transportation Insurance'),('debits','Debits'),('health_care','Health Care'),
('providing_medicines_medical_devices_and_needs_the_disabled','Providing Medicines Medical Devices And Needs The Disabled'),
('recruiting_domestic_worker_or_nurse','Recruiting a domestic worker or nurse')]
('recruiting_domestic_worker_or_nurse','Recruiting a domestic worker or nurse') ,('marriage','Marriage')]
,string='Service Type')
max_amount_for_student = fields.Float(string='Max Amount for Student')
raise_amount_for_orphan = fields.Float(string='Raise Amount For Orphan')
@ -59,6 +59,11 @@ class ServicesSettings(models.Model):
max_health_care_amount = fields.Float(string='Max Health Care Amount In Year')
#recruiting_domestic_worker_or_nurse
max_recruiting_domestic_worker_or_nurse_amount = fields.Float(string='Max Recruiting Domestic Worker Or Nurse Care Amount')
# Marriage
member_max_age = fields.Integer(string='Member Max Age')
member_max_payroll = fields.Float(string='Member Max Payroll')
fatherless_member_amount = fields.Float(string='Fatherless Member Amount')
orphan_member_amount = fields.Float(string='Orphan Member Amount')
class RentLines(models.Model):
_name = 'rent.lines'

View File

@ -227,6 +227,12 @@
<field name="requests_counts"/>
</group>
</page>
<page string="Marriage Service" attrs="{'invisible':[('service_type','!=','marriage')]}">
<group>
<field name="member_age"/>
<field name="member_payroll"/>
</group>
</page>
</notebook>
</sheet>
<div class="oe_chatter">

View File

@ -172,7 +172,15 @@
<field name="max_recruiting_domestic_worker_or_nurse_amount"/>
</group>
</page>
<page string="Marriage Settings" attrs="{'invisible':[('service_type','!=','marriage')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="member_max_age"/>
<field name="member_max_payroll"/>
<field name="fatherless_member_amount"/>
<field name="orphan_member_amount"/>
</group>
</page>
</notebook>
</sheet>
</form>

View File

@ -44,7 +44,7 @@ class ServiceRequestInherit(models.Model):
date_before_month = today - timedelta(days=30)
for rec in self:
# Validation for 'member' benefit type
if rec.benefit_type == 'member' and rec.requested_service_amount:
if rec.benefit_type == 'member' and rec.service_cat.service_type == 'rent':
max_requested_amount = rec.service_cat.max_amount_for_student
if rec.requested_service_amount > max_requested_amount:
self.benefit_type = False
@ -322,3 +322,17 @@ class ServiceRequestInherit(models.Model):
'message': _(
"You cannot request more than %s within year") % rec.service_cat.max_recruiting_domestic_worker_or_nurse_amount}
return res
if rec.benefit_type == 'member' and rec.service_cat.service_type == 'marriage':
if rec.member_age > rec.service_cat.member_max_age:
self.benefit_type = False
res['warning'] = {'title': _('ValidationError'),
'message': _(
"Member Age should be less than %s ") % rec.service_cat.member_max_age}
return res
if rec.member_payroll > rec.service_cat.member_max_payroll:
self.benefit_type = False
res['warning'] = {'title': _('ValidationError'),
'message': _(
"Member Payroll should be less than %s ") % rec.service_cat.member_max_payroll}
return res