commit
02dca6f7cd
|
|
@ -121,6 +121,8 @@ class ServiceRequest(models.Model):
|
|||
], string='Has Marriage Course')
|
||||
#Eid Gift
|
||||
eid_gift_benefit_count = fields.Integer(string='Eid Gift Benefit Count',compute="_get_eid_gift_benefit_count")
|
||||
#Buy home
|
||||
amount_for_buy_home_for_member_count = fields.Float(string="Amount For Buy Home for member count",compute='_get_amount_for_buy_home')
|
||||
state = fields.Selection( selection = [
|
||||
('draft', 'Draft'),
|
||||
('researcher', 'Researcher'),
|
||||
|
|
@ -199,7 +201,7 @@ class ServiceRequest(models.Model):
|
|||
if 'new_rent_start_date' in vals:
|
||||
update_values['rent_start_date'] = vals['new_rent_start_date']
|
||||
if 'new_rent_end_date' in vals:
|
||||
update_values['rent_end_date'] = vals['new_rent_end_date']
|
||||
update_values['rent_end_date'] = vals['new_rent_end_date']
|
||||
if 'new_rent_amount' in vals:
|
||||
update_values['rent_amount'] = vals['new_rent_amount']
|
||||
if 'new_payment_type' in vals:
|
||||
|
|
@ -355,6 +357,13 @@ class ServiceRequest(models.Model):
|
|||
rec.max_universities_training_institutes_transportation_amount = rec.requests_counts * rec.service_cat.max_universities_training_institutes_transportation_amount
|
||||
rec.max_hospitals_transportation_amount = rec.requests_counts * rec.service_cat.max_hospitals_transportation_amount
|
||||
rec.max_programs_transportation_amount = rec.requests_counts * rec.service_cat.max_programs_transportation_amount
|
||||
@api.depends('service_cat','family_id')
|
||||
def _get_amount_for_buy_home(self):
|
||||
for rec in self:
|
||||
rec.amount_for_buy_home_for_member_count = 0
|
||||
if rec.service_type == 'buy_home':
|
||||
rec.amount_for_buy_home_for_member_count = (rec.service_cat.buy_home_lines.filtered(lambda x : x.min_count_member <= rec.benefit_member_count <= rec.benefit_member_count)).amount_for_buy_home
|
||||
|
||||
def action_for_researcher(self):
|
||||
for rec in self:
|
||||
rec.state = 'researcher'
|
||||
|
|
@ -758,7 +767,43 @@ class ServiceRequest(models.Model):
|
|||
if rec.benefit_type == 'family' and rec.service_cat.service_type == 'eid_gift':
|
||||
if rec.eid_gift_benefit_count == 0:
|
||||
raise UserError(_("You cannot request this service"))
|
||||
|
||||
# Validation for 'family' benefit type with 'natural_disasters' service type
|
||||
if rec.benefit_type == 'family' and rec.service_cat.service_type == 'natural_disasters':
|
||||
if rec.requested_service_amount > rec.service_cat.natural_disasters_max_amount:
|
||||
self.benefit_type = False
|
||||
res['warning'] = {'title': _('ValidationError'),
|
||||
'message': _(
|
||||
"You cannot request more than %s") % rec.service_cat.natural_disasters_max_amount}
|
||||
return res
|
||||
# Validation for 'family' benefit type with 'legal_arguments' service type
|
||||
if rec.benefit_type == 'family' and rec.service_cat.service_type == 'legal_arguments':
|
||||
if rec.requested_service_amount > rec.service_cat.legal_arguments_max_amount:
|
||||
self.benefit_type = False
|
||||
res['warning'] = {'title': _('ValidationError'),
|
||||
'message': _(
|
||||
"You cannot request more than %s") % rec.service_cat.legal_arguments_max_amount}
|
||||
return res
|
||||
# Validation for 'family' benefit type with 'buy_home' service type
|
||||
if rec.benefit_type == 'family' and rec.service_cat.service_type == 'buy_home':
|
||||
# Search for existing requests
|
||||
existing_buy_home_requests = self.search([('family_id', '=', self.family_id.id),
|
||||
('service_cat.service_type', '=', 'buy_home'),
|
||||
('id', '!=', self._origin.id)])
|
||||
existing_home_restoration_requests = self.search([('family_id', '=', self.family_id.id),
|
||||
('service_cat.service_type', '=',
|
||||
'home_restoration'),
|
||||
('id', '!=', self._origin.id)])
|
||||
if rec.requested_service_amount > rec.service_cat.buy_home_max_total_amount:
|
||||
self.benefit_type = False
|
||||
res['warning'] = {'title': _('ValidationError'),
|
||||
'message': _(
|
||||
"You cannot request more than %s") % rec.service_cat.buy_home_max_total_amount}
|
||||
return res
|
||||
if existing_buy_home_requests:
|
||||
raise UserError(_("You cannot request this service Again"))
|
||||
if existing_home_restoration_requests:
|
||||
raise UserError(
|
||||
_("You cannot request this service Again Because you request Home restoration service"))
|
||||
|
||||
@api.onchange('requested_quantity','benefit_type')
|
||||
def onchange_requested_quantity(self):
|
||||
|
|
|
|||
|
|
@ -17,7 +17,8 @@ class ServicesSettings(models.Model):
|
|||
,('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') ,('marriage','Marriage'),('eid_gift','Eid gift'),
|
||||
('winter_clothing','Winter clothing'),('ramadan_basket','Ramadan basket'),('natural_disasters','Natural disasters'),('legal_arguments','Legal arguments')]
|
||||
('winter_clothing','Winter clothing'),('ramadan_basket','Ramadan basket'),('natural_disasters','Natural disasters'),
|
||||
('legal_arguments','Legal arguments'),('buy_home','Buy Home')]
|
||||
,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')
|
||||
|
|
@ -76,8 +77,9 @@ class ServicesSettings(models.Model):
|
|||
natural_disasters_max_amount = fields.Float(string='Natural disasters Max Amount')
|
||||
# Legal Arguments
|
||||
legal_arguments_max_amount = fields.Float(string='Legal Arguments Max Amount')
|
||||
|
||||
|
||||
#Buy Home
|
||||
buy_home_lines = fields.One2many('buy.home.lines', 'services_settings_id')
|
||||
buy_home_max_total_amount = fields.Float(string='Buy Home Max Total Amount')
|
||||
|
||||
class RentLines(models.Model):
|
||||
_name = 'rent.lines'
|
||||
|
|
@ -129,6 +131,7 @@ class ElectricityBillLines(models.Model):
|
|||
max_count_member = fields.Integer(string='To')
|
||||
max_amount_for_electricity_bill = fields.Float(string='Max Amount For Electricity Bill')
|
||||
services_settings_id = fields.Many2one('services.settings', string='Services Settings')
|
||||
|
||||
class WaterBillLines(models.Model):
|
||||
_name = 'water.bill.lines'
|
||||
|
||||
|
|
@ -138,4 +141,11 @@ class WaterBillLines(models.Model):
|
|||
max_amount_for_water_bill = fields.Float(string='Max Amount For Electricity Bill')
|
||||
services_settings_id = fields.Many2one('services.settings', string='Services Settings')
|
||||
|
||||
class BuyHomeLines(models.Model):
|
||||
_name = 'buy.home.lines'
|
||||
|
||||
min_count_member = fields.Integer(string='From')
|
||||
max_count_member = fields.Integer(string='To')
|
||||
amount_for_buy_home = fields.Float(string='Amount For Buy Home')
|
||||
services_settings_id = fields.Many2one('services.settings', string='Services Settings')
|
||||
|
||||
|
|
|
|||
|
|
@ -137,4 +137,5 @@ access_electricity_bill_lines,access_electricity_bill_lines,model_electricity_bi
|
|||
access_water_bill_lines,access_water_bill_lines,model_water_bill_lines,base.group_user,1,1,1,1
|
||||
access_age_category,access_age_category,model_age_category,base.group_user,1,1,1,1
|
||||
access_complaints_category,access_complaints_category,model_complaints_category,base.group_user,1,1,1,1
|
||||
access_family_complaints,access_family_complaints,model_family_complaints,base.group_user,1,1,1,1
|
||||
access_family_complaints,access_family_complaints,model_family_complaints,base.group_user,1,1,1,1
|
||||
access_buy_home_lines,access_buy_home_lines,model_buy_home_lines,base.group_user,1,1,1,1
|
||||
|
|
|
@ -84,6 +84,7 @@
|
|||
('service_type', '=', 'eid_gift'),
|
||||
('service_type', '=', 'winter_clothing'),
|
||||
('service_type', '=', 'ramadan_basket')]}" force_save="1" required="1" />
|
||||
<field name="amount_for_buy_home_for_member_count" attrs="{'invisible':[('service_type','!=','buy_home')]}"/>
|
||||
<field name="max_electricity_bill_amount" readonly="1" force_save="1" attrs="{'invisible':[('service_type','!=','electricity_bill')]}"/>
|
||||
<field name="max_water_bill_amount" readonly="1" force_save="1" attrs="{'invisible':[('service_type','!=','water_bill')]}"/>
|
||||
<field name="aid_amount" invisible="1"/>
|
||||
|
|
|
|||
|
|
@ -212,7 +212,19 @@
|
|||
<field name="legal_arguments_max_amount"/>
|
||||
</group>
|
||||
</page>
|
||||
|
||||
<page string="Buy Car Settings" attrs="{'invisible':[('service_type','!=','buy_home')]}">
|
||||
<group>
|
||||
<field name="benefit_category_ids" widget="many2many_tags"/>
|
||||
<field name="buy_home_max_total_amount"/>
|
||||
</group>
|
||||
<field name="buy_home_lines" widget="one2many_list">
|
||||
<tree editable="bottom">
|
||||
<field name="min_count_member"/>
|
||||
<field name="max_count_member"/>
|
||||
<field name="amount_for_buy_home"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -360,6 +360,26 @@ class ServiceRequestInherit(models.Model):
|
|||
res['warning'] = {'title': _('ValidationError'),
|
||||
'message': _("You cannot request more than %s") % rec.service_cat.legal_arguments_max_amount}
|
||||
return res
|
||||
# Validation for 'family' benefit type with 'buy_home' service type
|
||||
if rec.benefit_type == 'family' and rec.service_cat.service_type == 'buy_home':
|
||||
# Search for existing requests
|
||||
existing_buy_home_requests = self.search([('family_id', '=', self.family_id.id),
|
||||
('service_cat.service_type', '=','buy_home'),
|
||||
('id', '!=', self._origin.id)])
|
||||
existing_home_restoration_requests = self.search([('family_id', '=', self.family_id.id),
|
||||
('service_cat.service_type', '=', 'home_restoration'),
|
||||
('id', '!=', self._origin.id)])
|
||||
if rec.requested_service_amount > rec.service_cat.buy_home_max_total_amount:
|
||||
self.benefit_type = False
|
||||
res['warning'] = {'title': _('ValidationError'),
|
||||
'message': _(
|
||||
"You cannot request more than %s") % rec.service_cat.buy_home_max_total_amount}
|
||||
return res
|
||||
if existing_buy_home_requests:
|
||||
raise UserError(_("You cannot request this service Again"))
|
||||
if existing_home_restoration_requests:
|
||||
raise UserError(_("You cannot request this service Again Because you request Home restoration service"))
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue