[ADD]ADD new customuzation in dev_membrship res.partner
This commit is contained in:
parent
9603810987
commit
62a49bfc50
|
|
@ -593,8 +593,8 @@ msgstr ""
|
|||
|
||||
#. module: dev_membership
|
||||
#: model_terms:ir.ui.view,arch_db:dev_membership.view_res_partner_memeber_form
|
||||
msgid "Other Details"
|
||||
msgstr "تفاصيل اخري"
|
||||
msgid "Memebership"
|
||||
msgstr "العضوية"
|
||||
|
||||
#. module: dev_membership
|
||||
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__partner_id
|
||||
|
|
@ -788,18 +788,49 @@ msgstr "الترشيح لعضوية مجلس الادارة"
|
|||
msgid "Join Period"
|
||||
msgstr "فترة الانضمام"
|
||||
|
||||
#.module: dev_membership
|
||||
#: model:ir.model.fields,field_description:dev_membership.field_renew_membership__from_date
|
||||
#: model:ir.model.fields,field_description:dev_membership.field_res_partner__join_date
|
||||
#: model:ir.model.fields,field_description:dev_membership.field_res_users__join_date
|
||||
msgid "Join Date"
|
||||
msgstr "تاريخ الانضمام"
|
||||
|
||||
#.module: dev_membership
|
||||
#: model:ir.model.fields,field_description:dev_membership.field_res_partner__memebership_end_date
|
||||
#: model:ir.model.fields,field_description:dev_membership.field_res_users__memebership_end_date
|
||||
msgid "Memebership End Date"
|
||||
msgstr "تاريخ نهاية العضوية"
|
||||
|
||||
#. module: dev_membership
|
||||
#: model:ir.model.fields,field_description:dev_membership.field_res_partner__employer
|
||||
#: model:ir.model.fields,field_description:dev_membership.field_res_users__employer
|
||||
msgid "Employer"
|
||||
msgstr "جهة العمل"
|
||||
|
||||
#. module: dev_membership
|
||||
#: model:ir.model.fields,field_description:dev_membership.field_res_partner__product_id
|
||||
#: model:ir.model.fields,field_description:dev_membership.field_res_users__product_id
|
||||
#: model_terms:ir.ui.view,arch_db:dev_membership.view_search_res_partner
|
||||
msgid "Membership Type"
|
||||
msgstr "نوع العضوية"
|
||||
|
||||
#. module: dev_membership
|
||||
#: model:ir.model.fields,field_description:dev_membership.field_product_product__nationality_id
|
||||
#: model:ir.model.fields,field_description:dev_membership.field_product_template__nationality_id
|
||||
#: model:ir.model.fields,field_description:dev_membership.field_res_partner__nationality_id
|
||||
#: model:ir.model.fields,field_description:dev_membership.field_res_users__nationality_id
|
||||
msgid "Nationality"
|
||||
msgstr "الجنسية"
|
||||
|
||||
#. module: dev_membership
|
||||
#. module: dev_membership
|
||||
#: model:ir.model.fields,field_description:dev_membership.field_product_product__age
|
||||
#: model:ir.model.fields,field_description:dev_membership.field_product_template__age
|
||||
#: model:ir.model.fields,field_description:dev_membership.field_res_partner__age
|
||||
#: model:ir.model.fields,field_description:dev_membership.field_res_users__age
|
||||
msgid "Age"
|
||||
msgstr "العمر"
|
||||
|
||||
|
||||
#. module: dev_membership
|
||||
#: model_terms:ir.ui.view,arch_db:dev_membership.form_membership_product
|
||||
msgid "Membership Terms"
|
||||
|
|
@ -865,3 +896,13 @@ msgstr "إلغاء العضوية"
|
|||
#: model_terms:ir.ui.view,arch_db:dev_membership.res_dev_membership_config_settings_view_form
|
||||
msgid "Membership Cancellation\"."
|
||||
msgstr "إلغاء العضوية"
|
||||
|
||||
#. module: dev_membership
|
||||
#: model_terms:ir.ui.view,arch_db:dev_membership.res_dev_membership_config_settings_view_form
|
||||
msgid "Membership Expiry Reminders"
|
||||
msgstr "تذكير انتهاء العضوية"
|
||||
|
||||
#. module: dev_membership
|
||||
#: model_terms:ir.ui.view,arch_db:dev_membership.res_dev_membership_config_settings_view_form
|
||||
msgid "Membership Experience Evaluation"
|
||||
msgstr "تقييم تجربة العضوية"
|
||||
|
|
@ -18,9 +18,29 @@ class PartnerExtended(models.Model):
|
|||
is_member = fields.Boolean(string='Is Member')
|
||||
membership_count = fields.Integer(string="Membership Count", compute="_get_membership_count")
|
||||
active_membership_id = fields.Many2one('dev.membership', string='Membership', compute='check_active_membership')
|
||||
nationality_id = fields.Many2one('res.country', string="Nationality")
|
||||
is_membership_expire = fields.Boolean('Expire Membership', compute='check_active_membership')
|
||||
memebership_status = fields.Char('Membership Status', compute='check_memebership_status')
|
||||
birth_date = fields.Date(string='Birth Date')
|
||||
join_date = fields.Date(string='Join Date')
|
||||
memebership_end_date = fields.Date(string='Memebership End Date',store=True,related='active_membership_id.to_date')
|
||||
age = fields.Integer(string='Age',store=True,compute='_compute_age')
|
||||
employer = fields.Char(string='Employer',)
|
||||
product_id = fields.Many2one('product.product', string="Membership Type",store=True,related='active_membership_id.product_id')
|
||||
|
||||
# todo start
|
||||
@api.depends('birth_date')
|
||||
def _compute_age(self):
|
||||
for rec in self:
|
||||
if rec.birth_date:
|
||||
rec.age = (datetime.today().year-rec.birth_date.year)
|
||||
|
||||
# @api.depends('active_membership_id')
|
||||
def _compute_info(self):
|
||||
for rec in self:
|
||||
if rec.active_membership_id:
|
||||
print('if in.....')
|
||||
# todo end
|
||||
def check_memebership_status(self):
|
||||
for partner in self:
|
||||
partner.memebership_status = ''
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
|
||||
<record id="view_res_partner_member_tree" model="ir.ui.view">
|
||||
<field name="name">view.dev.res.partner.member.tree</field>
|
||||
<field name="model">res.partner</field>
|
||||
|
|
@ -10,100 +10,151 @@
|
|||
<field name="display_name" string="Name"/>
|
||||
<field name="phone" class="o_force_ltr" optional="show"/>
|
||||
<field name="email" optional="show"/>
|
||||
<field name="identification_number" optional="show"/>
|
||||
<field name="company_id" groups="base.group_multi_company" readonly="1"/>
|
||||
<field name="join_date" optional="show"/>
|
||||
<field name="memebership_end_date" optional="show"/>
|
||||
<field name="product_id" optional="show"/>
|
||||
<field name="category_id" widget="many2many_tags" optional="show"/>
|
||||
<field name="activity_ids" optional="show"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="dev_res_partner_member_kanban_view">
|
||||
<field name="name">dev.res.partner.member.kanban</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="priority">20</field>
|
||||
<field name="arch" type="xml">
|
||||
<kanban class="o_res_partner_kanban" sample="1">
|
||||
<field name="id"/>
|
||||
<field name="color"/>
|
||||
<field name="display_name"/>
|
||||
<field name="title"/>
|
||||
<field name="email"/>
|
||||
<field name="parent_id"/>
|
||||
<field name="is_company"/>
|
||||
<field name="function"/>
|
||||
<field name="phone"/>
|
||||
<field name="street"/>
|
||||
<field name="street2"/>
|
||||
<field name="zip"/>
|
||||
<field name="city"/>
|
||||
<field name="country_id"/>
|
||||
<field name="mobile"/>
|
||||
<field name="state_id"/>
|
||||
<field name="category_id"/>
|
||||
<field name="image_128"/>
|
||||
<field name="type"/>
|
||||
<field name="active_membership_id"/>
|
||||
<field name="name">dev.res.partner.member.kanban</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="priority">20</field>
|
||||
<field name="arch" type="xml">
|
||||
<kanban class="o_res_partner_kanban" sample="1">
|
||||
<field name="id"/>
|
||||
<field name="color"/>
|
||||
<field name="display_name"/>
|
||||
<field name="title"/>
|
||||
<field name="email"/>
|
||||
<field name="parent_id"/>
|
||||
<field name="is_company"/>
|
||||
<field name="function"/>
|
||||
<field name="phone"/>
|
||||
<field name="street"/>
|
||||
<field name="street2"/>
|
||||
<field name="zip"/>
|
||||
<field name="city"/>
|
||||
<field name="country_id"/>
|
||||
<field name="mobile"/>
|
||||
<field name="state_id"/>
|
||||
<field name="category_id" widget="many2many_tags"/>
|
||||
<field name="image_128"/>
|
||||
<field name="type"/>
|
||||
<field name="active_membership_id"/>
|
||||
<field name="is_membership_expire"/>
|
||||
<field name="membership_count"/>
|
||||
<field name="memebership_status"/>
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
<div class="oe_kanban_global_click o_kanban_record_has_image_fill o_res_partner_kanban">
|
||||
<t t-if="!record.is_company.raw_value">
|
||||
<t t-if="record.type.raw_value === 'delivery'" t-set="placeholder" t-value="'/base/static/img/truck.png'"/>
|
||||
<t t-elif="record.type.raw_value === 'invoice'" t-set="placeholder" t-value="'/base/static/img/money.png'"/>
|
||||
<t t-else="" t-set="placeholder" t-value="'/base/static/img/avatar_grey.png'"/>
|
||||
<div class="o_kanban_image_fill_left d-none d-md-block" t-attf-style="background-image:url('#{kanban_image('res.partner', 'image_128', record.id.raw_value, placeholder)}')">
|
||||
<img class="o_kanban_image_inner_pic" t-if="record.parent_id.raw_value" t-att-alt="record.parent_id.value" t-att-src="kanban_image('res.partner', 'image_128', record.parent_id.raw_value)"/>
|
||||
</div>
|
||||
<div class="o_kanban_image d-md-none" t-attf-style="background-image:url('#{kanban_image('res.partner', 'image_128', record.id.raw_value, placeholder)}')">
|
||||
<img class="o_kanban_image_inner_pic" t-if="record.parent_id.raw_value" t-att-alt="record.parent_id.value" t-att-src="kanban_image('res.partner', 'image_128', record.parent_id.raw_value)"/>
|
||||
</div>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<t t-set="placeholder" t-value="'/base/static/img/company_image.png'"/>
|
||||
<div class="o_kanban_image_fill_left o_kanban_image_full" t-attf-style="background-image: url(#{kanban_image('res.partner', 'image_128', record.id.raw_value, placeholder)})" role="img"/>
|
||||
</t>
|
||||
<div class="oe_kanban_details d-flex flex-column">
|
||||
<strong class="o_kanban_record_title oe_partner_heading"><field name="display_name"/></strong>
|
||||
<div class="o_kanban_tags_section oe_kanban_partner_categories"/>
|
||||
<ul>
|
||||
<li t-if="record.parent_id.raw_value and !record.function.raw_value"><field name="parent_id"/></li>
|
||||
<li t-if="!record.parent_id.raw_value and record.function.raw_value"><field name="function"/></li>
|
||||
<li t-if="record.parent_id.raw_value and record.function.raw_value"><field name="function"/> at <field name="parent_id"/></li>
|
||||
<li t-if="record.city.raw_value or record.country_id.raw_value">
|
||||
<t t-if="record.city.raw_value"><field name="city"/><t t-if="record.country_id.raw_value">, </t></t>
|
||||
<t t-if="record.country_id.raw_value"><field name="country_id"/></t>
|
||||
</li>
|
||||
<li t-if="record.email.raw_value" class="o_text_overflow"><field name="email"/></li>
|
||||
</ul>
|
||||
<span>
|
||||
<b style="color:#7C7BAD"><field name="memebership_status"/></b>
|
||||
</span>
|
||||
<div class="o_row">
|
||||
<span class="oe_kanban_partner_links"/>
|
||||
</div>
|
||||
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
<div class="oe_kanban_global_click o_kanban_record_has_image_fill o_res_partner_kanban">
|
||||
<t t-if="!record.is_company.raw_value">
|
||||
<t t-if="record.type.raw_value === 'delivery'" t-set="placeholder"
|
||||
t-value="'/base/static/img/truck.png'"/>
|
||||
<t t-elif="record.type.raw_value === 'invoice'" t-set="placeholder"
|
||||
t-value="'/base/static/img/money.png'"/>
|
||||
<t t-else="" t-set="placeholder" t-value="'/base/static/img/avatar_grey.png'"/>
|
||||
<div class="o_kanban_image_fill_left d-none d-md-block"
|
||||
t-attf-style="background-image:url('#{kanban_image('res.partner', 'image_128', record.id.raw_value, placeholder)}')">
|
||||
<img class="o_kanban_image_inner_pic" t-if="record.parent_id.raw_value"
|
||||
t-att-alt="record.parent_id.value"
|
||||
t-att-src="kanban_image('res.partner', 'image_128', record.parent_id.raw_value)"/>
|
||||
</div>
|
||||
<div class="o_kanban_image d-md-none"
|
||||
t-attf-style="background-image:url('#{kanban_image('res.partner', 'image_128', record.id.raw_value, placeholder)}')">
|
||||
<img class="o_kanban_image_inner_pic" t-if="record.parent_id.raw_value"
|
||||
t-att-alt="record.parent_id.value"
|
||||
t-att-src="kanban_image('res.partner', 'image_128', record.parent_id.raw_value)"/>
|
||||
</div>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<t t-set="placeholder" t-value="'/base/static/img/company_image.png'"/>
|
||||
<div class="o_kanban_image_fill_left o_kanban_image_full"
|
||||
t-attf-style="background-image: url(#{kanban_image('res.partner', 'image_128', record.id.raw_value, placeholder)})"
|
||||
role="img"/>
|
||||
</t>
|
||||
<div class="oe_kanban_details d-flex flex-column">
|
||||
<strong class="o_kanban_record_title oe_partner_heading">
|
||||
<field name="display_name"/>
|
||||
</strong>
|
||||
<div class="o_kanban_tags_section oe_kanban_partner_categories"/>
|
||||
<ul>
|
||||
<li t-if="record.parent_id.raw_value and !record.function.raw_value">
|
||||
<field name="parent_id"/>
|
||||
</li>
|
||||
|
||||
<li t-if="record.category_id.raw_value">
|
||||
<field widget="many_2many_tags" name="category_id"/>
|
||||
</li>
|
||||
<li t-if="!record.parent_id.raw_value and record.function.raw_value">
|
||||
<field name="function"/>
|
||||
</li>
|
||||
<li t-if="record.parent_id.raw_value and record.function.raw_value">
|
||||
<field name="function"/>
|
||||
at
|
||||
<field name="parent_id"/>
|
||||
</li>
|
||||
<li t-if="record.city.raw_value or record.country_id.raw_value">
|
||||
<t t-if="record.city.raw_value">
|
||||
<field name="city"/>
|
||||
<t t-if="record.country_id.raw_value">,</t>
|
||||
</t>
|
||||
<t t-if="record.country_id.raw_value">
|
||||
<field name="country_id"/>
|
||||
</t>
|
||||
</li>
|
||||
<li t-if="record.email.raw_value" class="o_text_overflow">
|
||||
<field name="email"/>
|
||||
</li>
|
||||
</ul>
|
||||
<span>
|
||||
<b style="color:#7C7BAD">
|
||||
<field name="memebership_status"/>
|
||||
</b>
|
||||
</span>
|
||||
<div class="o_row">
|
||||
<span class="oe_kanban_partner_links"/>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<!--form-->
|
||||
<record id="view_res_partner_memeber_form" model="ir.ui.view">
|
||||
<field name="name">view.res.partner.member.form</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='vat']" position="before">
|
||||
<field name="nationality_id"/>
|
||||
<field name="birth_date"/>
|
||||
<field name="age"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='function']" position="after">
|
||||
<field name="employer"/>
|
||||
</xpath>
|
||||
<xpath expr="//page" position="after">
|
||||
<page name="member_other_details" string='Other Details'>
|
||||
<page name="memebership" string='Memebership'>
|
||||
<group>
|
||||
<group name="memeber">
|
||||
<field name="is_member"/>
|
||||
<field name="product_id"/>
|
||||
|
||||
</group>
|
||||
<group name="other">
|
||||
|
||||
<field name="join_date"/>
|
||||
<field name="memebership_end_date"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
|
|
@ -126,7 +177,25 @@
|
|||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- search -->
|
||||
<record id="view_search_res_partner" model="ir.ui.view">
|
||||
<field name="name">res.partner.search</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Res Partner Search">
|
||||
<field name="name"/>
|
||||
<field name="phone"/>
|
||||
<field name="identification_number"/>
|
||||
<filter string="Archived" name="archived" domain="[('active', '=', False)]"/>
|
||||
<filter string="Expired Membership" name="memebership_end_date"/>
|
||||
<group string="Group By">
|
||||
<filter string="Membership Type" name="product_id" context="{'group_by': 'product_id'}"/>
|
||||
<filter string="Branch" name="branch_id" context="{'group_by': 'branch_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<!--end -->
|
||||
<!--Action-->
|
||||
<record id="action_members" model="ir.actions.act_window">
|
||||
<field name="name">Member</field>
|
||||
|
|
@ -134,7 +203,9 @@
|
|||
<field name="res_model">res.partner</field>
|
||||
<field name="domain">[('is_member', '=', True)]</field>
|
||||
<field name="context">{'default_is_member' : 1}</field>
|
||||
<field name="view_mode">kanban,tree,form</field>
|
||||
<field name="view_mode">kanban,tree,activity,form</field>
|
||||
<field name="search_view_id" ref="dev_membership.view_search_res_partner"/>
|
||||
|
||||
<field name="view_ids" eval="[(5,0,0),
|
||||
(0,0,{'sequence' : 3, 'view_mode': 'kanban' , 'view_id' : ref('dev_membership.dev_res_partner_member_kanban_view')}),
|
||||
(0,0,{'sequence' : 3, 'view_mode': 'tree' , 'view_id' : ref('dev_membership.view_res_partner_member_tree')})]"/>
|
||||
|
|
|
|||
Loading…
Reference in New Issue