IMP benefit

This commit is contained in:
younes 2025-09-14 14:47:53 +01:00
parent 7618f9d7f2
commit e9e1e2e42b
11 changed files with 23 additions and 142 deletions

View File

@ -49,7 +49,6 @@
'views/benefit_config_view.xml',
'views/generate_reports.xml',
'views/service_refuse_reason.xml',
'views/res_city.xml',
'views/job_settings_views.xml',
'views/death_reason_settings_views.xml',

View File

@ -3280,7 +3280,6 @@ msgstr "عدد الرسائل المرتدة لجهة الاتصال هذه"
#: model:ir.model.fields,field_description:odex_benefit.field_external_request__country_id
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__country_id
#: model:ir.model.fields,field_description:odex_benefit.field_res_country_city__country_id
#: model:ir.model.fields,field_description:odex_benefit.field_res_city__country_id
msgid "Country"
msgstr "الدولة"
@ -8432,7 +8431,6 @@ msgstr "نهاية الوقت المعين للنشاط"
#: model:ir.model.fields,field_description:odex_benefit.field_receive_benefit_zkat__name
#: model:ir.model.fields,field_description:odex_benefit.field_receive_food_basket__name
#: model:ir.model.fields,field_description:odex_benefit.field_receive_food_surplus__name
#: model:ir.model.fields,field_description:odex_benefit.field_res_city__name
#: model:ir.model.fields,field_description:odex_benefit.field_res_country_city__name
#: model:ir.model.fields,field_description:odex_benefit.field_benefit_vehicle_model__name
#: model:ir.model.fields,field_description:odex_benefit.field_res_districts__name
@ -8730,10 +8728,8 @@ msgstr "غير مستفيد"
#. module: odex_benefit
#: model:ir.model.fields,field_description:odex_benefit.field_death_reason_settings__not_defined
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__father_dead_reason_id_not_defined
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__father_dead_res_city_id_not_defined
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__father_job_id_not_defined
#: model:ir.model.fields,field_description:odex_benefit.field_job_settings__not_defined
#: model:ir.model.fields,field_description:odex_benefit.field_res_city__not_defined
msgid "Not Defined"
msgstr "غير محدد"
@ -14300,23 +14296,15 @@ msgid "Father Dead City"
msgstr "مدينة وفاة الأب"
#. module: odex_benefit
#: model:ir.model.fields,field_description:odex_benefit.field_res_city__country_city_id
#: model_terms:ir.ui.view,arch_db:odex_benefit.grant_benefit_form
msgid "Country City"
msgstr "المحافظة"
#. module: odex_benefit
#: model:ir.model,name:odex_benefit.model_res_city
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__res_city_id
msgid "Res City"
msgstr "المدينة"
#. module: odex_benefit
#: model:ir.ui.menu,name:odex_benefit.city_menu
#: model:ir.actions.act_window,name:odex_benefit.res_city_action
msgid "Country Cities"
msgstr "المدن"
#. module: odex_benefit
#: model:ir.model.fields.selection,name:odex_benefit.selection__seasonal_service__state__accounting_approve
#: model_terms:ir.ui.view,arch_db:odex_benefit.seasonal_service_form_view

View File

@ -30,7 +30,6 @@ from . import service_request
from . import payment_order
from . import family_complaints
from . import service_refuse_reason
from . import res_city
from . import seasonal_service
# from . import res_config_settings
from . import res_users

View File

@ -172,8 +172,7 @@ class GrantBenefitProfile(models.Model):
father_dead_country_id = fields.Many2one('res.country', string='Father Dead Country', tracking=True)
father_dead_country_id_code = fields.Char(related='father_dead_country_id.code')
father_dead_city_id = fields.Many2one('res.country.city', string='Father Dead City',domain="[('country_id', '=', father_dead_country_id)]")
father_dead_res_city_id = fields.Many2one('res.city', string='Father Dead City',domain="['|', ('country_id', '=', father_dead_country_id), ('country_id', '=', False)]")
father_dead_res_city_id_not_defined = fields.Boolean(related="father_dead_res_city_id.not_defined")
father_dead_res_city_id = fields.Many2one('res.country.city', string='Father Dead City',domain="['|', ('country_id', '=', father_dead_country_id), ('country_id', '=', False)]")
father_dead_city = fields.Char(string='Father Dead City')
father_dead_certificate = fields.Many2many('ir.attachment', 'rel_father_dead_attachment','benefit_id','attachment_id',string='Father Dead Certificate')
# Mother's case and her data # Birth Date # Address # dead data
@ -202,8 +201,7 @@ class GrantBenefitProfile(models.Model):
mother_dead_reason_id = fields.Many2one('death.reason.settings', string='Mother Dead Reason', required=False)
mother_dead_reason_id_not_defined = fields.Boolean(related='mother_dead_reason_id.not_defined')
mother_dead_reason = fields.Char(string='Mother Dead Reason', required=False)
mother_dead_res_city_id = fields.Many2one('res.city', string='Mother Dead City',domain="[('country_id', '=', mother_dead_country_id)]")
mother_dead_res_city_id_not_defined = fields.Boolean(related="mother_dead_res_city_id.not_defined")
mother_dead_res_city_id = fields.Many2one('res.country.city', string='Mother Dead City',domain="[('country_id', '=', mother_dead_country_id)]")
mother_dead_city = fields.Char(string='Mother Dead City')
mother_location = fields.Selection(
[('with_husband_and_children', _('With Husband And Children')), ('with_children', _('With Children')),
@ -524,8 +522,7 @@ class GrantBenefitProfile(models.Model):
replacement_dead_reason_id = fields.Many2one('death.reason.settings', string='Replacement Mother Dead Reason', required=False)
replacement_dead_reason_id_not_defined = fields.Boolean(related='replacement_dead_reason_id.not_defined')
replacement_dead_reason = fields.Char(string='Replacement Mother Dead Reason', required=False)
replacement_dead_res_city_id = fields.Many2one('res.city', string='Replacement Mother Dead City',domain="[('country_id', '=', replacement_dead_country_id)]")
replacement_dead_res_city_id_not_defined = fields.Boolean(related="replacement_dead_res_city_id.not_defined")
replacement_dead_res_city_id = fields.Many2one('res.country.city', string='Replacement Mother Dead City',domain="[('country_id', '=', replacement_dead_country_id)]")
replacement_dead_city = fields.Char(string='Replacement Mother Dead City')
replacement_mother_location = fields.Selection(
[('with_husband_and_children', _('With Husband And Children')), ('with_children', _('With Children')),
@ -838,9 +835,8 @@ class GrantBenefitProfile(models.Model):
def _get_total_move_lines(self):
for rec in self:
rec.total_move_lines = self.env['account.move.line'].search_count([('benefit_family_id', '=', rec.id)
rec.total_move_lines = self.env['account.move.line'].search_count([('benefit_family_id', '=', rec.id)])
])
def _compute_visit_location_count(self):
for rec in self:
rec.with_context(bypass_attachments_requirement=True).write({

View File

@ -1,14 +0,0 @@
# -*- coding: utf-8 -*-
from odoo import models, fields, api, _
class ResCity(models.Model):
_name= 'res.city'
_description = 'Res City'
name = fields.Char(required=True)
country_id = fields.Many2one('res.country')
country_city_id = fields.Many2one('res.country.city', domain="[('country_id', '=', country_id)]")
not_defined = fields.Boolean(default=False)
active = fields.Boolean(default=True)

View File

@ -162,4 +162,6 @@ access_visit_skip_otp_wizard,access_visit_skip_otp_wizard,model_visit_skip_otp_w
access_benefit_vehicle_model,access_benefit_vehicle_model,model_benefit_vehicle_model,,1,1,1,1
access_visit_location_refusal_reason_wizard,access_visit_location_refusal_reason_wizard,model_visit_location_refusal_reason_wizard,,1,1,1,1
access_survey_user_input_group_benefit_info,survey.user_input.group_benefit_info,survey.model_survey_user_input,odex_benefit.group_benefit_info,1,0,0,0
access_survey_user_input_line_group_benefit_info,survey.user_input.line.group_benefit_info,survey.model_survey_user_input_line,odex_benefit.group_benefit_info,1,0,0,0
access_survey_user_input_line_group_benefit_info,survey.user_input.line.group_benefit_info,survey.model_survey_user_input_line,odex_benefit.group_benefit_info,1,0,0,0
access_grant_benefit_account_move_line,access_grant_benefit_account_move_line,model_grant_benefit,,1,0,0,0
access_grant_benefit_account_move,access_grant_benefit_account_move,model_grant_benefit,,1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
162 access_benefit_vehicle_model access_benefit_vehicle_model model_benefit_vehicle_model 1 1 1 1
163 access_visit_location_refusal_reason_wizard access_visit_location_refusal_reason_wizard model_visit_location_refusal_reason_wizard 1 1 1 1
164 access_survey_user_input_group_benefit_info survey.user_input.group_benefit_info survey.model_survey_user_input odex_benefit.group_benefit_info 1 0 0 0
165 access_survey_user_input_line_group_benefit_info survey.user_input.line.group_benefit_info survey.model_survey_user_input_line odex_benefit.group_benefit_info 1 0 0 0
166 access_grant_benefit_account_move_line access_grant_benefit_account_move_line model_grant_benefit 1 0 0 0
167 access_grant_benefit_account_move access_grant_benefit_account_move model_grant_benefit 1 0 0 0

View File

@ -724,21 +724,6 @@
</field>
</record>
<record model="ir.actions.act_window" id="res_city_action">
<field name="name">Country Cities</field>
<field name="res_model">res.city</field>
<field name="view_mode">tree,form</field>
<field name="view_ids" eval="[
(5, 0, 0),
(0, 0, {'view_mode': 'tree', 'view_id': ref('odex_benefit.res_city_view_tree')}),
(0, 0, {'view_mode': 'form', 'view_id': ref('odex_benefit.res_city_view_form')}),
]"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">Create New City
</p>
</field>
</record>
<!--###########################################################-->
<!--Benefit Menus-->
<!--###########################################################-->
@ -932,8 +917,6 @@
parent="menu_benefits_config_addresses" action="action_country_state_benefit"/>
<menuitem id="res_city_menu" name="Cities" sequence="2"
parent="menu_benefits_config_addresses" action="res_city_list_action"/>
<menuitem id="city_menu" name="Country Cities" sequence="3"
parent="menu_benefits_config_addresses" action="res_city_action"/>
<menuitem id="res_branch_menu" name="Branch Settings" sequence="4"
parent="menu_benefits_config_addresses" action="res_branch_action"/>
<menuitem id="res_district_menu" name="Districts" sequence="5"

View File

@ -381,18 +381,9 @@
options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"
groups="!odex_benefit.group_benefit_manager"/>
<field name="father_dead_city_id" invisible="1"/>
<field name="father_dead_res_city_id" attrs="{
'invisible': [('father_dead_country_id_code', '!=', 'SA')]
}"
options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"/>
<field name="father_dead_res_city_id" attrs="{'invisible': [('father_dead_country_id_code', '!=', 'SA')]}" options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"/>
<field name="father_dead_country_id_code" invisible="1"/>
<field name="father_dead_res_city_id_not_defined" invisible="1"/>
<field name="father_dead_city" attrs="{
'invisible': [
('father_dead_country_id_code', '=', 'SA'),
('father_dead_res_city_id_not_defined', '=', False)
]
}"/>
<field name="father_dead_city" attrs="{'invisible': [('father_dead_country_id_code', '=', 'SA')]}"/>
<field name="father_dead_certificate"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
widget="many2many_attachment_preview"/>
@ -487,20 +478,13 @@
}" /> -->
<field name="mother_dead_country_id"
attrs="{'invisible':[('mother_is_dead','=',False)],'required':[('mother_is_dead','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="mother_dead_res_city_id_not_defined" invisible="1"/>
<field name="mother_dead_country_id_code" invisible="1"/>
<field name="mother_dead_res_city_id" attrs="{
'invisible':['|', ('mother_is_dead', '=', False), ('mother_dead_country_id_code', '!=', 'SA')],
'required':[('mother_dead_country_id_code', '=', 'SA'), ('mother_is_dead','=',True)],
'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="mother_dead_city" attrs="{
'invisible': [
'|',
('mother_is_dead', '=', False),
'&amp;',
('mother_dead_country_id_code', '=', 'SA'),
('mother_dead_res_city_id_not_defined', '=', False)
],
'invisible': ['|',('mother_is_dead', '=', False),('mother_dead_country_id_code', '=', 'SA')],
'required':[('mother_dead_country_id_code', '=', 'SA'), ('mother_is_dead','=',True)],
'readonly':[('state','not in',['draft','new','complete_info'])]
}"/>
@ -641,7 +625,6 @@
options="{'no_create': True, 'no_create_edit': True}"
groups="!odex_benefit.group_benefit_manager"/>
<field name="replacement_dead_country_id_code" invisible="1"/>
<field name="replacement_dead_res_city_id_not_defined" invisible="1"/>
<field name="replacement_mother_dead_city_id" attrs="{
'invisible':['|', ('replacement_mother_is_dead','=',False), ('replacement_dead_country_id_code', '!=', 'SA')],
'required':[('replacement_dead_country_id_code', '=', 'SA'), ('replacement_mother_is_dead','=',True),('add_replacement_mother','=',True)],
@ -655,13 +638,7 @@
options="{'no_create': True, 'no_create_edit': True}"
groups="!odex_benefit.group_benefit_manager"/> -->
<field name="replacement_dead_city" attrs="{
'invisible':[
'|',
('replacement_mother_is_dead', '=', False),
'&amp;',
('replacement_dead_country_id_code', '=', 'SA'),
('replacement_dead_res_city_id_not_defined', '=', False)
],
'invisible':['|',('replacement_mother_is_dead', '=', False),('replacement_dead_country_id_code', '=', 'SA')],
'required':[('replacement_mother_is_dead','=',True),('add_replacement_mother','=',True)],
'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_mother_dead_date"
@ -1525,18 +1502,10 @@
options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
</xpath>
<!-- <xpath expr="//field[@name='father_dead_res_city_id']" position="replace">
<field name="father_dead_res_city_id"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
</xpath> -->
<xpath expr="//field[@name='father_dead_city']" position="replace">
<field name="father_dead_city" attrs="{
'readonly': [('state','not in',('draft','new','complete_info'))],
'invisible': [
('father_dead_country_id_code', '=', 'SA'),
('father_dead_res_city_id_not_defined', '=', False)
]
'readonly': [('state','not in',('draft','new','complete_info'))],
'invisible': [('father_dead_country_id_code', '=', 'SA')]
}"/>
</xpath>
@ -1884,4 +1853,4 @@
</field>
</record>
</data>
</odoo>
</odoo>

View File

@ -1,41 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="res_city_view_form" model="ir.ui.view">
<field name="name">inherit.res.city.form</field>
<field name="model">res.city</field>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<group>
<field name="name"/>
<field name="not_defined"/>
</group>
<group attrs="{'invisible': [('not_defined', '=', True)]}">
<field name="country_id"/>
<field name="country_city_id"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="res_city_view_tree" model="ir.ui.view">
<field name="name">inherit.res.city.form</field>
<field name="model">res.city</field>
<field name="arch" type="xml">
<tree>
<field name="name"/>
<field name="not_defined"/>
<field name="country_id"/>
<field name="country_city_id"/>
</tree>
</field>
</record>
</data>
</odoo>

View File

@ -8,7 +8,7 @@
<form string="OTP Verification">
<sheet>
<group>
<field name="visit_otp_code" groups="odex_benefit.group_otp_manager"/>
<field name="visit_otp_code" invisible="1"/>
<field name="otp_code"/>
<field name="visit_id" invisible="1"/>
</group>

View File

@ -23,10 +23,10 @@
<field name="model">res.country.city</field>
<field name="arch" type="xml">
<tree string="Cities">
<field name="code"></field>
<field name="name"></field>
<field name="state_id"></field>
<field name="country_id"></field>
<field name="code"/>
<field name="name"/>
<field name="state_id"/>
<field name="country_id"/>
</tree>
</field>
</record>
@ -39,14 +39,14 @@
<sheet>
<group>
<group>
<field name="code" required="True"></field>
<field name="code" required="True"/>
<field name="state_id" domain="[('country_id', '=', country_id)]"
required="True"></field>
required="True"/>
</group>
<group>
<field name="name" required="True"></field>
<field name="country_id"></field>
<field name="name" required="True"/>
<field name="country_id"/>
</group>
</group>
</sheet>