<?xml version="1.0"?> <!-- Copyright (C) 2016-Today: La Louve (<http://www.lalouve.net/>) @author: Sylvain LE GAL (https://twitter.com/legalsylvain) License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). --> <odoo> <record id="base.view_partner_form" model="ir.ui.view"> <field name="priority" eval="2"/> </record> <!-- Redefine partner's form view --> <record id="view_partner_form" model="ir.ui.view"> <field name="name">res.partner.membership.access.form</field> <field name="model">res.partner</field> <field name="priority" eval="1"/> <field name="arch" type="xml"> <form string="Partners"> <header> <field name="cooperative_state" widget="statusbar"/> </header> <sheet> <div class="oe_button_box" name="button_box"> <button name="toggle_active" type="object" groups="base.group_no_one" class="oe_stat_button" icon="fa-archive"> <field name="active" widget="boolean_button" options="{"terminology": "archive"}"/> </button> <button class="oe_stat_button" type="action" name="%(res_partner_account_move_line.action_open_partner_move_lines)d" icon="fa-book" string="Account Move Lines" groups="account.group_account_manager"> </button> <button name="%(coop_shift.action_shift_extension_from_partner)d" type="action" class="oe_stat_button oe_event_attendee_button" icon="fa-calendar" help="View partner Extensions" groups="coop_shift.group_shift_manager, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_lecture, coop_membership.group_membership_bdm_saisie"> <field name="extension_qty" widget="statinfo" string="Ext."/> </button> <button name="%(coop_shift.act_shift_registration_from_partner)d" type="action" class="oe_stat_button oe_event_attendee_button" icon="fa-calendar" help="View partner Registrations" groups="coop_shift.group_shift_user, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_lecture, coop_membership.group_membership_bdm_saisie" id="view_partner_registrations" attrs="{'invisible':[('is_worker_member', '=', False)]}"> <field name="upcoming_registration_count" widget="statinfo" string="Upc. Registr."/> </button> <button name="%(coop_shift.act_template_registration_line_from_partner)d" type="action" class="oe_stat_button oe_event_attendee_button" icon="fa-calendar-plus-o" help="View partner Template Registrations" groups="coop_shift.group_shift_manager, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_lecture, coop_membership.group_membership_bdm_saisie" id="view_partner_template_registrations" attrs="{'invisible':[('is_worker_member', '=', False)]}"> <field name="active_tmpl_reg_line_count" widget="statinfo" string="Tmpl. Registr."/> </button> <button name="%(coop_shift.act_shift_leave_from_partner)d" type="action" class="oe_stat_button oe_event_attendee_button" icon="fa-sign-out" help="View partner Leaves" groups="coop_shift.group_shift_see_leave, coop_membership.group_membership_bdm_lecture, coop_membership.group_membership_bdm_saisie" id="view_shift_leaves"> <field name="leave_qty" widget="statinfo" string="Leaves"/> </button> <button type="action" class="oe_stat_button" id="invoice_button" icon="fa-pencil-square-o" name="%(account.action_invoice_refund_out_tree)d" context="{'search_default_partner_id': active_id,'default_partner_id': active_id}" groups="account.group_account_invoice"> <div class="o_form_field o_stat_info"> <span class="o_stat_value"> <field name="total_invoiced" widget="monetary" options="{'currency_field': 'currency_id'}" groups="account.group_account_invoice"/> </span> <span class="o_stat_text">Invoiced</span> </div> </button> <button class="oe_stat_button" type="action" name="%(sale.act_res_partner_2_sale_order)d" attrs="{'invisible': [('customer', '=', False)]}" icon="fa-usd" groups="base.group_sale_salesman"> <field string="Sales" name="sale_order_count" widget="statinfo" groups="base.group_sale_salesman"/> </button> <button class="oe_stat_button" name="%(purchase.act_res_partner_2_supplier_invoices)d" type="action" attrs="{'invisible': [('supplier', '=', False)]}" icon="fa-pencil-square-o" help="Vendor Bills" groups="account.group_account_invoice"> <field string="Vendor Bills." name="supplier_invoice_count" widget="statinfo"/> </button> <button class="oe_stat_button" name="%(purchase.act_res_partner_2_purchase_order)d" type="action" attrs="{'invisible': [('supplier', '=', False)]}" icon="fa-shopping-cart" groups="purchase.group_purchase_user"> <field string="Purchases" name="purchase_order_count" widget="statinfo" groups="purchase.group_purchase_user"/> </button> <!-- TODO --> <button class="oe_stat_button" type="action" name="%(account.action_open_partner_analytic_accounts)d" icon="fa-book" groups="account.group_account_invoice"> <field string="Analytic Accounts" name="contracts_count" widget="statinfo"/> </button> <button class="oe_stat_button" type="action" name="%(project.action_view_task)d" context="{'search_default_partner_id': active_id, 'default_partner_id': active_id}" icon="fa-tasks" groups="project.group_project_user"> <field string="Tasks" name="task_count" widget="statinfo"/> </button> <button name="%(coop_capital_certificate.act_capital_certificate_from_partner)d" type="action" groups="account.group_account_manager" class="oe_stat_button" icon="fa-money" help="View Capital Certificates"> <field name="capital_certificate_count" widget="statinfo" string="Capital Certif."/> </button> <button name="%(coop_shift.action_res_partner_point_counter_view_standard)d" type="action" class="oe_stat_button" icon="fa-star-o" help="View Partner Points Standard Counter" groups="coop_shift.group_shift_see_counter, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_lecture, coop_membership.group_membership_bdm_saisie" id="view_res_partner_point_counter_standard"> <field name="display_std_points" widget="statinfo" string="Standard Points"/> </button> <button name="%(coop_shift.action_res_partner_point_counter_view_ftop)d" type="action" class="oe_stat_button" icon="fa-star-o" help="View Partner Points FTOP Counter" groups="coop_shift.group_shift_see_counter, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_lecture, coop_membership.group_membership_bdm_saisie" id="view_res_partner_point_counter_ftop"> <field name="display_ftop_points" widget="statinfo" string="FTOP Points"/> </button> <button name="%(coop_membership.action_res_partner_owned_share)d" type="action" class="oe_stat_button" icon="fa-calendar" help="View Partner Owned Shares" groups="coop_membership.group_membership_access_manager"> <field name="total_partner_owned_share" widget="statinfo" string="Owned Shares"/> </button> </div> <field name="image" readonly="1" widget="image" class="oe_avatar" options="{"preview_image": "image_medium", "size": [90, 90]}"/> <div class="oe_title"> <field name="is_company" invisible="1"/> <field name="company_type" widget="radio" class="oe_edit_only" on_change="on_change_company_type(company_type)" options="{'horizontal': true}" groups="base.group_no_one"/> <h1> <field name="barcode_base" placeholder="Member Number" attrs="{'invisible': [('barcode_rule_id', '=', False)], 'readonly': [('generate_type', '!=', 'manual')]}"/> <field name="name" default_focus="1" placeholder="Name" attrs="{'required' : [('type', '=', 'contact')]}"/> </h1> <div class="o_row"> <field name="parent_id" placeholder="Company" domain="[('is_company', '=', True)]" context="{'default_is_company': True, 'default_supplier': supplier, 'default_customer': customer}" attrs="{'invisible': [('is_company','=', True),('parent_id', '=', False)]}" on_change="onchange_parent_id(parent_id)" groups="coop_membership.group_membership_see_associated_people"/> </div> </div> <group> <group> <group colspan="2"> <field name="related_user_id" attrs="{'invisible': [('related_user_id', '=', False)]}" context="{'form_view_ref': 'base.view_users_form'}"/> <button name="action_create_new_user" type="object" class="oe_highlight" string="Create New User" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user" attrs="{'invisible': [('related_user_id', '!=', False)]}"/> </group> <field name="type" attrs="{'invisible': [('parent_id','=', False)]}" groups="base.group_no_one"/> <label for="street" string="Address"/> <div class="o_address_format"> <div class="oe_edit_only"> <button name="open_parent" type="object" string="(edit)" class="oe_link" attrs="{'invisible': ['|', ('parent_id', '=', False), ('type', '!=', 'contact')]}" groups="coop_membership.group_membership_access_manager"/> </div> <field name="street" placeholder="Street..." class="o_address_street" attrs="{'readonly': [('type', '=', 'contact'),('parent_id', '!=', False)]}" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_saisie" /> <field name="street2" placeholder="Street 2..." class="o_address_street" attrs="{'readonly': [('type', '=', 'contact'),('parent_id', '!=', False)]}" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_saisie" /> <field name="city" placeholder="City" class="o_address_city" attrs="{'readonly': [('type', '=', 'contact'),('parent_id', '!=', False)]}" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_saisie" /> <field name="state_id" class="o_address_state" placeholder="State" options="{"no_open": True}" on_change="onchange_state(state_id)" attrs="{'readonly': [('type', '=', 'contact'),('parent_id', '!=', False)]}" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_saisie" context="{'country_id': country_id, 'zip': zip}"/> <field name="zip" placeholder="ZIP" class="o_address_zip" attrs="{'readonly': [('type', '=', 'contact'),('parent_id', '!=', False)]}" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_lecture, coop_membership.group_membership_bdm_saisie" /> <field name="country_id" placeholder="Country" class="o_address_country" options="{"no_open": True, "no_create": True}" attrs="{'readonly': [('type', '=', 'contact'),('parent_id', '!=', False)]}" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_saisie" /> </div> <field name="website" widget="url" placeholder="e.g. www.odoo.com" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user" /> </group> <group> <field name="function" placeholder="e.g. Sales Director" attrs="{'invisible': [('is_company','=', True)]}" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_saisie" /> <field name="phone" widget="phone" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_saisie" /> <field name="mobile" widget="phone" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_saisie" /> <field name="fax" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user" /> <field name="user_ids" invisible="1"/> <field name="notify_email" widget="radio" groups="coop_membership.group_membership_bdm_lecture, coop_membership.group_membership_bdm_saisie"/> <field name="opt_out" string="Mailing Opt-Out" groups="coop_membership.group_membership_bdm_lecture, coop_membership.group_membership_bdm_saisie"/> <field name="email" widget="email" attrs="{'required': [('user_ids','!=', [])]}" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_saisie"/> <field name="title" attrs="{'invisible':[ '|', '|', '|', '|', ('is_member','=', True), ('is_former_member', '=', True), ('is_associated_people', '=', True), ('is_former_associated_people', '=', True), ('is_interested_people', '=', True) ]}" options="{"no_open": True}" groups="coop_membership.group_membership_bdm_lecture, coop_membership.group_membership_bdm_saisie"/> <field name="lang" groups="coop_membership.group_membership_access_manager, coop_membership.group_membership_bdm_lecture, coop_membership.group_membership_bdm_saisie"/> <field name="category_id" widget="many2many_tags" placeholder="Tags..." groups="coop_membership.group_membership_access_manager, coop_membership.group_membership_bdm_saisie"/> </group> <group string="MemberShip" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user"> <field name="nb_associated_people" string="Number of Associated People" attrs="{'readonly': True, 'invisible': [('is_member','=',False),('is_former_member','=',False)]}" groups="coop_membership.group_membership_see_associated_people"/> <field name="barcode_rule_id" domain="[('generate_model', '=', 'res.partner')]" groups="barcodes_generate.generate_barcode" colspan="2"/> <field name="generate_type" invisible="1"/> <button name="generate_base" type="object" string="Generate Base (Using Sequence)" attrs="{'invisible': ['|',('generate_type', '!=', 'sequence'),('barcode_base', '!=', 0)]}" groups="barcodes_generate.generate_barcode" colspan="2"/> <field name="barcode" attrs="{'readonly': [('generate_type', '=', 'sequence')]}"/> <button name="generate_barcode" type="object" string="Generate Barcode (Using Barcode Rule)" attrs="{'invisible': ['|', '|', ('generate_type', '!=', 'sequence'), ('barcode_base', '!=', 0), ('barcode', '!=', '')]}" groups="barcodes_generate.generate_barcode" colspan="2"/> <button id="create_new_barcode" name="%(coop_membership.action_res_partner_generate_barcode_wizard)d" type="action" string="New Barcode (Card Lost)" class="oe_highlight" attrs="{'invisible': ['|', ('barcode', '=', False), ('barcode_rule_id', '=', False)]}" groups="barcodes_generate.generate_barcode" colspan="2"/> <field name="is_member" groups="coop_membership.group_membership_access_manager"/> <field name="badge_distribution_date" attrs="{'invisible': [('is_member', '=', False)]}"/> <field name="badge_to_distribute"/> <field name="is_worker_member" groups="coop_membership.group_membership_access_manager"/> <field name="is_associated_people" readonly="1" groups="coop_membership.group_membership_access_manager"/> <field name="is_interested_people" groups="coop_membership.group_membership_access_manager"/> <field name="is_former_member" groups="coop_membership.group_membership_access_manager"/> <field name="is_former_associated_people" groups="coop_membership.group_membership_access_manager"/> <field name="is_unpayed" groups="coop_membership.group_membership_access_manager"/> <field name="is_unsubscribed" groups="coop_membership.group_membership_access_manager"/> </group> <group string="Extra Data"> <field name="temp_coop_number" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user" /> <field name="birthdate" widget="date" attrs="{'required': [('is_member', '=', True)]}" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_saisie" /> <field name="age" attrs="{'invisible': [('age', '=', 0)]}" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_saisie" /> <field name="contact_origin_id" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user"> <tree> <field name="event_id"/> <field name="state" invisible="1"/> <field name="date_open"/> <field name="date_closed"/> </tree> </field> <field name="sex" attrs="{'required': True}"/> <field name="is_deceased" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_lecture, coop_membership.group_membership_bdm_saisie"/> <field name="date_of_death" attrs="{'invisible': [('is_deceased', '=', False)]}"/> </group> </group> <notebook colspan="4"> <page string="Contacts & Addresses" autofocus="autofocus" attrs="{'invisible': [('is_member', '=', False)]}"> <field name="child_ids" mode="kanban" context="{'default_parent_id': active_id, 'default_street': street, 'default_street2': street2, 'default_city': city, 'default_state_id': state_id, 'default_zip': zip, 'default_country_id': country_id, 'default_supplier': supplier, 'default_customer': customer, 'default_lang': lang,}"> <kanban create="false"> <field name="color"/> <field name="name"/> <field name="title" attrs="{'invisible': True}"/> <field name="type"/> <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="fax"/> <field name="state_id"/> <field name="image"/> <field name="lang"/> <templates> <t t-name="kanban-box"> <t t-set="color" t-value="kanban_color(record.color.raw_value)"/> <div t-att-class="color + (record.title.raw_value == 1 ? ' oe_kanban_color_alert' : '') + ' oe_kanban_global_click'"> <a t-if="!read_only_mode" type="delete" class="fa fa-times pull-right"/> <div class="o_kanban_image"> <img t-if="record.image.raw_value" t-att-src="'data:image/png;base64,'+record.image.raw_value"/> <t t-if="!record.image.raw_value"> <img t-if="record.type.raw_value === 'delivery'" t-att-src="_s + "/base/static/src/img/truck.png""/> <img t-if="record.type.raw_value === 'invoice'" t-att-src="_s + "/base/static/src/img/money.png""/> <t t-if="record.type.raw_value !== 'invoice' && record.type.raw_value !== 'delivery'"> <img t-if="record.is_company.raw_value === true" t-att-src="_s + "/base/static/src/img/company_image.png""/> <img t-if="record.is_company.raw_value === false" t-att-src="_s + "/base/static/src/img/avatar.png""/> </t> </t> </div> <div class="oe_kanban_details"> <field name="name"/> <div t-if="record.function.raw_value"> <field name="function"/> </div> <div t-if="record.email.raw_value"> <field name="email" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_saisie"/> </div> <div t-if="record.type.raw_value != 'contact'"> <div> <field name="zip"/> <field name="city"/> </div> <field t-if="record.state_id.raw_value" name="state_id"/> <field name="country_id"/> </div> <div t-if="record.phone.raw_value" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_saisie"> Phone: <field name="phone"/> </div> <div t-if="record.mobile.raw_value" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_saisie"> Mobile: <field name="mobile"/> </div> <div t-if="record.fax.raw_value"> Fax: <field name="fax"/> </div> </div> </div> </t> </templates> </kanban> <form string="Contact / Address" create="false"> <sheet> <field name="type" required="1" widget="radio" options="{'horizontal': true}" attrs="{'invisible': ['|', ('is_member', '=', True), ('is_associated_people', '=', True)]}"/> <field name="is_associated_people" invisible="1"/> <field name="is_member" invisible="1"/> <field name="image" readonly="1" widget="image" class="oe_avatar" options="{'preview_image': 'image_medium', 'size': [90, 90]}" attrs="{'invisible': [('is_member', '=', False), ('is_associated_people', '=', False)]}"/> <hr attrs="{'invisible': ['|', ('is_member', '=', True), ('is_associated_people', '=', True)]}"/> <group> <group groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_saisie"> <label for="street" string="Address"/> <div> <div class="o_address_format" name="div_address"> <field name="street" placeholder="Street..." class="o_address_street"/> <field name="street2" placeholder="Street 2..." class="o_address_street"/> <field name="city" placeholder="City" class="o_address_city"/> <field name="state_id" class="o_address_state" placeholder="State" options="{"no_open": True}" on_change="onchange_state(state_id)" context="{'country_id': country_id, 'zip': zip}"/> <field name="zip" placeholder="ZIP" class="o_address_zip"/> <field name="country_id" placeholder="Country" class="o_address_country" options="{"no_open": True, "no_create": True}"/> </div> </div> </group> <group> <field name="name" string="Contact Name" attrs="{'required' : [('type', '=', 'contact')]}"/> <field name="birthdate" widget="date" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_saisie"/> <field name="age" attrs="{'invisible': [('age', '=', 0)]}" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_saisie"/> <field name="function" placeholder="e.g. Sales Director" attrs="{'invisible': ['|', ('is_member', '=', True), ('is_associated_people', '=', True)]}" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_saisie"/> <field name="email" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_saisie"/> <field name="phone" widget="phone" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_saisie"/> <field name="mobile" widget="phone" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_saisie"/> <field name="sex" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_saisie" attrs="{'required': True}"/> <field name="comment" placeholder="internal note..." attrs="{'invisible': ['|', ('is_member', '=', True), ('is_associated_people', '=', True)]}" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_saisie"/> </group> </group> <field name="supplier" invisible="True"/> <field name="customer" invisible="True"/> <field name="lang" invisible="True"/> </sheet> </form> </field> </page> <page name="internal_notes" string="Internal Notes" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user,coop_membership.group_membership_bdm_saisie"> <field name="comment" placeholder="Internal note..."/> </page> <page name="sales_purchases" string="Sales & Purchases" groups="coop_membership.group_membership_access_manager, base.group_sale_salesman, purchase.group_purchase_user"> <group name="container_row_2"> <group string="Sale" name="sale"> <field name="customer"/> <field name="user_id" context="{'default_groups_ref': ['base.group_partner_manager']}"/> <group colspan="2" col="3"> <field name="purchase_target"/> <field name="target_type" nolabel="1"/> </group> <field name="property_product_pricelist" groups="product.group_sale_pricelist" attrs="{'invisible': [('is_company','=',False),('parent_id','!=',False)]}"/> <div name="parent_pricelists" groups="product.group_sale_pricelist" colspan="2" attrs="{'invisible': ['|',('is_company','=',True),('parent_id','=',False)]}"> <p>Pricelists are managed on <button name="open_commercial_entity" type="object" string="the parent company" class="oe_link"/> </p> </div> </group> <group string="Purchase" name="purchase"> <field name="supplier"/> <field name="property_purchase_currency_id" groups="base.group_multi_currency"/> </group> <group string="Misc"> <field name="ref"/> <field name="company_id" groups="base.group_multi_company" options="{'no_create': True}"/> </group> <group string="Payments" name="banks" groups="account.group_account_invoice"> <field name="currency_id" invisible="1"/> <div> <button type="action" class="btn-link" name="%(base.action_res_partner_bank_account_form)d" context="{'search_default_partner_id': active_id, 'default_partner_id': active_id}"> <field string="Bank account(s)" name="bank_account_count" widget="statinfo"/> </button> </div> <button type="action" class="btn-link" name="%(payment.payment_method_action)d" context="{'search_default_partner_id': active_id}"> <field name="payment_method_count" widget="statinfo" string="Credit card(s)"/> </button> </group> </group> <group name="container_row_stock" groups="base.group_no_one"> <group string="Warehouse" name="warehouse"> <field name="property_stock_customer" domain="[('usage','=','customer')]"/> <field name="property_stock_supplier" domain="[('usage','=','supplier')]"/> </group> </group> </page> <page string="Accounting" name="accounting" attrs="{'invisible': [('is_company','=',False),('parent_id','!=',False)]}" groups="account.group_account_invoice"> <group> <group string="Sale" name="acc_sale"> <field name="property_payment_term_id" widget="selection"/> <field name="credit" groups="base.group_no_one"/> </group> <group string="Purchase" name="acc_purchase"> <field name="property_supplier_payment_term_id" widget="selection"/> <field name="debit" groups="base.group_no_one"/> <field name="currency_id" invisible="1"/> </group> <group string="Fiscal Information" name="fiscal_information"> <field name="property_account_position_id" widget="selection"/> <label for="vat"/> <div name="vat_info" class="o_row"> <field name="vat" placeholder="e.g. BE0477472701"/> </div> </group> <group string="Accounting Entries" name="accounting_entries" groups="account.group_account_manager"> <field name="property_account_receivable_id"/> <field name="property_account_receivable_software"/> <field name="property_account_payable_id"/> <field name="default_purchase_journal_id" attrs="{'required': [('supplier', '=', True)], 'invisible': [('supplier', '=', False)]}" groups="account.group_account_manager"/> <field name="property_account_payable_software"/> </group> </group> </page> <page name="shifts" string="Shifts" attrs="{'invisible': [('is_member', '=', False)]}" groups="coop_membership.group_membership_access_user, coop_membership.group_membership_bdm_lecture,coop_membership.group_membership_bdm_saisie"> <group name="state"> <group name="state1" groups="coop_shift.group_shift_see_counter,coop_membership.group_membership_bdm_lecture,coop_membership.group_membership_bdm_saisie"> <field name="shift_type"/> <field name="is_blocked"/> <field name="is_exempted"/> <field name="is_vacation"/> <field name="date_alert_stop"/> <field name="date_delay_stop"/> </group> <group name="state2" groups="coop_shift.group_shift_see_counter,coop_membership.group_membership_access_user,coop_membership.group_membership_bdm_saisie,coop_membership.group_membership_bdm_lecture"> <field name="working_state"/> </group> </group> <group name="squadleader"> <field name="is_squadleader"/> <field name="template_ids"/> </group> <group name="button" groups="coop_shift.group_shift_manager,coop_membership.group_membership_bdm_saisie"> <button name="%(coop_shift.action_add_template_registration)d" type="action" class="oe_highlight" icon="fa-cogs" string="Add Template Registration" id="add_template_registration" attrs="{'invisible':[('is_worker_member','=',False)]}"/> </group> </page> <page name="page_capital_fundraising" string="Capital Subscriptions" groups="coop_membership.subscriptions_reader"> <group> <group string="Partner Type"> <field name="fundraising_partner_type_ids" widget="many2many_tags" readonly="1"/> <button name="set_underclass_population" type="object" string="Set 'Underclass Population'" colspan="2" class="oe_highlight" attrs="{'invisible': [('is_underclass_population', '=', True)]}"/> <button name="remove_underclass_population" type="object" string="Remove 'Underclass Population'" colspan="2" class="oe_highlight" attrs="{'invisible': [('is_underclass_population', '=', False)]}"/> <field name="is_underclass_population" invisible="1"/> </group> <group string="Subscriptions"> <field name="amount_subscription"/> <button id="new_subscription" name="%(capital_subscription.action_capital_fundraising_wizard)d" type="action" string="New Capital Subscription" class="oe_highlight" groups="coop_membership.subscriptions_creator"/> </group> </group> </page> <page string="Accounting" name="accounting_disabled" attrs="{'invisible': ['|',('is_company','=',True),('parent_id','=',False)]}" groups="account.group_account_invoice"> <div> <p>Accounting-related settings are managed on <button name="open_commercial_entity" type="object" string="the parent company" class="oe_link"/> </p> </div> </page> </notebook> </sheet> <!--TODO: bdm lecture should readonly mail message--> <div class="oe_chatter"> <field name="message_follower_ids" widget="mail_followers"/> <field name="message_ids" widget="mail_thread" options="{"thread_level": 1}"/> </div> </form> </field> </record> <!-- Default: Contacts menu will use native form view of res.partner We should override form view action of Contacts menu in "mail" module as well to make Odoo open same res_partner form --> <record id="mail.action_contacts_view_form" model="ir.actions.act_window.view"> <field eval="2" name="sequence"/> <field name="view_mode">form</field> <field name="view_id" ref="coop_membership.view_partner_form"/> <field name="act_window_id" ref="mail.action_contacts"/> </record> <!-- Search View --> <record model="ir.ui.view" id="view_res_partner_search"> <field name="model">res.partner</field> <field name="inherit_id" ref="base.view_res_partner_filter"/> <field name="arch" type="xml"> <field name="parent_id" position="after"> <field name="barcode_base" string="Member Number" filter_domain="[('barcode_base', '=', self), ('is_member', '=', True)]"/> <field name="is_member"/> <field name="is_associated_people"/> <field name="is_worker_member"/> <field name="is_former_member"/> <field name="is_former_associated_people"/> <field name="is_unpayed"/> <field name="is_unsubscribed"/> <field name="temp_coop_number"/> </field> </field> </record> <!-- TOREMOVE --> <record model="ir.ui.view" id="view_res_partner_form"> <field name="model">res.partner</field> <field name="inherit_id" ref="barcodes_generate.view_res_partner_form"/> <field name="active" eval="False"/> <field name="arch" type="xml"> <!-- Block reinitialisation of Barcode) --> <button name="generate_barcode" position="attributes"> <attribute name="attrs">{'invisible': ['|', '|', ('generate_type', '!=', 'sequence'), ('barcode_base', '!=', 0), ('barcode', '!=', '')]} </attribute> </button> <button name="generate_barcode" position="after"> <button id="create_new_barcode" name="%(action_res_partner_generate_barcode_wizard)d" type="action" string="New Barcode (Card Lost)" class="oe_highlight" attrs="{'invisible': ['|', ('barcode', '=', False), ('barcode_rule_id', '=', False)]}" groups="barcodes_generate.generate_barcode"/> </button> <xpath expr="//notebook/page[1]/field/form/sheet/group//field[@name='title']" position="after"> <field name="sex" attrs="{'required': True}"/> </xpath> </field> </record> <!-- TOREMOVE --> <record model="ir.ui.view" id="view_res_partner_form_coop_shift"> <field name="model">res.partner</field> <field name="inherit_id" ref="coop_shift.view_res_partner_shift_form"/> <field name="active" eval="False"/> <field name="arch" type="xml"> <xpath expr="//button[@id='add_template_registration']" position="attributes"> <attribute name="attrs">{'invisible':[('is_worker_member', '=', False)]} </attribute> </xpath> <xpath expr="//button[@id='view_partner_registrations']" position="attributes"> <attribute name="attrs">{'invisible':[('is_worker_member', '=', False)]} </attribute> </xpath> <xpath expr="//button[@id='view_partner_template_registrations']" position="attributes"> <attribute name="attrs">{'invisible':[('is_worker_member', '=', False)]} </attribute> </xpath> </field> </record> <!-- TOREMOVE --> <record id="view_res_partner_shift_form_shift_manager" model="ir.ui.view"> <field name="model">res.partner</field> <field name="name">res.partner.form.shift</field> <field name="inherit_id" ref="coop_shift.view_res_partner_shift_form"/> <field name="active" eval="False"/> <field name="arch" type="xml"> <button id="add_template_registration" position="attributes"> <attribute name="attrs"> {'invisible':[('is_worker_member','=',False)]} </attribute> </button> <button id="view_partner_template_registrations" position="attributes"> <attribute name="attrs"> {'invisible':[('is_worker_member','=',False)]} </attribute> </button> </field> </record> <record model="ir.ui.view" id="view_res_partner_form_subscription_manager"> <field name="model">res.partner</field> <field name="inherit_id" ref="coop_membership.view_partner_form"/> <field name="groups_id" eval="[(6,0,[ref('account.group_account_manager')])]"/> <field name="arch" type="xml"> <xpath expr="//field[@name='fundraising_partner_type_ids']" position="attributes"> <attribute name="readonly">0</attribute> </xpath> </field> </record> <record model="ir.ui.view" id="view_res_partner_form_membership"> <field name="model">res.partner</field> <field name="inherit_id" ref="coop_membership.view_partner_form"/> <field name="groups_id" eval="[(6,0,[ref('coop_membership.group_membership_bdm_lecture'), ref('coop_membership.group_membership_access_edit'), ref('coop_membership.group_membership_bdm_saisie') ])]"/> <field name="arch" type="xml"> <xpath expr="//field[@name='sex']" position="attributes"> <attribute name="readonly">True</attribute> </xpath> </field> </record> <record model="ir.ui.view" id="view_res_partner_form_membership_entry"> <field name="model">res.partner</field> <field name="inherit_id" ref="coop_membership.view_partner_form"/> <field name="groups_id" eval="[(6,0,[ref('coop_membership.group_membership_bdm_saisie') ])]"/> <field name="arch" type="xml"> <xpath expr="//field[@name='name']" position="attributes"> <attribute name="readonly">True</attribute> </xpath> <xpath expr="//field[@name='opt_out']" position="attributes"> <attribute name="readonly">True</attribute> </xpath> <xpath expr="//field[@name='notify_email']" position="attributes"> <attribute name="readonly">True</attribute> </xpath> <xpath expr="//field[@name='lang']" position="attributes"> <attribute name="readonly">True</attribute> </xpath> <xpath expr="//field[@name='category_id']" position="attributes"> <attribute name="readonly">True</attribute> </xpath> </field> </record> <record model="ir.ui.view" id="view_res_partner_form_membership_manager"> <field name="model">res.partner</field> <field name="inherit_id" ref="coop_membership.view_partner_form"/> <field name="groups_id" eval="[(6,0,[ref('coop_membership.group_membership_access_manager') ])]"/> <field name="priority">20</field> <field name="arch" type="xml"> <xpath expr="//field[@name='sex']" position="attributes"> <attribute name="readonly">False</attribute> </xpath> <xpath expr="//field[@name='name']" position="attributes"> <attribute name="readonly">False</attribute> </xpath> </field> </record> <record model="ir.ui.view" id="view_res_partner_form_edit_photo"> <field name="model">res.partner</field> <field name="inherit_id" ref="coop_membership.view_partner_form"/> <field name="groups_id" eval="[(6,0,[ref('coop_membership.group_membership_access_photo')])]"/> <field name="arch" type="xml"> <xpath expr="//sheet/field[@name='image']" position="attributes"> <attribute name="readonly">0</attribute> </xpath> </field> </record> <record id="view_membership_access_form_manager" model="ir.ui.view"> <field name="name">res.partner.membership.access.manager.form</field> <field name="model">res.partner</field> <field name="priority" eval="1"/> <field name="inherit_id" ref="coop_membership.view_partner_form"/> <field name="groups_id" eval="[(4, ref('group_membership_access_manager'))]"/> <field name="arch" type="xml"> <field name="barcode_base" position="attributes"> <attribute name="readonly" eval="False"/> </field> <field name="name" position="attributes"> <attribute name="readonly" eval="False"/> </field> </field> </record> <!-- Search View --> <record id="view_bdm_search" model="ir.ui.view"> <field name="name">res.partner.membership.access.search</field> <field name="model">res.partner</field> <field name="inherit_id" ref="base.view_res_partner_filter"/> <field name="arch" type="xml"> <field name="name" position="after"> <field name="barcode_base"/> <field name="ref"/> </field> </field> </record> <!-- Tree View --> <record id="view_bdm_tree" model="ir.ui.view"> <field name="name">res.partner.membership.access.tree</field> <field name="model">res.partner</field> <field eval="8" name="priority"/> <field name="arch" type="xml"> <tree string="Members"> <field name="barcode_base"/> <field name="display_name"/> <field name="phone" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user,coop_membership.group_membership_bdm_saisie"/> <field name="email" groups="coop_membership.group_membership_see_associated_people, coop_membership.group_membership_access_user,coop_membership.group_membership_bdm_saisie"/> <field name="cooperative_state"/> <field name="zip" groups="coop_membership.group_membership_bdm_lecture,coop_membership.group_membership_bdm_presence"/> </tree> </field> </record> <!-- No-create views for object res partner --> <record id="view_bdm_tree_no_create" model="ir.ui.view"> <field name="name">res.partner.membership.access.no.create.tree</field> <field name="model">res.partner</field> <field name="inherit_id" ref="coop_membership.view_bdm_tree"/> <field name="mode">primary</field> <field name="arch" type="xml"> <xpath expr="//tree" position="attributes"> <attribute name="create">false</attribute> </xpath> </field> </record> <record id="view_partner_form_no_create" model="ir.ui.view"> <field name="name">res.partner.membership.access.no.create.form</field> <field name="model">res.partner</field> <field name="inherit_id" ref="coop_membership.view_partner_form"/> <field name="mode">primary</field> <field name="arch" type="xml"> <xpath expr="//form" position="attributes"> <attribute name="create">false</attribute> </xpath> <xpath expr="/form/sheet/notebook/page/field[@name='child_ids']/kanban" position="attributes"> <attribute name="create">true</attribute> </xpath> <xpath expr="/form/sheet/notebook/page/field[@name='child_ids']/form" position="attributes"> <attribute name="create">true</attribute> </xpath> </field> </record> <!-- Todo: To remove this view: It is currently unremovable due to the view data defined in DB --> <record model="ir.ui.view" id="view_res_partner_form_base"> <field name="model">res.partner</field> <field name="inherit_id" ref="view_res_partner_form"/> <field name="active" eval="False"/> <field name="arch" type="xml"> <!-- Contact Sub form--> <xpath expr="//field[@name='child_ids']/form/sheet/field[@name='type']" position="after"> <field name="is_associated_people" invisible="1"/> <field name="is_member" invisible="1"/> <field name="image" widget="image" class="oe_avatar" options="{'preview_image': 'image_medium', 'size': [90, 90]}" attrs="{'invisible': [('is_member', '=', False), ('is_associated_people', '=', False)]}"/> </xpath> <xpath expr="//field[@name='child_ids']/form/sheet/field[@name='type']" position="attributes"> <attribute name="attrs">{'invisible': ['|', ('is_member', '=', True), ('is_associated_people', '=', True)]} </attribute> </xpath> <xpath expr="//field[@name='child_ids']/form/sheet/hr" position="attributes"> <attribute name="attrs">{'invisible': ['|', ('is_member', '=', True), ('is_associated_people', '=', True)]} </attribute> </xpath> <xpath expr="//field[@name='child_ids']/form/sheet//field[@name='title']" position="after"> <field name="birthdate" widget="date"/> <field name="age" attrs="{'invisible': [('age', '=', 0)]}"/> </xpath> <xpath expr="//field[@name='child_ids']/form/sheet//field[@name='function']" position="attributes"> <attribute name="attrs">{'invisible': ['|', ('is_member', '=', True), ('is_associated_people', '=', True)]} </attribute> </xpath> <xpath expr="//field[@name='child_ids']/form/sheet//field[@name='comment']" position="attributes"> <attribute name="attrs">{'invisible': ['|', ('is_member', '=', True), ('is_associated_people', '=', True)]} </attribute> </xpath> <!-- Move barcode_base field --> <field name="barcode_base" position="replace"/> <!-- New Page for Coop Data information --> <notebook position="inside"> <page string="Coop Data" name="coop_data"> <group> <group string="MemberShip" > <field name="nb_associated_people" string="Number of Associated People" attrs="{'readonly': True, 'invisible': [('is_member','=',False),('is_former_member','=',False)]}"/> <field name="barcode_base" string="Member Number" readonly="1"/> <field name="is_member"/> <field name="is_worker_member"/> <field name="is_associated_people" readonly="1"/> <field name="is_interested_people"/> <field name="is_former_member"/> <field name="is_former_associated_people"/> <field name="is_unpayed"/> <field name="is_unsubscribed"/> </group> <group string="Extra Data"> <field name="temp_coop_number"/> <field name="birthdate" widget="date" attrs="{'required': [('is_member', '=', True)]}"/> <field name="age" attrs="{'invisible': [('age', '=', 0)]}"/> <field name="sex"/> <field name="is_deceased"/> <field name="date_of_death" attrs="{'invisible': [('is_deceased', '=', False)]}"/> </group> </group> </page> </notebook> <!-- Smart Button for Owned Shares --> <div name="button_box" position="inside"> <button name="%(coop_membership.action_res_partner_owned_share)d" type="action" class="oe_stat_button" icon="fa-calendar" help="View Partner Owned Shares"> <field name="total_partner_owned_share" widget="statinfo" string="Owned Shares"/> </button> </div> </field> </record> <record id="view_res_partner_all_members_tree" model="ir.ui.view"> <field name="name">res.partner.all.members.tree</field> <field name="model">res.partner</field> <field eval="16" name="priority"/> <field name="arch" type="xml"> <tree string="Members"> <field name="barcode_base" string="Coop Number"/> <field name="display_name"/> <field name="is_member"/> <field name="is_worker_member"/> <field name="is_former_member"/> <field name="is_associated_people"/> <field name="is_former_associated_people"/> <field name="is_interested_people"/> </tree> </field> </record> <record id="account.partner_view_button_contracts_count" model="ir.ui.view"> <field name="groups_id" eval="[(6, 0, [ref('account.group_account_invoice')])]"/> </record> <!-- Actions on Members --> <record id="action_coop_membership_access_rights" model="ir.actions.act_window"> <field name="name">Members</field> <field name="type">ir.actions.act_window</field> <field name="res_model">res.partner</field> <field name="view_type">form</field> <field name="view_mode">tree,form,kanban</field> <field name="domain">[('is_member', '=', True)]</field> <field name="context">{'default_is_member':1}</field> <field name="search_view_id" ref="view_bdm_search"/> </record> </odoo>