Mam pole member_id= fields.Many2one('res.partner', string="Member"), a członek jest tworzony w moim module Building za pośrednictwem res.partner. Chcę pokazać niestandardowy formularz na member_id zamiast widoku formularza res.partner. Jak to jest możliwe??

Kod:

class CreateTicket(models.Model):
    _inherit = 'helpdesk.ticket'

    member_id = fields.Many2one('res.partner', string="Member", domain=[('company_type', '=', 'person')])
    office_no = fields.Char(string="Office No")
    floor = fields.Char(string="Floor")
    raised_by = fields.Char(string="Raised By")
    assigned = fields.Char('Assigned')

    @api.onchange('member_id')
    def onchange_member_id(self):
        obj=self.env['res.contract'].search([('membership_id','=',self.member_id.id)])
        self.floor = obj.sector_id.name
        self.office_no = obj.inventory_id.id

Kod XML:


<record model="ir.ui.view" id="create_ticket_inherit_view">
        <field name="name">Create Ticket</field>
        <field name="model">helpdesk.ticket</field>
        <field name="inherit_id" ref="helpdesk_basic.view_helpdesk_form"/>
        <field name="arch" type="xml">
            <xpath expr="//div[@name='button_box']/button[@name='action_get_attachments']" position="after">
                <button class="oe_stat_button" name="on_assigned"
                                type="object" icon="fa-tasks">
                            <field name="assigned" widget="statinfo"/>
                </button>
            </xpath>

            <xpath expr="//field[@name='priority']" position="after">
                <field name="member_id"/>
                <field name="office_no"/>
                <field name="floor"/>
                <field name="raised_by"/>
            </xpath>

        </field>
    </record>

Utworzyłem członka w innym modelu i chcę mieć ten widok, ale res.partner widok podstawowy jest wyświetlany za każdym razem.

1
Syed Hamza Bukhari 19 listopad 2019, 16:18

1 odpowiedź

Najlepsza odpowiedź

Użyj kontekstu, aby przekazać XML-Id formularza , który many2one powinien wyświetlić:

<field name="member_id"
         context="{'form_view_ref':'app_name.xmlID_of_form'}" />

Istnieje tree_view_ref, kanban_view_ref, które można wykorzystać w X2many polach

1
Charif DZ 20 listopad 2019, 15:33