IMP benefit

This commit is contained in:
younes 2025-08-25 16:19:04 +01:00
parent d01644993e
commit c08576c156
12 changed files with 264 additions and 272 deletions

View File

@ -152,7 +152,7 @@
<label for="relationn" string="Relation"/>
<div>
<field name="relationn" class="oe_inline" nolabel="1"
attrs="{'readonly':[('parent.state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'readonly':[('parent.state','not in',['draft','new','complete_info'])]}"
options='{"no_open": True,"no_create_edit": True}'
/>
<field name="relation" class="oe_inline" nolabel="1" invisible="1"/>

View File

@ -391,7 +391,7 @@
<label for="relationn" string="Relation"/>
<div>
<field name="relationn" class="oe_inline" nolabel="1"
attrs="{'readonly':[('parent.state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'readonly':[('parent.state','not in',['draft','new','complete_info'])]}"
options='{"no_open": True,"no_create_edit": True}'
required="1"/>
<field name="relation" class="oe_inline" nolabel="1" invisible="1"/>

View File

@ -620,7 +620,7 @@ class BenefitPortal(http.Controller):
li = ['f_name', 'g_name', 'parent', 'family', 'id_number', 'birth_date', 'age',
'gender', 'id', 'institution_id', 'partner_id', 'relation', 'state']
if benefit:
if benefit.state in ['edit_info', 'draft']:
if benefit.state in ['draft']:
for field_name, field_value in kw.items():
if field_name != "id_number_attach":
values[field_name] = field_value
@ -630,8 +630,8 @@ class BenefitPortal(http.Controller):
if len(file) > 0:
values[fname] = base64.b64encode(file)
benefit.write(values)
if benefit.state == 'edit_info':
benefit.action_finish_edit()
# if benefit.state == 'edit_info':
# benefit.action_finish_edit()
data = {'status': True, 'msg': (_('Benefit Account Updated successfully')),
'data': benefit.read(li)}
else:

View File

@ -4558,9 +4558,6 @@ msgstr "مسودة"
#. module: odex_benefit
#: model:ir.model.fields.selection,name:odex_benefit.selection__benefit_sms_configuration__state__edit_info
#: model:ir.model.fields.selection,name:odex_benefit.selection__family_member__state__edit_info
#: model:ir.model.fields.selection,name:odex_benefit.selection__family_member__state_a__edit_info
#: model:ir.model.fields.selection,name:odex_benefit.selection__grant_benefit__state__edit_info
msgid "Edit Information"
msgstr "تحرير البيانات"
@ -8679,13 +8676,6 @@ msgstr "غير مستفيد"
msgid "Not Found benefit "
msgstr ""
#. module: odex_benefit
#: model:ir.model.fields.selection,name:odex_benefit.selection__family_member__state__not_leaving
#: model:ir.model.fields.selection,name:odex_benefit.selection__family_member__state_a__not_leaving
#: model:ir.model.fields.selection,name:odex_benefit.selection__grant_benefit__state__not_leaving
msgid "Not Leaving"
msgstr "المتوفيين"
#. module: odex_benefit
#: code:addons/odex_benefit/models/benefit.py:0
#: code:addons/odex_benefit/models/family_members.py:0
@ -10035,9 +10025,6 @@ msgstr "اخصائي اجتماعي"
#: model:ir.model.fields,field_description:odex_benefit.field_researcher_family_wizard__researcher_team
#: model:ir.model.fields,field_description:odex_benefit.field_researcher_member_wizard__researcher_team
#: model:ir.model.fields,field_description:odex_benefit.field_visit_location__researcher_team
#: model:ir.model.fields.selection,name:odex_benefit.selection__family_member__state__researcher_team
#: model:ir.model.fields.selection,name:odex_benefit.selection__family_member__state_a__researcher_team
#: model:ir.model.fields.selection,name:odex_benefit.selection__grant_benefit__state__researcher_team
msgid "Researcher Team"
msgstr "الاخصائي الاجتماعي"
@ -12176,13 +12163,6 @@ msgstr "مع الزوج والأطفال"
msgid "With_husband"
msgstr "مع الزوج"
#. module: odex_benefit
#: model:ir.model.fields.selection,name:odex_benefit.selection__family_member__state__woman_manager
#: model:ir.model.fields.selection,name:odex_benefit.selection__family_member__state_a__woman_manager
#: model:ir.model.fields.selection,name:odex_benefit.selection__grant_benefit__state__woman_manager
msgid "Woman Manager"
msgstr "مدير اللجنة النسائية"
#. module: odex_benefit
#: model:ir.model.fields.selection,name:odex_benefit.selection__family_member__state__new
#: model_terms:ir.ui.view,arch_db:odex_benefit.grant_benefit_search

View File

@ -393,11 +393,8 @@ class GrantBenefitProfile(models.Model):
('new', 'Researcher Assignment'),
('complete_info', 'Waiting for Researcher'),
('waiting_approve', 'Waiting for Operation Manager'),
('woman_manager', 'Woman Manager'),
('researcher_team', 'Researcher Team'),
('edit_info', 'Edit Information'),
('first_refusal', 'First Refusal'),
('first_approve', 'Waiting for Branch Manager'),
('first_refusal', 'First Refusal'),
('second_approve', 'Second Approved'),
('refused', 'Refused'),
('temporarily_suspended', 'Temporarily suspended'),
@ -406,7 +403,6 @@ class GrantBenefitProfile(models.Model):
('temporarily_exception', 'Temporarily Exception'),
('exception_first_approve', 'Exception First Approve'),
('exception_second_approve', 'Exception Second Approve'),
('not_leaving', 'Not Leaving'),
('black_list', 'Black List'),
], string='state', default="draft", tracking=True, group_expand='_expand_states')
branch_custom_id = fields.Many2one('branch.settings', string="Branch")
@ -582,6 +578,13 @@ class GrantBenefitProfile(models.Model):
is_from_portal = fields.Boolean(string='is Created from Portal?', default=False, readonly=True)
applicant_name = fields.Char(readonly=True)
doc_count = fields.Integer(compute='_compute_attached_docs_count', string="Number of documents attached")
action_type = fields.Selection(selection=[
('new', 'New'),
('edit_info', 'Edit Information'),
('approved', 'Approved'),
('suspended', 'Suspended'),
('exception', 'Exception'),
], string='Action Type', default='new')
_sql_constraints = [
('unique_code', "unique (code) WHERE state NOT IN ('draft', 'new')", 'This code already exists')
@ -1267,6 +1270,7 @@ class GrantBenefitProfile(models.Model):
for id in self.message_follower_ids.ids:
partner_ids.append(self.env['mail.followers'].search([('id', '=', id)]).partner_id)
self.state = "second_approve"
self.action_type = "approved"
self.sudo()._send_notification(partner_ids, rec.state)
# for member in self.member_ids:
# member.create_member_partner()
@ -1378,19 +1382,6 @@ class GrantBenefitProfile(models.Model):
# @api.multi
def action_edit_info(self):
# bank_val = {
# 'acc_number': self.acc_number,
# 'acc_holder_name': self.acc_holder_name,
# 'bank_id': self.bank_id.id,
# }
# self.partner_id.write({
# 'name': self.name,
# 'email': self.email,
# 'phone': self.phone,
# 'account_type': 'family',
# 'code': self.code,
# 'bank_ids': [(0, 0, bank_val)]
# })
user = self.user_id
if not user:
user = self.env['res.users'].sudo().search(
@ -1406,11 +1397,8 @@ class GrantBenefitProfile(models.Model):
template = self.env.ref('odex_benefit.edit_benefit_email', False)
except:
pass
self.state = 'edit_info'
def not_alive(self):
self.life = False
self.state = 'not_leaving'
self.state = 'complete_info'
self.action_type = 'edit_info'
def action_suspend(self):
self.is_excluded_suspension = False

View File

@ -613,6 +613,7 @@ class Committees(models.Model):
name = fields.Char()
employee_id = fields.Many2many('hr.employee')
# , domain = "[('gender', 'in', employee_gender_domain)]"
benefit_ids = fields.Many2many('grant.benefit',compute="get_benefit_ids")
type = fields.Selection(
string='',
@ -623,6 +624,16 @@ class Committees(models.Model):
required=False, )
branch_custom_id = fields.Many2one("branch.settings", string="Branch")
active = fields.Boolean('Active', default=True)
benefit_count = fields.Integer(compute="get_benefit_count")
# employee_gender_domain = fields.Char(compute='_compute_employee_gender_domain')
#
# @api.depends('type')
# def _compute_employee_gender_domain(self):
# for record in self:
# if record.type in ['male', 'female']:
# record.employee_gender_domain = [record.type]
# else:
# record.employee_gender_domain = ['male', 'female']
def get_benefit_ids(self):
obj = self.env["grant.benefit"].search([])
@ -632,6 +643,20 @@ class Committees(models.Model):
else:
self.write({'benefit_ids': []})
def get_benefit_count(self):
for record in self:
record.benefit_count = len(record.benefit_ids)
def action_view_benefits(self):
return {
'name': _('Benefits'),
'type': 'ir.actions.act_window',
'res_model': 'grant.benefit',
'view_mode': 'tree,form',
'domain': [('id', 'in', self.benefit_ids.ids)],
'target': 'current',
}
class ResDistricts(models.Model):
_name = 'res.districts'

View File

@ -188,11 +188,9 @@ class FamilyMemberProfile(models.Model):
# ('waiting_approve', 'Waiting Approved'),
# ('woman_manager', 'Woman Manager'),
# ('researcher_team', 'Researcher Team'),
# ('edit_info', 'Edit Information'),
# ('first_refusal', 'First Refusal'),
# ('first_approve', 'Approved'),
# ('refused', 'Refused'),
# ('not_leaving', 'Not Leaving'),
# ('black_list', 'Black List'),
# ], string='state', default="draft", tracking=True,related="benefit_id.state")
state = fields.Selection([
@ -200,9 +198,6 @@ class FamilyMemberProfile(models.Model):
('new', 'New'),
('complete_info', 'Complete Information'),
('waiting_approve', 'Waiting Approved'),
('woman_manager', 'Woman Manager'),
('researcher_team', 'Researcher Team'),
('edit_info', 'Edit Information'),
('first_refusal', 'First Refusal'),
('first_approve', 'First Approved'),
('second_approve', 'Second Approved'),
@ -214,16 +209,12 @@ class FamilyMemberProfile(models.Model):
('temporarily_exception', 'Temporarily Exception'),
('exception_first_approve', 'Exception First Approve'),
('exception_second_approve', 'Exception Second Approve'),
('not_leaving', 'Not Leaving'),
('black_list', 'Black List'),
], string='state', tracking=True,compute='_get_state',store = True)
state_a = fields.Selection([
('draft', 'Draft'),
('complete_info', 'Complete Information'),
('waiting_approve', 'Waiting Approved'),
('woman_manager', 'Woman Manager'),
('researcher_team', 'Researcher Team'),
('edit_info', 'Edit Information'),
('first_refusal', 'First Refusal'),
('first_approve', 'First Approved'),
('second_approve', 'Second Approved'),
@ -235,7 +226,6 @@ class FamilyMemberProfile(models.Model):
('temporarily_exception', 'Temporarily Exception'),
('exception_first_approve', 'Exception First Approve'),
('exception_second_approve', 'Exception Second Approve'),
('not_leaving', 'Not Leaving'),
('black_list', 'Black List'),
], string='stateA', default="draft", tracking=True)
member_status = fields.Selection(selection=[
@ -807,22 +797,8 @@ class FamilyMemberProfile(models.Model):
'context': context,
}
def action_edit_info(self):
# user = self.user_id
# if not user:
# user = self.env['res.users'].sudo().search(
# [('partner_id', '=', self.partner_id.id), ('active', '=', False)])
# if user:
# user.write({'active': True})
# else:
# user = self.create_user()
# group_e = self.env.ref('odex_benefit.group_benefit_edit', False)
# try:
# group_e.sudo().write({'users': [(4, user.id)]})
# self.old_stage = self.state
# template = self.env.ref('odex_benefit.edit_benefit_email', False)
# except:
# pass
self.state = 'edit_info'
self.state = 'complete_info'
def action_finish_edit(self):
for rec in self:
# group_e = self.env.ref('odex_benefit.group_benefit_edit', False)
@ -839,9 +815,6 @@ class FamilyMemberProfile(models.Model):
# 'researcher_team': rec.researcher_team.id,
'state': 'draft'
})
def not_alive(self):
self.life = False
self.state_a = 'not_leaving'
@api.onchange('member_phone')
def _onchange_member_phone_validation(self):

View File

@ -9,7 +9,6 @@ class SmsConfiguration(models.Model):
case_text = fields.Text("case Text", tracking=True)
state = fields.Selection([
('draft', 'Draft'),
('edit_info', 'Edit Information'),
('complete_info', 'Complete Information'),
('waiting_approve', 'Waiting Approved'),
('approve', 'Approved'),

View File

@ -71,7 +71,7 @@
<!-- <field name="view_type">form</field>-->
<field name="view_mode">tree,form</field>
<field name="context">{'create': False}</field>
<field name="domain">[('state','in',['not_leaving','black_list'])]
<field name="domain">[('state','in',['black_list'])]
</field>
</record>
<!-- committees.line البحث الاجتماعي -->

View File

@ -144,7 +144,7 @@
<button name="finish_complete_data" type="object"
string="Finish Complete" class="oe_highlight"
confirm="Are you sure you want to Finish Complete data ?"
states="complete_info,edit_info"/>
states="complete_info"/>
<button name="action_black_list" type="object"
string="Black List" class="oe_highlight"
states="waiting_approve,refused"
@ -206,9 +206,6 @@
<button name="edit_password" type="object"
string="Send Reset Password" states="second_approve"
confirm="Are you sure you want to send link to reset password !"/>
<!-- <button name="not_alive" type="object"-->
<!-- string="Not Leaving" attrs="{'invisible':[('state','=','not_leaving')]}"-->
<!-- />-->
<field name="state" widget="statusbar"
statusbar_visible="draft,new,complete_info,waiting_approve,first_approve,second_approve"/>
</header>
@ -257,6 +254,16 @@
<!-- <field string="Expenses" name="expenses_total" widget="statinfo"/>-->
<!-- </button>-->
</div>
<widget name="web_ribbon" title="New" bg_color="bg-primary"
attrs="{'invisible': [('action_type', '!=', 'new')]}"/>
<widget name="web_ribbon" title="Edit Information" bg_color="bg-info"
attrs="{'invisible': [('action_type', '!=', 'edit_info')]}"/>
<widget name="web_ribbon" title="Approved" bg_color="bg-success"
attrs="{'invisible': [('action_type', '!=', 'approved')]}"/>
<widget name="web_ribbon" title="Suspended" bg_color="bg-warning"
attrs="{'invisible': [('action_type', '!=', 'suspended')]}"/>
<widget name="web_ribbon" title="Exception" bg_color="bg-secondary"
attrs="{'invisible': [('action_type', '!=', 'exception')]}"/>
<div class="oe_title">
<h1>
<field placeholder="Name" name="name" class="oe_inline" readonly="1"
@ -266,6 +273,7 @@
<group attrs="{'invisible':[('state','in',['draft','new'])]}">
<field name="qr_code" invisible="1" widget='image' class="oe_avatar"/>
<field name="code"/>
<field name="action_type" readonly="1" force_save="1"/>
</group>
<group>
<field name="profile_step_count" invisible="1"/>
@ -315,42 +323,53 @@
<group string="Contact Information">
<group>
<field name="email"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="phone" string="Phone"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="phone2"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="relative_phone"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
invisible="1"/>
<field name="relative_relation"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
invisible="1"/>
</group>
<group>
<field name="applicant_name"/>
<field name="request_producer" readonly="1" force_save="1" invisible="1"/>
<field name="request_producer_relation"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
</group>
</group>
<notebook>
<page string="Father Information">
<h3>Father</h3>
<h2>
<label for="father_name" string="Father Name"/>
<div class="o_row">
<field name="father_name"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
required="1" nolabel="1"/>
<field name="father_second_name"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
required="1" nolabel="1"/>
<field name="father_third_name"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
required="1" nolabel="1"/>
<field name="father_family_name"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
required="1" nolabel="1"/>
</div>
</h2>
<group>
<group>
<field name="father_name"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
required="1"/>
<field name="father_second_name"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
required="1"/>
<field name="father_dead_reason"
attrs="{'required':[('state','=','complete_info')],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','=','complete_info')],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="father_dead_date"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="father_dead_country_id" required="1"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
options="{'no_create': True, 'no_create_edit': True}"
groups="!odex_benefit.group_benefit_manager"/>
<field name="father_dead_city_id" invisible="1"/>
@ -361,28 +380,22 @@
<field name="father_dead_res_city_id" invisible="1"/>
<field name="father_dead_city"/>
<field name="father_dead_certificate"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
widget="many2many_attachment_preview"/>
</group>
<group>
<field name="father_third_name"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
required="1"/>
<field name="father_family_name"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
required="1"/>
<field name="father_job"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="father_id_number"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
required="1"/>
<field name="father_id_number_type"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
required="1"/>
<field name="father_birth_date"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="father_country_id"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
required="1" options="{'no_create': True, 'no_create_edit': True}"
groups="!odex_benefit.group_benefit_manager"/>
</group>
@ -402,19 +415,19 @@
<field name="mother_relationn" class="oe_inline"
options='{"no_open": True,"no_create_edit": True}' invisible="1"/>
<field name="mother_name"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="mother_second_name"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="mother_id_number"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
required="1"/>
<field name="mother_id_number_type"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
required="1"/>
<field name="mother_birth_date"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="mother_country_id"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
options="{'no_create': True, 'no_create_edit': True}"
groups="!odex_benefit.group_benefit_manager"
required="1"/>
@ -424,45 +437,45 @@
</group>
<group>
<field name="mother_third_name"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="mother_family_name"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="mother_marital_conf"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"
options="{'no_create': True, 'no_create_edit': True}"
groups="!odex_benefit.group_benefit_manager"/>
<field name="mother_is_dead" invisible="1"/>
<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','edit_info'])]}"/>
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"
attrs="{'invisible':[('mother_is_dead','=',False)],'required':[('mother_is_dead','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/> -->
<field name="mother_dead_city"
attrs="{'invisible':[('mother_is_dead','=',False)],'required':[('mother_is_dead','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'invisible':[('mother_is_dead','=',False)],'required':[('mother_is_dead','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="mother_dead_date"
attrs="{'invisible':[('mother_is_dead','=',False)],'required':[('mother_is_dead','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'invisible':[('mother_is_dead','=',False)],'required':[('mother_is_dead','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="mother_dead_certificate"
attrs="{'invisible':[('mother_is_dead','=',False)],'required':[('mother_is_dead','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'invisible':[('mother_is_dead','=',False)],'required':[('mother_is_dead','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"
widget="many2many_attachment_preview"/>
<field name="mother_location"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
invisible="1"/>
<field name="mother_location_conf"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])],'required':[('state','not in',['draft','new'])]}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])],'required':[('state','not in',['draft','new'])]}"
options="{'no_create': True, 'no_create_edit': True}"
groups="!odex_benefit.group_benefit_manager"/>
<field name="mother_age"
attrs="{'required':[('state','not in',['draft','new'])]}"
readonly="1"/>
<field name="is_mother_work"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="mother_has_disabilities"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="mother_income"
attrs="{'required':[('is_mother_work','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('is_mother_work','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="is_alhaju" widget="radio"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="is_amra" widget="radio"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<!-- <field name="is_mother_benefit"/>-->
</group>
</group>
@ -480,19 +493,19 @@
<group>
<field name="replacement_mother_relation" class="oe_inline"
options='{"no_open": True,"no_create_edit": True}'
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_mother_name"
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_mother_second_name"
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_mother_id_number"
attrs="{'required':[('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_mother_id_number_type"
attrs="{'required':[('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_mother_birth_date"
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_mother_country_id"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])],'required':[('add_replacement_mother','=',True)]}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])],'required':[('add_replacement_mother','=',True)]}"
options="{'no_create': True, 'no_create_edit': True}"
groups="!odex_benefit.group_benefit_manager"/>
<field name="replacement_mother_status" readonly="1" widget="badge"
@ -501,47 +514,47 @@
</group>
<group>
<field name="replacement_mother_third_name"
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_mother_family_name"
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_mother_marital_conf"
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"
options="{'no_create': True, 'no_create_edit': True}"
groups="!odex_benefit.group_benefit_manager"/>
<field name="replacement_mother_is_dead" invisible="1"/>
<field name="replacement_mother_dead_country_id"
attrs="{'invisible':[('replacement_mother_is_dead','=',False)],'required':[('replacement_mother_is_dead','=',True),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'invisible':[('replacement_mother_is_dead','=',False)],'required':[('replacement_mother_is_dead','=',True),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"
options="{'no_create': True, 'no_create_edit': True}"
groups="!odex_benefit.group_benefit_manager"/>
<field name="replacement_mother_dead_city_id"
attrs="{'invisible':[('replacement_mother_is_dead','=',False)],'required':[('replacement_mother_is_dead','=',True),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'invisible':[('replacement_mother_is_dead','=',False)],'required':[('replacement_mother_is_dead','=',True),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"
options="{'no_create': True, 'no_create_edit': True}"
groups="!odex_benefit.group_benefit_manager"/>
<field name="replacement_mother_dead_date"
attrs="{'invisible':[('replacement_mother_is_dead','=',False)],'required':[('replacement_mother_is_dead','=',True),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'invisible':[('replacement_mother_is_dead','=',False)],'required':[('replacement_mother_is_dead','=',True),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_mother_dead_certificate"
attrs="{'invisible':[('replacement_mother_is_dead','=',False)],'required':[('replacement_mother_is_dead','=',True),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'invisible':[('replacement_mother_is_dead','=',False)],'required':[('replacement_mother_is_dead','=',True),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"
widget="many2many_attachment_preview"/>
<field name="replacement_mother_location"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
invisible="1"/>
<field name="replacement_mother_location_conf"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])],'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)]}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])],'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)]}"
options="{'no_create': True, 'no_create_edit': True}"
groups="!odex_benefit.group_benefit_manager"/>
<field name="replacement_mother_age"
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)]}"
readonly="1"/>
<field name="replacement_is_mother_work"
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_mother_has_disabilities"
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_mother_income"
attrs="{'required':[('replacement_is_mother_work','=',True),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('replacement_is_mother_work','=',True),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_is_alhaju" widget="radio"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_is_amra" widget="radio"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<!-- <field name="is_mother_benefit"/>-->
</group>
</group>
@ -550,7 +563,7 @@
</page>
<page string="Members">
<field name="member_ids" widget="one2many_list"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}">
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}">
<form string="Family Member">
<sheet>
<widget name="web_ribbon" title="Non Benefit Member" bg_color="bg-danger"
@ -561,7 +574,7 @@
<label for="relationn" string="Relation"/>
<div>
<field name="relationn" class="oe_inline" nolabel="1"
attrs="{'readonly':[('parent.state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'readonly':[('parent.state','not in',['draft','new','complete_info'])]}"
options='{"no_open": True,"no_create_edit": True}'
required="1"/>
<field name="relation" class="oe_inline" nolabel="1" invisible="1"/>
@ -739,24 +752,24 @@
</page>
<page string="Attachments">
<field name="attachment_ids" widget="one2many_list"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}">
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}">
<tree editable="bottom" delete="0">
<field name="name" attrs="{'readonly':[('is_default','=',True)]}"
force_save="1"/>
<field name="datas" widget="binary" filename="attachment_file_name"/>
<button name="action_preview_attachment" type="object"
string="Preview Attachment"/>
<field name="expiration_date"/>
<field name="attach_status"/>
<field name="allow_days"/>
force_save="1" style="width: 20% !important;"/>
<field name="datas" style="width: 10% !important;" string="File content"
widget="binary" filename="attachment_file_name"/>
<button name="action_preview_attachment" style="width: 10% !important;"
type="object" icon="fa-search-plus"/>
<field name="expiration_date" style="width: 20% !important;"/>
<field name="attach_status" style="width: 20% !important;"/>
<field name="allow_days" style="width: 20% !important;"/>
<field name="benefit_id" invisible="1"/>
<field name="is_required" invisible="1"/>
<field name="is_default" invisible="1"/>
</tree>
</field>
<group>
<field name="required_attach"
attrs="{'required':[('state','not in',['draft','new'])]}"/>
<field name="required_attach" invisible="1"/>
</group>
</page>
<page string="Housing information">
@ -766,31 +779,31 @@
<group>
<h3>Property details</h3>
<field name="housing_type"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="property_type"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="rent_amount"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])],'invisible':[('property_type','!=','rent'),('property_type','!=','rent_shared')]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])],'invisible':[('property_type','!=','rent'),('property_type','!=','rent_shared')]}"/>
<field name="payment_type"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])],'invisible':[('property_type','!=','rent'),('property_type','!=','rent_shared')]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])],'invisible':[('property_type','!=','rent'),('property_type','!=','rent_shared')]}"/>
<field name="contract_num"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])],'invisible':[('property_type','!=','rent'),('property_type','!=','rent_shared')]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])],'invisible':[('property_type','!=','rent'),('property_type','!=','rent_shared')]}"/>
<field name="rent_start_date"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])],'invisible':[('property_type','!=','rent'),('property_type','!=','rent_shared')]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])],'invisible':[('property_type','!=','rent'),('property_type','!=','rent_shared')]}"/>
<field name="rent_end_date"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])],'invisible':[('property_type','!=','rent'),('property_type','!=','rent_shared')]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])],'invisible':[('property_type','!=','rent'),('property_type','!=','rent_shared')]}"/>
<field name="rent_attachment"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])],'invisible':[('property_type','!=','rent'),('property_type','!=','rent_shared')]}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])],'invisible':[('property_type','!=','rent'),('property_type','!=','rent_shared')]}"
widget="many2many_attachment_preview"/>
<field name="property_instrument_number"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])],'invisible':[('property_type','!=','ownership'),('property_type','!=','charitable'),('property_type','!=','ownership_shared')]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])],'invisible':[('property_type','!=','ownership'),('property_type','!=','charitable'),('property_type','!=','ownership_shared')]}"/>
<field name="property_instrument_attach"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])],'invisible':[('property_type','!=','ownership'),('property_type','!=','charitable'),('property_type','!=','ownership_shared')]}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])],'invisible':[('property_type','!=','ownership'),('property_type','!=','charitable'),('property_type','!=','ownership_shared')]}"
widget="many2many_attachment_preview"/>
<field name="property_instrument_date"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])],'invisible':[('property_type','!=','ownership'),('property_type','!=','charitable'),('property_type','!=','ownership_shared')]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])],'invisible':[('property_type','!=','ownership'),('property_type','!=','charitable'),('property_type','!=','ownership_shared')]}"/>
<field name="electricity_attach"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])],'invisible':[('property_type','=',False)]}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])],'invisible':[('property_type','=',False)]}"
widget="many2many_attachment_preview"/>
</group>
<group>
@ -811,15 +824,15 @@
options="{'no_create': True, 'no_create_edit': True}"
groups="odex_benefit.group_benefit_manager"/>
<field name="zip"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="short_number"/>
<field name="extra_code"/>
<field name="house_number"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="street"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="national_address_attachment"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"
widget="many2many_attachment_preview"/>
<!-- <field name="lat"-->
<!-- attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}"/>-->
@ -831,19 +844,19 @@
<group>
<h3>Housing details</h3>
<field name="floor"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="housing_number"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="block"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="nearby_mosque"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="housing_note"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="note_neighborhood"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="housing_cat"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
</group>
</group>
<group colspan="2" col="2">
@ -854,10 +867,10 @@
<span class="oe_inline">(</span>
<span>Lat :</span>
<field name="lat" class="oe_inline" no_label="1"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<span>: Long :</span>
<field name="lon" class="oe_inline" nolabel="1"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<span>)</span>
</div>
</group>
@ -867,7 +880,7 @@
<page string="Family Loans">
<group>
<field name="family_debits_ids"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}">
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}">
<form string="Family Loans">
<sheet>
<group>
@ -912,7 +925,7 @@
<page string="expenses">
<group>
<field name="expenses_ids"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}">
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}">
<tree editable="top">
<field name="benefit_id" invisible="1"/>
<field name="expenses_type" invisible="1"/>
@ -936,7 +949,7 @@
</page>
<page string="Income and salary">
<field name="salary_ids" context="{'default_state': 'accepted'}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}">
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}">
<tree editable="bottom" delete="0">
<field name="benefit_id" invisible="1"/>
<field name="income_type"/>
@ -1079,7 +1092,9 @@
attrs="{'readonly': [('state', '=', 'black_list')]}"/>
<field name="black_list_message"/>
</page>
<page string="Bank Account Information" attrs="{'invisible': [('state', 'not in', ['second_approve','first_approve'])]}" groups="odex_benefit.group_benefit_bank_info">
<page string="Bank Account Information"
attrs="{'invisible': [('state', 'not in', ['second_approve','first_approve'])]}"
groups="odex_benefit.group_benefit_bank_info,odex_benefit.group_benefit_branch_manager">
<form>
<sheet>
<group>
@ -1158,7 +1173,8 @@
</group>
</group>
</page>
<page string="Family Monthly salary" attrs="{'invisible': [('state', 'not in', ['second_approve'])]}">
<page string="Family Monthly salary"
attrs="{'invisible': [('state', 'not in', ['second_approve'])]}">
<group>
<field name="family_monthly_income"/>
<field name="family_monthly_meals"/>
@ -1190,15 +1206,15 @@
<!-- </group>-->
<group>
<field name="is_zakat_fitr" widget="boolean_toggle"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="is_food_basket" widget="boolean_toggle"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="has_car" widget="boolean_toggle"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="has_othaim_family_number" widget="boolean_toggle"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="othaim_family_number"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])] ,'invisible':[('has_othaim_family_number','=',False)]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])] ,'invisible':[('has_othaim_family_number','=',False)]}"/>
<field name="is_excluded_suspension" invisible="1"
groups="odex_benefit.group_benefit_manager,odex_benefit.group_benefit_branch_manager,odex_benefit.group_benefit_woman_commitee"
readonly="1" force_save="1"/>
@ -1207,7 +1223,8 @@
<!-- <field name="request_producer_id"/> -->
<field name="partner_id" readonly="1" required="0" force_save="1" string="Partner"
invisible="1" groups="odex_benefit.group_benefit_manager"/>
<field name="user_id" readonly="1" force_save="1" groups="odex_benefit.group_benefit_manager"/>
<field name="user_id" readonly="1" force_save="1"
groups="odex_benefit.group_benefit_manager"/>
<field name="is_from_portal" groups="odex_benefit.group_benefit_manager"/>
<field name="password" password="True" invisible="1"/>
<field name="has_needs" invisible="1"/>
@ -1217,7 +1234,7 @@
<page string="Family Cars" attrs="{'invisible':[('has_car','=',False)]}">
<group>
<field name="car_ids"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}">
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}">
<tree editable="bottom">
<field name="benefit_id" invisible="1"/>
<field name="name"/>
@ -1286,7 +1303,7 @@
<xpath expr="//field[@name='father_dead_country_id']" position="replace">
<field name="father_dead_country_id" required="1"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
</xpath>
<!-- <xpath expr="//field[@name='father_dead_res_city_id']" position="replace">
@ -1295,53 +1312,53 @@
</xpath> -->
<xpath expr="//field[@name='father_dead_city']" position="replace">
<field name="father_dead_city"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
</xpath>
<xpath expr="//field[@name='father_country_id']" position="replace">
<field name="father_country_id"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
required="1"/>
</xpath>
<xpath expr="//field[@name='mother_country_id']" position="replace">
<field name="mother_country_id"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
required="1"/>
</xpath>
<xpath expr="//field[@name='mother_marital_conf']" position="replace">
<field name="mother_marital_conf"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
</xpath>
<xpath expr="//field[@name='mother_location_conf']" position="replace">
<field name="mother_location_conf"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])],'required':[('state','not in',['draft','new'])]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])],'required':[('state','not in',['draft','new'])]}"/>
</xpath>
<xpath expr="//field[@name='replacement_mother_country_id']" position="replace">
<field name="replacement_mother_country_id"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])],'required':[('add_replacement_mother','=',True)]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])],'required':[('add_replacement_mother','=',True)]}"/>
</xpath>
<xpath expr="//field[@name='replacement_mother_marital_conf']" position="replace">
<field name="replacement_mother_marital_conf"
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
</xpath>
<xpath expr="//field[@name='replacement_mother_location_conf']" position="replace">
<field name="replacement_mother_location_conf"
attrs="{'readonly':[('state','not in',['draft','new','complete_info','edit_info'])],'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)]}"/>
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])],'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)]}"/>
</xpath>
<xpath expr="//field[@name='replacement_mother_dead_country_id']" position="replace">
<field name="replacement_mother_dead_country_id"
attrs="{'invisible':[('replacement_mother_is_dead','=',False)],'required':[('replacement_mother_is_dead','=',True),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'invisible':[('replacement_mother_is_dead','=',False)],'required':[('replacement_mother_is_dead','=',True),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
</xpath>
<xpath expr="//field[@name='replacement_mother_dead_city_id']" position="replace">
<field name="replacement_mother_dead_city_id"
attrs="{'invisible':[('replacement_mother_is_dead','=',False)],'required':[('replacement_mother_is_dead','=',True),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info','edit_info'])]}"/>
attrs="{'invisible':[('replacement_mother_is_dead','=',False)],'required':[('replacement_mother_is_dead','=',True),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
</xpath>

View File

@ -7,7 +7,7 @@
<field name="arch" type="xml">
<tree string="committees">
<field name="name"/>
<field name="type" />
<field name="type"/>
<field name="branch_custom_id"/>
</tree>
</field>
@ -18,15 +18,25 @@
<field name="arch" type="xml">
<form string="committees_form">
<sheet>
<group>
<field name="name"/>
<field name="type"/>
<field name="employee_id"/>
<field name="branch_custom_id"/>
</group>
<group>
<field name="benefit_ids" string="Assign files"/>
</group>
<div class="oe_button_box" name="button_box">
<button name="action_view_benefits"
type="object"
class="oe_stat_button"
icon="fa-file-text-o">
<field name="benefit_count" widget="statinfo" string="Benefits"/>
</button>
</div>
<group>
<field name="branch_custom_id"/>
<field name="name"/>
<field name="type" required="1"/>
<!-- <field name="employee_gender_domain" invisible="1"/>-->
</group>
<notebook>
<page name="employees" string="Employees">
<field name="employee_id" mode="kanban" widget="many2many" nolabel="1"/>
</page>
</notebook>
</sheet>
</form>
</field>

View File

@ -51,50 +51,49 @@
<group>
<label for="relationn" string="Relation"/>
<div>
<field name="relationn" class="oe_inline" nolabel="1" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}" required="1" options='{"no_open": True,"no_create_edit": True}'/>
<field name="relationn" class="oe_inline" nolabel="1" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}" required="1" options='{"no_open": True,"no_create_edit": True}'/>
</div>
</group>
<group>
<group>
<field name="member_first_name" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}" required="1"/>
<field name="member_third_name" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}" required="1"/>
<!-- <field name="gender" required="1" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}"/>-->
<field name="birth_date" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}" required="1"/>
<field name="member_location" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}" invisible="1"/>
<field name="member_phone" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}"/>
<field name="member_location_conf" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}"/>
<field name="member_first_name" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}" required="1"/>
<field name="member_third_name" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}" required="1"/>
<field name="birth_date" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}" required="1"/>
<field name="member_location" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}" invisible="1"/>
<field name="member_phone" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="member_location_conf" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
</group>
<group>
<field name="member_second_name" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}" required="1"/>
<field name="member_family_name" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}" required="1"/>
<field name="member_second_name" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}" required="1"/>
<field name="member_family_name" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}" required="1"/>
<field name="age" readonly="1" required="1" force_save="1"/>
<field name="age_status"/>
<field name="member_id_number" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}" required="1"/>
<field name="member_id_number" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}" required="1"/>
</group>
</group>
<group>
<group>
<field name="is_dead" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}"/>
<field name="minor_siblings" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}"/>
<field name="has_disabilities" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}"/>
<field name="is_married" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}"/>
<field name="is_dead" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="minor_siblings" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="has_disabilities" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="is_married" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="mother_location_conf" attrs="{'invisible':['|',('relationn','=','mother'),('relationn','=','replacement_mother')]}"/>
<field name="mother_location" invisible="1"/>
<field name="mother_marital_conf" attrs="{'invisible':['|',('relationn','=','mother'),('relationn','=','replacement_mother')]}"/>
</group>
<group>
<field name="is_work" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}"/>
<field name="member_income" attrs="{'required':[('is_work','=',True)],'readonly':[('state','not in',['draft','complete_info','edit_info'])]}"/>
<field name="need_transportation" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}"/>
<field name="is_amra" widget="radio" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}"/>
<field name="is_alhaju" widget="radio" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}"/>
<field name="is_work" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="member_income" attrs="{'required':[('is_work','=',True)],'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="need_transportation" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="is_amra" widget="radio" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="is_alhaju" widget="radio" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
</group>
</group>
<group>
<group>
<field name="sponsor_related_id" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}"/>
<field name="sponsor_id" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}" invisible="1"/>
<field name="sponsorship_id" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}"/>
<field name="sponsor_related_id" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="sponsor_id" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}" invisible="1"/>
<field name="sponsorship_id" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="is_excluded_suspension" readonly="1" force_save="1"/>
</group>
<group>
@ -145,41 +144,41 @@
<group>
<field name="is_scientific_specialty" invisible="1"/>
<field name="is_medical_specialty" invisible="1"/>
<field name="education_status" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])]}"/>
<field name="illiterate_reason" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],
<field name="education_status" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="illiterate_reason" attrs="{'readonly':[('state','not in',['draft','complete_info'])],
'invisible':[('education_status','!=','illiterate')]}"/>
<field name="case_study" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="intermittent_reason" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],'invisible':[('case_study','!=','intermittent')]}"/>
<field name="education_entity" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="entities" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="education_levels" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="educational_certificate" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="case_study" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="intermittent_reason" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('case_study','!=','intermittent')]}"/>
<field name="education_entity" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="entities" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="education_levels" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="educational_certificate" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
</group>
<group>
<field name="specialization_ids" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],'invisible':[('education_status','=','illiterate')],'invisible':[('education_status','=','illiterate')]}"/>
<field name="classroom" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="degree" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="percentage" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="education_start_date" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="education_end_date" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="specialization_ids" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')],'invisible':[('education_status','=','illiterate')]}"/>
<field name="classroom" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="degree" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="percentage" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="education_start_date" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="education_end_date" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
</group>
</group>
<h3 attrs="{'invisible':[('education_status','=','illiterate')]}">Last Education Status</h3>
<group>
<group>
<field name="last_education_entity" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_entities" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_education_levels" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_specialization_ids" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_educational_certificate" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_education_entity" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_entities" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_education_levels" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_specialization_ids" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_educational_certificate" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
</group>
<group>
<field name="last_classroom" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_degree" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_percentage" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="weak_study" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],'invisible':[('education_status','=','illiterate')]}" widget="many2many_tags"/>
<field name="last_education_start_date" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_education_end_date" attrs="{'readonly':[('state','not in',['draft','complete_info','edit_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_classroom" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_degree" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_percentage" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="weak_study" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}" widget="many2many_tags"/>
<field name="last_education_start_date" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_education_end_date" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
</group>
</group>
</page>
@ -213,9 +212,10 @@
<field name="attachment_ids" widget="one2many_list">
<tree editable="bottom">
<field name="name" string="Attachment Name"/>
<field name="datas" string="File content" attrs="{'readonly':[('parent.state','not in',['draft','complete_info','edit_info'])]}"/>
<field name="expiration_date" attrs="{'readonly':[('parent.state','not in',['draft','complete_info','edit_info'])]}"/>
<field name="attach_status" attrs="{'readonly':[('parent.state','not in',['draft','complete_info','edit_info'])]}"/>
<field name="datas" string="File content" attrs="{'readonly':[('parent.state','not in',['draft','complete_info'])]}"/>
<button name="action_preview_attachment" type="object" icon="fa-search-plus"/>
<field name="expiration_date" attrs="{'readonly':[('parent.state','not in',['draft','complete_info'])]}"/>
<field name="attach_status" attrs="{'readonly':[('parent.state','not in',['draft','complete_info'])]}"/>
<field name="member_id" invisible="1"/>
</tree>
</field>