Rent Customization
This commit is contained in:
parent
78ad0d2a48
commit
5aeede809b
|
|
@ -688,4 +688,10 @@ class ServiceAttachmentsSettings(models.Model):
|
|||
service_type = fields.Selection([('rent', 'Rent'),('home_restoration', 'Home Restoration'),('alternative_housing', 'Alternative Housing'),('home_maintenance','Home Maintenance')],string='Service Type',related="service_id.service_type")
|
||||
service_id = fields.Many2one('services.settings',string='Service')
|
||||
service_request_id = fields.Many2one('service.request',string='Service Request')
|
||||
notes = fields.Text(string='Notes')
|
||||
notes = fields.Text(string='Notes')
|
||||
|
||||
class HomeMaintenanceItems(models.Model):
|
||||
_name = 'home.maintenance.items'
|
||||
|
||||
maintenance_items_id = fields.Many2one('home.maintenance.lines', string="Maintenance Items")
|
||||
service_request_id = fields.Many2one('service.request',string='Service Request')
|
||||
|
|
@ -72,10 +72,11 @@ class ServiceRequest(models.Model):
|
|||
service_producer_id = fields.Many2one('res.partner',string='Service Producer',related='service_cat.service_producer_id')
|
||||
is_service_producer = fields.Boolean(string='Is Service Producer?',related='service_cat.is_service_producer')
|
||||
benefit_category_ids = fields.Many2many('benefit.category', string='Allowed Categories',related='')
|
||||
maintenance_items_id = fields.Many2one('home.maintenance.lines', string="Maintenance Items")
|
||||
# maintenance_items_id = fields.Many2one('home.maintenance.lines', string="Maintenance Items")
|
||||
maintenance_items_ids = fields.One2many('home.maintenance.items','service_request_id', string="Maintenance Items",)
|
||||
#Home restoration fields
|
||||
restoration_max_amount = fields.Float(string='Restoration Max Amount',compute='_get_restoration_max_amount')
|
||||
has_money_to_pay_first_payment = fields.Boolean(string='Has money to pay first payment?')
|
||||
has_money_to_pay_first_payment = fields.Selection([('yes', 'Yes'), ('no', 'No')],string='Has money to pay first payment?')
|
||||
has_money_field_is_appearance = fields.Boolean(string='Has money Field is appearance?',compute='_get_money_field_is_appearance')
|
||||
state = fields.Selection([
|
||||
('draft', 'Draft'),
|
||||
|
|
|
|||
|
|
@ -126,4 +126,5 @@ access_service_request,access_service_request,model_service_request,base.group_u
|
|||
access_marital_status,access_marital_status,model_marital_status,base.group_user,1,1,1,1
|
||||
access_service_attachments_settings,access_service_attachments_settings,model_service_attachments_settings,base.group_user,1,1,1,1
|
||||
access_home_restoration_lines,access_home_restoration_lines,model_home_restoration_lines,base.group_user,1,1,1,1
|
||||
access_home_maintenance_lines,access_home_maintenance_lines,model_home_maintenance_lines,base.group_user,1,1,1,1
|
||||
access_home_maintenance_lines,access_home_maintenance_lines,model_home_maintenance_lines,base.group_user,1,1,1,1
|
||||
access_home_maintenance_items,access_home_maintenance_items,model_home_maintenance_items,base.group_user,1,1,1,1
|
||||
|
|
|
@ -142,15 +142,17 @@
|
|||
</form>
|
||||
</page>
|
||||
<page string="Maintenance Service" attrs="{'invisible':[('service_type', '!=', 'home_maintenance')]}">
|
||||
<group>
|
||||
<field name="maintenance_items_id"/>
|
||||
</group>
|
||||
<field name="maintenance_items_ids" widget="one2many_list">
|
||||
<tree editable="bottom">
|
||||
<field name="maintenance_items_id"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Home Restoration Service" attrs="{'invisible':[('service_type', '!=', 'home_restoration')]}">
|
||||
<group>
|
||||
<field name="restoration_max_amount"/>
|
||||
<field name="has_money_field_is_appearance" invisible="1"/>
|
||||
<field name="has_money_to_pay_first_payment" widget="boolean_toggle" attrs="{'invisible':[('has_money_field_is_appearance', '=', False)]}"/>
|
||||
<field name="has_money_to_pay_first_payment" attrs="{'invisible':[('has_money_field_is_appearance', '=', False)],'required':[('has_money_field_is_appearance', '=', True)]}"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
'website': 'http://exp-sa.com',
|
||||
'license': 'GPL-3',
|
||||
'author': 'Expert Ltd',
|
||||
'depends': ['odex_benefit'],
|
||||
'depends': ['odex_benefit','project_base'],
|
||||
'data': ['views/services_settings_inherit.xml',
|
||||
'views/project_project_inherit.xml',
|
||||
'views/service_request_inherit.xml',
|
||||
|
|
|
|||
|
|
@ -10,6 +10,27 @@ class ProjectProjectInherit(models.Model):
|
|||
has_money_to_pay_first_payment = fields.Boolean(string='Has money to pay first payment?')
|
||||
is_family_need_evacuate = fields.Boolean(string='Is family need evacuate?')
|
||||
service_type = fields.Selection([('rent', 'Rent'),('home_restoration', 'Home Restoration'),('alternative_housing', 'Alternative Housing'),('home_maintenance','Home Maintenance')],string='Service Type')
|
||||
service_requests_count = fields.Integer(
|
||||
string="Service Requests",
|
||||
compute='_compute_service_requests_count'
|
||||
)
|
||||
|
||||
def _compute_service_requests_count(self):
|
||||
for rec in self:
|
||||
# Replace `related_field_ids` with the actual field
|
||||
# holding the relationship (e.g., a One2many field)
|
||||
rec.service_requests_count = self.env['service.request'].search_count([('project_id','=',rec.id)])
|
||||
|
||||
def action_view_related_records(self):
|
||||
return {
|
||||
'name': 'Services Requests',
|
||||
'type': 'ir.actions.act_window',
|
||||
'res_model': 'service.request', # replace with the actual model name
|
||||
'view_mode': 'tree,form',
|
||||
'domain': [('project_id', '=', self.id)], # adjust the domain as needed
|
||||
'context': {'create': False},
|
||||
'target': 'current',
|
||||
}
|
||||
def create_alternative_housing_request(self):
|
||||
for rec in self:
|
||||
alternative_housing_request = self.env['service.request'].create(
|
||||
|
|
@ -17,6 +38,7 @@ class ProjectProjectInherit(models.Model):
|
|||
'family_id': self.env['grant.benefit'].search([('partner_id','=',rec.beneficiary_id.id)]).id,
|
||||
'benefit_type':'family',
|
||||
'service_cat': self.env['services.settings'].search([('service_type','=','alternative_housing')],limit=1).id,
|
||||
'project_id': self.id
|
||||
}
|
||||
)
|
||||
alternative_housing_request.write({
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ class ServiceRequestInherit(models.Model):
|
|||
project_id = fields.Many2one('project.project',srting='Project')
|
||||
rent_period = fields.Integer('Rent Period')
|
||||
|
||||
def action_second_approve(self):
|
||||
super(ServiceRequestInherit, self).action_second_approve()
|
||||
def action_accounting_approve(self):
|
||||
super(ServiceRequestInherit, self).action_accounting_approve()
|
||||
for rec in self:
|
||||
if rec.service_cat.project_create:
|
||||
project = self.env['project.project'].create(
|
||||
|
|
|
|||
|
|
@ -6,15 +6,21 @@
|
|||
<field name="model">project.project</field>
|
||||
<field name="inherit_id" ref="project.edit_project"/>
|
||||
<field name="arch" type="xml">
|
||||
<div class="oe_button_box" position="inside">
|
||||
<button class="oe_stat_button" type="object" name="action_view_related_records" icon="fa-list-ol">
|
||||
<field name="service_requests_count" widget="statinfo" string="Services Requests"/>
|
||||
</button>
|
||||
|
||||
</div>
|
||||
<xpath expr="//page[@name='settings']" position="after">
|
||||
<page string="Home Restoration Service" attrs="{'invisible':[('service_type', '!=', 'home_restoration')]}">
|
||||
<group>
|
||||
<field name="service_type"/>
|
||||
<field name="service_type" readonly="1" force_save="1"/>
|
||||
<field name="requested_service_amount"/>
|
||||
<field name="restoration_max_amount"/>
|
||||
<field name="has_money_field_is_appearance" invisible="1"/>
|
||||
<field name="has_money_to_pay_first_payment" widget="boolean_toggle" attrs="{'invisible':[('has_money_field_is_appearance', '=', False)]}"/>
|
||||
<field name="is_family_need_evacuate"/>
|
||||
<field name="is_family_need_evacuate" groups="project_base.group_project_department_manager"/>
|
||||
</group>
|
||||
</page>
|
||||
</xpath>
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@
|
|||
<field name="inherit_id" ref="odex_benefit.service_request_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='requested_service_amount']" position="after">
|
||||
<field name="rent_period" required="1"/>
|
||||
<field name="project_id" readonly="1"/>
|
||||
<field name="rent_period" attrs="{'invisible': [('service_type', '!=', 'alternative_housing')],'required':[('service_type', '=','alternative_housing')]}"/>
|
||||
<field name="project_id" readonly="1" attrs="{'invisible': [('state','!=','accounting_approve')]}"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
|||
|
|
@ -6,9 +6,11 @@
|
|||
<field name="model">services.settings</field>
|
||||
<field name="inherit_id" ref="odex_benefit.services_settings_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='service_type']" position="before">
|
||||
<field name="project_create"/>
|
||||
<field name="category_id" attrs="{'invisible': [('project_create', '=', False)]}"/>
|
||||
<xpath expr="//field[@name='accountant_id']" position="after">
|
||||
<field name="category_id" attrs="{'invisible': ['|',('is_main_service','=',True),('project_create', '=', False)]}"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='is_this_service_for_student']" position="after">
|
||||
<field name="project_create" attrs="{'invisible':[('is_main_service','=',True)]}"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
|||
Loading…
Reference in New Issue